==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_e7d6e9cc-f69d-4098-bc99-2475a13f5b26]...done ==> Making package: curl 8.17.0-1.1 (Fri Nov 7 08:47:17 2025) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.17.0-1/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.17.0-1.1 (Fri Nov 7 07:48:10 2025) ==> 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-1 0.42 MiB core/libmicrohttpd 1.0.2-1 0.61 MiB extra/perl-error 0.17030-2 0.04 MiB extra/perl-mailtools 2.22-2 0.10 MiB extra/perl-timedate 2.33-8 0.08 MiB extra/zlib-ng 2.2.5-1 0.26 MiB extra/git 2.51.2-2 29.25 MiB extra/patchelf 0.18.0-3 0.24 MiB extra/valgrind 3.25.1-3 74.45 MiB Total Installed Size: 105.45 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/5) Creating system user accounts... Creating group 'git' with GID 970. Creating user 'git' (git daemon user) with UID 970 and GID 970. (2/5) Reloading system manager configuration... Skipped: Current root is not booted. (3/5) Arming ConditionNeedsUpdate... (4/5) Checking for old perl modules... (5/5) 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:128: installing './compile' configure.ac:455: installing './config.guess' configure.ac:455: installing './config.sub' configure.ac:128: installing './install-sh' configure.ac:131: 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 curl debug memory tracking... 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.17.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 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 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/x509.h... 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... yes 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 for QUIC support and OpenSSL >= 3.3... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend 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 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 stdint.h... (cached) 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 run-time 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 long long... yes 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 MSG_NOSIGNAL... 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 threadsafe... 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 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 strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup 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 snprintf... 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 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 setmode... 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 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 packages/Makefile config.status: creating packages/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 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.17.0 SSL: enabled (OpenSSL v3+) 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) 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 (openssl + 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 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 configure: WARNING: HTTP3 is enabled but marked EXPERIMENTAL. Use with caution! 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_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-rename.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-share.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-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.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_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_proxy.lo CC libcurlu_la-http_ntlm.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-rename.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-share.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-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.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-mbedtls_threadlock.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_osslq.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-curl_path.lo CC curlx/libcurlu_la-base64.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-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-mbedtls_threadlock.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_osslq.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-curl_path.lo CC curlx/libcurl_la-base64.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-strparse.lo CC curlx/libcurl_la-strerr.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 Making all in . RENDER curl-config.1 make[2]: Entering directory '/startdir/src/build-curl/docs' RENDER runtests.1 RENDER wcurl.1 RENDER testcurl.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_COOKIESESSION.3 RENDER CURLOPT_COOKIELIST.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_ISSUERCERT.3 RENDER CURLOPT_PROXY_CRLFILE.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.3 RENDER CURLOPT_PROXY_SSLKEY_BLOB.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_headers.3 RENDER curl_mime_free.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_cleanup.3 RENDER curl_share_init.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_bname.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_strdup.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-dynbuf.o CC ../lib/curlx/curl-fopen.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-nonblock.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_bname.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_strdup.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 ../lib/curlx/libcurltool_la-base64.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-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 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 curl debug memory tracking... 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.17.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 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 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/x509.h... 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... yes 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 for QUIC support and OpenSSL >= 3.3... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend 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 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 stdint.h... (cached) 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 run-time 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 long long... yes 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 MSG_NOSIGNAL... 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 threadsafe... 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 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 strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup 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 snprintf... 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 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 setmode... 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 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 packages/Makefile config.status: creating packages/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 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.17.0 SSL: enabled (OpenSSL v3+) 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) 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 (openssl + 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 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 configure: WARNING: HTTP3 is enabled but marked EXPERIMENTAL. Use with caution! 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-base.lo CC libcurl_la-asyn-ares.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_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-rename.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-share.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-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.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_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-rename.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-share.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-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.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-mbedtls_threadlock.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_osslq.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-curl_path.lo CC curlx/libcurlu_la-base64.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-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-digest.lo CC vauth/libcurl_la-cram.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-mbedtls_threadlock.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_osslq.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-curl_path.lo CC curlx/libcurl_la-base64.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-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_rtmp.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-ldap.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-mbedtls_threadlock.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_ngtcp2.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-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-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 curl debug memory tracking... 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.17.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 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 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.10 checking for nettle_MD5Init in -lgnutls... no checking for nettle_MD5Init in -lnettle... yes 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 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 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 stdint.h... (cached) 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 run-time 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 long long... yes 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 MSG_NOSIGNAL... 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 threadsafe... 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 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 strdup can be linked... yes checking if strdup is prototyped... yes checking if strdup is compilable... yes checking if strdup usage allowed... yes checking if strdup 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 snprintf... 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 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 setmode... 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 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 packages/Makefile config.status: creating packages/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 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: -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.17.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) 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: no (--with-ngtcp2 --with-nghttp3, --with-quiche, --with-openssl-quic) 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 pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 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-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_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-rename.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-share.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-speedcheck.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strdup.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_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-rename.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-share.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-speedcheck.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strdup.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-mbedtls_threadlock.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_osslq.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-libssh2.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-curl_path.lo CC curlx/libcurlu_la-base64.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-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-mbedtls_threadlock.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_osslq.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-curl_path.lo CC curlx/libcurl_la-base64.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-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_rtmp.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-ldap.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-mbedtls_threadlock.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_ngtcp2.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_osslq.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-curl_quiche.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-vquic-tls.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.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-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-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm test-client-cert.prm test-client-eku-only.prm /usr/bin/openssl OpenSSL 3.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 2025) 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-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 Certificate generated: CA=test 300days prime256v1 test-client-cert Certificate generated: CA=test 300days prime256v1 test-client-eku-only 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/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 --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/strerr.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 --test 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 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 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 unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.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 > 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.17.0 (x86_64-pc-linux-gnu) * libcurl/8.17.0 OpenSSL/3.6.0 zlib/1.3.1 brotli/1.1.0 zstd/1.5.7 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.68.0 nghttp3/1.12.0 mit-krb5/1.21.3 * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt 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 * Host: * System: Linux arch-nspawn-2477516 6.12.49-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 25 Sep 2025 09:57:28 +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: 238128 * 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 0356 SKIPPED: curl lacks Debug support test 0358 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 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 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 74392 starting Runner 74391 starting Runner 74390 starting Runner 74389 starting Runner 74388 starting Runner 74387 starting Runner 74386 starting Runner 74385 starting Runner 74384 starting Runner 74383 starting Runner 74382 starting Runner 74381 starting Runner 74380 starting Runner 74379 starting Runner 74378 starting Runner 74377 starting Runner 74376 starting Runner 74375 starting Runner 74374 starting Runner 74373 starting Runner 74372 starting Runner 74371 starting Runner 74370 starting Runner 74369 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/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/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:42581/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 CMD (33792): ../libtool --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/valgrind25 ../src/curl -q --output log/4/curl25.out --include --trace-ascii log/4/trace25 --trace-time http://127.0.0.1:43573/want/25 -L --max-redirs 5 > log/4/stdout25 2> log/4/stderr25 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 74369) running test 24 in state 4 Runner 2 (id 74370) running test 23 in state 4 Runner 3 (id 74371) running test 22 in state 4 Runner 4 (id 74372) running test 21 in state 4 Runner 5 (id 74373) running test 20 in state 4 Runner 6 (id 74374) running test 19 in state 4 Runner 7 (id 74375) running test 18 in state 4 Runner 8 (id 74376) running test 17 in state 4 Runner 9 (id 74377) running test 16 in state 4 Runner 10 (id 74378) running test 15 in state 4 Runner 11 (id 74379) running test 14 in state 4 Runner 12 (id 74380) running test 13 in state 4 Runner 13 (id 74381) running test 12 in state 4 Runner 14 (id 74382) running test 11 in state 4 Runner 15 (id 74383) running test 10 in state 4 Runner 16 (id 74384) running test 9 in state 4 Runner 17 (id 74385) running test 8 in state 4 Runner 18 (id 74386) running test 7 in state 4 Runner 19 (id 74387) running test 6 in state 4 Runner 20 (id 74388) running test 5 in state 4 Runner 21 (id 74389) running test 4 in state 4 Runner 22 (id 74390) running test 3 in state 4 Runner 23 (id 74391) running test 2 in state 4 Runner 24 (id 74392) running test 1 in state 4 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 74732 port 43573 * pid http => 74732 74732 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/ dir 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 07:50:43.870997 Running HTTP IPv4 version on port 43573 07:50:43.871051 Wrote pid 74732 to log/4/server/http_server.pid 07:50:43.871072 Wrote port 43573 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 ==75388== ==75388== Process terminating with default action of signal 4 (SIGILL) ==75388== Illegal opcode at address 0x4013DC0 ==75388== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75388== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75388== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75388== by 0x40037A4: main (tool_main.c:199) === End of file valgrind21 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 74502 port 42581 * pid http => 74502 74502 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:42581/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/ dir 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:42581/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 07:50:42.463353 Running HTTP IPv4 version on port 42581 07:50:42.463408 Wrote pid 74502 to log/12/server/http_server.pid 07:50:42.463430 Wrote port 42581 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 ==75136== ==75136== Process terminating with default action of signal 4 (SIGILL) ==75136== Illegal opcode at address 0x4013DC0 ==75136== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75136== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75136== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75136== by 0x40037A4: main (tool_main.c:199) === End of file valgrind13 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/4/valgrind25 ../src/curl -q --output log/4/curl25.out --include --trace-ascii log/4/trace25 --trace-time http://127.0.0.1:43573/want/25 -L --max-redirs 5 > log/4/stdout25 2> log/4/stderr25 25: 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/ dir 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/4/valgrind25 ../src/curl -q --output log/4/curl25.out --include --trace-ascii log/4/trace25 --trace-time http://127.0.0.1:43573/want/25 -L --max-redirs 5 > log/4/stdout25 2> log/4/stderr25 === End of file commands.log === Start of file http_server.log 07:50:57.373053 ====> Client connect 07:50:57.373074 accept_connection 3 returned 4 07:50:57.373085 accept_connection 3 returned 0 07:50:57.373095 Read 93 bytes 07:50:57.373105 Process 93 bytes request 07:50:57.373116 Got request: GET /verifiedserver HTTP/1.1 07:50:57.373123 Are-we-friendly question received 07:50:57.373142 Wrote request (93 bytes) input to log/4/server.input 07:50:57.373156 Identifying ourselves as friends 07:50:57.373194 Response sent (56 bytes) and written to log/4/server.response 07:50:57.373201 special request received, no persistency 07:50:57.373208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 57124 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind25 ==75704== ==75704== Process terminating with default action of signal 4 (SIGILL) ==75704== Illegal opcode at address 0x4013DC0 ==75704== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==7570CMD (33792): ../libtool --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 CMD (33792): ../libtool --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/valgrind26 ../src/curl -q --output log/12/curl26.out --include --trace-ascii log/12/trace26 --trace-time http://127.0.0.1:42581/want/26 -o - -o - > log/12/stdout26 2> log/12/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/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:36147/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/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:44351/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 4== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75704== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75704== by 0x40037A4: main (tool_main.c:199) === End of file valgrind25 test 0020...[attempt connect to non-existing host 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/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 6 20: exit FAILED == Contents of files in the log/5/ dir 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 ==74740== ==74740== Process terminating with default action of signal 4 (SIGILL) ==74740== Illegal opcode at address 0x4013DC0 ==74740== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74740== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74740== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74740== by 0x40037A4: main (tool_main.c:199) === End of file valgrind20 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/12/valgrind26 ../src/curl -q --output log/12/curl26.out --include --trace-ascii log/12/trace26 --trace-time http://127.0.0.1:42581/want/26 -o - -o - > log/12/stdout26 2> log/12/stderr26 26: 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/ dir 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/12/valgrind26 ../src/curl -q --output log/12/curl26.out --include --trace-ascii log/12/trace26 --trace-time http://127.0.0.1:42581/want/26 -o - -o - > log/12/stdout26 2> log/12/stderr26 === End of file commands.log === Start of file http_server.log 07:50:56.507825 ====> Client connect 07:50:56.507851 accept_connection 3 returned 4 07:50:56.507862 accept_connection 3 returned 0 07:50:56.507872 Read 93 bytes 07:50:56.507883 Process 93 bytes request 07:50:56.507893 Got request: GET /verifiedserver HTTP/1.1 07:50:56.507900 Are-we-friendly question received 07:50:56.507919 Wrote request (93 bytes) input to log/12/server.input 07:50:56.507934 Identifying ourselves as friends 07:50:56.507984 Response sent (56 bytes) and written to log/12/server.response 07:50:56.507994 special request received, no persistency 07:50:56.508000 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42581... * Established connection to 127.0.0.1 (127.0.0.1 port 42581) from 127.0.0.1 port 37924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42581 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42581 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74502 === 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: 74502 === End of file server.response === Start of file valgrind26 ==75768== ==75768== Process terminating with default action of signal 4 (SIGILL) ==75768== Illegal opcode at address 0x4013DC0 ==75768== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75768== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75768== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75768== by 0x40037A4: main (tool_main.c:199) === End of file valgrind26 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 74664 port 36147 * pid http => 74664 74664 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:36147/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/ dir 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:36147/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 07:50:42.766174 Running HTTP IPv4 version on port 36147 07:50:42.766239 Wrote pid 74664 to log/8/server/http_server.pid 07:50:42.766262 Wrote port 36147 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 ==75333== ==75333== Process terminating with default action of signal 4 (SIGILL) ==75333== Illegal opcode at address 0x4013DC0 ==75333== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75333== by 0x40037A4: main (tool_main.c:199) === End of file valgrind17 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 74401 port 44351 * pid http => 74401 74401 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:44351/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/ dir 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/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/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:46763/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/4/valgrind27 ../src/curl -q --output log/4/curl27.out --include --trace-ascii log/4/trace27 --trace-time "http://127.0.0.1:43573/want/{27,27,27}" -b none > log/4/stdout27 2> log/4/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/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:35041/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 url9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:44351/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 07:50:42.062032 Running HTTP IPv4 version on port 44351 07:50:42.062084 Wrote pid 74401 to log/16/server/http_server.pid 07:50:42.062104 Wrote port 44351 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 ==74930== ==74930== Process terminating with default action of signal 4 (SIGILL) ==74930== Illegal opcode at address 0x4013DC0 ==74930== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74930== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74930== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74930== by 0x40037A4: main (tool_main.c:199) === 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/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 74399 port 46763 * pid http => 74399 74399 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:46763/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/ dir 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:46763/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 07:50:42.862213 Running HTTP IPv4 version on port 46763 07:50:42.862270 Wrote pid 74399 to log/18/server/http_server.pid 07:50:42.862292 Wrote port 46763 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 ==74721== ==74721== Process terminating with default action of signal 4 (SIGILL) ==74721== Illegal opcode at address 0x4013DC0 ==74721== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74721== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74721== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74721== by 0x40037A4: main (tool_main.c:199) === End of file valgrind7 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/4/valgrind27 ../src/curl -q --output log/4/curl27.out --include --trace-ascii log/4/trace27 --trace-time "http://127.0.0.1:43573/want/{27,27,27}" -b none > log/4/stdout27 2> log/4/stderr27 27: 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/ dir 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/4/valgrind27 ../src/curl -q --output log/4/curl27.out --include --trace-ascii log/4/trace27 --trace-time "http://127.0.0.1:43573/want/{27,27,27}" -b none > log/4/stdout27 2> log/4/stderr27 === End of file commands.log === Start of file http_server.log 07:50:58.027385 ====> Client connect 07:50:58.027406 accept_connection 3 returned 4 07:50:58.027418 accept_connection 3 returned 0 07:50:58.027428 Read 93 bytes 07:50:58.027436 Process 93 bytes request 07:50:58.027445 Got request: GET /verifiedserver HTTP/1.1 07:50:58.027453 Are-we-friendly question received 07:50:58.027473 Wrote request (93 bytes) input to log/4/server.input 07:50:58.027484 Identifying ourselves as friends 07:50:58.027520 Response sent (56 bytes) and written to log/4/server.response 07:50:58.027527 special request received, no persistency 07:50:58.027534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 57138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind27 ==75841== ==75841== Process terminating with default action of signal 4 (SIGILL) ==75841== Illegal opcode at address 0x4013DC0 ==75841== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75841== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75841== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75841== by 0x40037A4: main (tool_main.c:199) === 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/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 74452 port 35041 * pid http => 74452 74452 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:35041/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/ dir 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:35041/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 07:50:42.363282 Running HTTP IPv4 version on port 35041 07:50:42.363426 Wrote pid 74452 to log/13/server/http_server.pid 07:50:42.363448 Wrote port 35041 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 ==75085== ==75085== Process terminating with default action of signal 4 (SIGILL) ==75085== Illegal opcode at address 0x4013DC0 ==75085== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75085== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75085== by 0x40037A4: UnknownInlinCMD (33792): ../libtool --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/valgrind29 ../src/curl -q --output log/12/curl29.out --include --trace-ascii log/12/trace29 --trace-time http://127.0.0.1:42581/want/29 -m 2 > log/12/stdout29 2> log/12/stderr29 RUN: Process with pid 74502 signalled to die RUN: Process with pid 74502 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/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:40357/we/want/that/page/5#5 -x 127.0.0.1:40357 > 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/8/valgrind30 ../src/curl -q --output log/8/curl30.out --include --trace-ascii log/8/trace30 --trace-time http://127.0.0.1:36147/want/30 > log/8/stdout30 2> log/8/stderr30 CMD (33792): ../libtool --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:34115/want/11 -L > log/14/stdout11 2> log/14/stderr11 edFun (tool_operate.c:2234) ==75085== by 0x40037A4: main (tool_main.c:199) === End of file valgrind12 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/12/valgrind29 ../src/curl -q --output log/12/curl29.out --include --trace-ascii log/12/trace29 --trace-time http://127.0.0.1:42581/want/29 -m 2 > log/12/stdout29 2> log/12/stderr29 29: 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/ dir 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/12/valgrind29 ../src/curl -q --output log/12/curl29.out --include --trace-ascii log/12/trace29 --trace-time http://127.0.0.1:42581/want/29 -m 2 > log/12/stdout29 2> log/12/stderr29 === End of file commands.log === Start of file http_server.log 07:50:57.108379 ====> Client connect 07:50:57.108403 accept_connection 3 returned 4 07:50:57.108415 accept_connection 3 returned 0 07:50:57.108425 Read 93 bytes 07:50:57.108432 Process 93 bytes request 07:50:57.108441 Got request: GET /verifiedserver HTTP/1.1 07:50:57.108449 Are-we-friendly question received 07:50:57.108467 Wrote request (93 bytes) input to log/12/server.input 07:50:57.108479 Identifying ourselves as friends 07:50:57.108517 Response sent (56 bytes) and written to log/12/server.response 07:50:57.108524 special request received, no persistency 07:50:57.108531 ====> Client disconnect 0 exit_signal_handler: called 07:50:57.708788 signalled to die 07:50:57.708856 ========> IPv4 sws (port 42581 pid: 74502) exits with signal (15) 07:50:57.708866 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42581... * Established connection to 127.0.0.1 (127.0.0.1 port 42581) from 127.0.0.1 port 37926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42581 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42581 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74502 === 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: 74502 === End of file server.response === Start of file valgrind29 ==75904== ==75904== Process terminating with default action of signal 4 (SIGILL) ==75904== Illegal opcode at address 0x4013DC0 ==75904== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75904== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75904== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75904== by 0x40037A4: main (tool_main.c:199) === End of file valgrind29 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 74397 port 40357 * pid http => 74397 74397 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:40357/we/want/that/page/5#5 -x 127.0.0.1:40357 > 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/ dir 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:40357/we/want/that/page/5#5 -x 127.0.0.1:40357 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 07:50:41.659721 Running HTTP IPv4 version on port 40357 07:50:41.659778 Wrote pid 74397 to log/20/server/http_server.pid 07:50:41.659799 Wrote port 40357 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 ==74615== ==74615== Process terminating with default action of signal 4 (SIGILL) ==74615== Illegal opcode at address 0x4013DC0 ==74615== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74615== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74615== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74615== by 0x40037A4: main (tool_main.c:199) === End of file valgrind5 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/8/valgrind30 ../src/curl -q --output log/8/curl30.out --include --trace-ascii log/8/trace30 --trace-time http://127.0.0.1:36147/want/30 > log/8/stdout30 2> log/8/stderr30 30: 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/ dir 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/valgrind.supp --num-callers=16 --log-file=log/8/valgrind30 ../src/curl -q --output log/8/curl30.out --include --trace-ascii log/8/trace30 --trace-time http://127.0.0.1:36147/want/30 > log/8/stdout30 2> log/8/stderr30 === End of file commands.log === Start of file http_server.log 07:50:57.503246 ====> Client connect 07:50:57.503269 accept_connection 3 returned 4 07:50:57.503281 accept_connection 3 returned 0 07:50:57.503291 Read 93 bytes 07:50:57.503304 Process 93 bytes request 07:50:57.503316 Got request: GET /verifiedserver HTTP/1.1 07:50:57.503324 Are-we-friendly question received 07:50:57.503342 Wrote request (93 bytes) input to log/8/server.input 07:50:57.503357 Identifying ourselves as friends 07:50:57.503401 Response sent (56 bytes) and written to log/8/server.response 07:50:57.503411 special request received, no persistency 07:50:57.503419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 59008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind30 ==75982== ==75982== Process terminating with default action of signal 4 (SIGILL) ==75982== Illegal opcode at address 0x4013DC0 ==75982== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75982== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75982== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75982== by 0x40037A4: main (tool_main.c:199) === End of file valgrind30 startnew: /usr/bin/perl -I. -I/startdiCMD (33792): ../libtool --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/valgrind31 ../src/curl -q --output log/16/curl31.out --include --trace-ascii log/16/trace31 --trace-time http://test31.curl:44351/we/want/31 -b none -c log/16/jar31.txt --resolve test31.curl:44351:127.0.0.1 > log/16/stdout31 2> log/16/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/valgrind32 ../src/curl -q --output log/18/curl32.out --include --trace-ascii log/18/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46763/32 -G > log/18/stdout32 2> log/18/stderr32 CMD (33792): ../libtool --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:34835/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 r/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 74404 port 34115 * pid http => 74404 74404 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:34115/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/ dir 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/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:34115/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 07:50:42.261670 Running HTTP IPv4 version on port 34115 07:50:42.261723 Wrote pid 74404 to log/14/server/http_server.pid 07:50:42.261745 Wrote port 34115 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 ==75035== ==75035== Process terminating with default action of signal 4 (SIGILL) ==75035== Illegal opcode at address 0x4013DC0 ==75035== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75035== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75035== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75035== by 0x40037A4: main (tool_main.c:199) === End of file valgrind11 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/16/valgrind31 ../src/curl -q --output log/16/curl31.out --include --trace-ascii log/16/trace31 --trace-time http://test31.curl:44351/we/want/31 -b none -c log/16/jar31.txt --resolve test31.curl:44351:127.0.0.1 > log/16/stdout31 2> log/16/stderr31 31: 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/ dir 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/16/valgrind31 ../src/curl -q --output log/16/curl31.out --include --trace-ascii log/16/trace31 --trace-time http://test31.curl:44351/we/want/31 -b none -c log/16/jar31.txt --resolve test31.curl:44351:127.0.0.1 > log/16/stdout31 2> log/16/stderr31 === End of file commands.log === Start of file http_server.log 07:50:57.627894 ====> Client connect 07:50:57.627921 accept_connection 3 returned 4 07:50:57.627934 accept_connection 3 returned 0 07:50:57.627946 Read 93 bytes 07:50:57.627956 Process 93 bytes request 07:50:57.627969 Got request: GET /verifiedserver HTTP/1.1 07:50:57.627976 Are-we-friendly question received 07:50:57.628000 Wrote request (93 bytes) input to log/16/server.input 07:50:57.628016 Identifying ourselves as friends 07:50:57.628065 Response sent (56 bytes) and written to log/16/server.response 07:50:57.628077 special request received, no persistency 07:50:57.628085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 54554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind31 ==76086== ==76086== Process terminating with default action of signal 4 (SIGILL) ==76086== Illegal opcode at address 0x4013DC0 ==76086== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76086== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76086== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76086== by 0x40037A4: main (tool_main.c:199) === End of file valgrind31 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/18/valgrind32 ../src/curl -q --output log/18/curl32.out --include --trace-ascii log/18/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46763/32 -G > log/18/stdout32 2> log/18/stderr32 32: 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/ dir 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/18/valgrind32 ../src/curl -q --output log/18/curl32.out --include --trace-ascii log/18/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46763/32 -G > log/18/stdout32 2> log/18/stderr32 === End of file commands.log === Start of file http_server.log 07:50:58.630544 ====> Client connect 07:50:58.630576 accept_connection 3 returned 4 07:50:58.630591 accept_connection 3 returned 0 07:50:58.630602 Read 93 bytes 07:50:58.630614 Process 93 bytes request 07:50:58.630625 Got request: GET /verifiedserver HTTP/1.1 07:50:58.630633 Are-we-friendly question received 07:50:58.630650 Wrote request (93 bytes) input to log/18/server.input 07:50:58.630665 Identifying ourselves as friends 07:50:58.630714 Response sent (56 bytes) and written to log/18/server.response 07:50:58.630725 special request received, no persistency 07:50:58.630732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 38312 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind32 ==76079== ==76079== Process terminating with default action of signal 4 (SIGILL) ==76079== Illegal opcode at address 0x4013DC0 ==76079== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76079== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76079== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76079== by 0x40037A4: main (tool_main.c:199) === End of file valgrind32 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_CMD (33792): ../libtool --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/valgrind33 ../src/curl -q --output log/4/curl33.out --include --trace-ascii log/4/trace33 --trace-time http://127.0.0.1:43573/33 -Tlog/4/test33.txt -C 50 > log/4/stdout33 2> log/4/stderr33 CMD (33792): ../libtool --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/valgrind34 ../src/curl -q --output log/13/curl34.out --include --trace-ascii log/13/trace34 --trace-time http://127.0.0.1:35041/34 > log/13/stdout34 2> log/13/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/20/valgrind36 ../src/curl -q --output log/20/curl36.out --include --trace-ascii log/20/trace36 --trace-time http://127.0.0.1:40357/36 > log/20/stdout36 2> log/20/stderr36 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 74398 port 34835 * pid http => 74398 74398 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:34835/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/ dir 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:34835/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 07:50:41.759813 Running HTTP IPv4 version on port 34835 07:50:41.759868 Wrote pid 74398 to log/19/server/http_server.pid 07:50:41.759890 Wrote port 34835 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 ==74665== ==74665== Process terminating with default action of signal 4 (SIGILL) ==74665== Illegal opcode at address 0x4013DC0 ==74665== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74665== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74665== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74665== by 0x40037A4: main (tool_main.c:199) === End of file valgrind6 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/4/valgrind33 ../src/curl -q --output log/4/curl33.out --include --trace-ascii log/4/trace33 --trace-time http://127.0.0.1:43573/33 -Tlog/4/test33.txt -C 50 > log/4/stdout33 2> log/4/stderr33 33: 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/ dir 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/4/valgrind33 ../src/curl -q --output log/4/curl33.out --include --trace-ascii log/4/trace33 --trace-time http://127.0.0.1:43573/33 -Tlog/4/test33.txt -C 50 > log/4/stdout33 2> log/4/stderr33 === End of file commands.log === Start of file http_server.log 07:50:58.637399 ====> Client connect 07:50:58.637421 accept_connection 3 returned 4 07:50:58.637433 accept_connection 3 returned 0 07:50:58.637444 Read 93 bytes 07:50:58.637452 Process 93 bytes request 07:50:58.637461 Got request: GET /verifiedserver HTTP/1.1 07:50:58.637468 Are-we-friendly question received 07:50:58.637496 Wrote request (93 bytes) input to log/4/server.input 07:50:58.637509 Identifying ourselves as friends 07:50:58.637546 Response sent (56 bytes) and written to log/4/server.response 07:50:58.637554 special request received, no persistency 07:50:58.637561 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 57150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === 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 ==76103== ==76103== Process terminating with default action of signal 4 (SIGILL) ==76103== Illegal opcode at address 0x4013DC0 ==76103== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76103== by 0x40037A4: main (tool_main.c:199) === 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/13/valgrind34 ../src/curl -q --output log/13/curl34.out --include --trace-ascii log/13/trace34 --trace-time http://127.0.0.1:35041/34 > log/13/stdout34 2> log/13/stderr34 34: 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/ dir 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/13/valgrind34 ../src/curl -q --output log/13/curl34.out --include --trace-ascii log/13/trace34 --trace-time http://127.0.0.1:35041/34 > log/13/stdout34 2> log/13/stderr34 === End of file commands.log === Start of file http_server.log 07:50:57.715394 ====> Client connect 07:50:57.715417 accept_connection 3 returned 4 07:50:57.715430 accept_connection 3 returned 0 07:50:57.715441 Read 93 bytes 07:50:57.715452 Process 93 bytes request 07:50:57.715464 Got request: GET /verifiedserver HTTP/1.1 07:50:57.715472 Are-we-friendly question received 07:50:57.715490 Wrote request (93 bytes) input to log/13/server.input 07:50:57.715505 Identifying ourselves as friends 07:50:57.715547 Response sent (56 bytes) and written to log/13/server.response 07:50:57.715558 special request received, no persistency 07:50:57.715565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 51304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind34 ==76241== ==76241== Process terminating with default action of signal 4 (SIGILL) ==76241== Illegal opcode at address 0x4013DC0 ==76241== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76241== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76241== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76241== by 0x40037A4: main (tool_main.c:199) === End of file valgrind34 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/20/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/5/valgrind28 ../src/curl -q --output log/5/curl28.out --include --trace-ascii log/5/trace28 --trace-time http://127.0.0.1:42797/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/8/valgrind37 ../src/curl -q --output log/8/curl37.out --include --trace-ascii log/8/trace37 --trace-time http://127.0.0.1:36147/37 > log/8/stdout37 2> log/8/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/14/valgrind38 ../src/curl -q --include --trace-ascii log/14/trace38 --trace-time http://127.0.0.1:34115/want/38 -C - --no-include -o log/14/fewl38.txt > log/14/stdout38 2> log/14/stderr38 d36 ../src/curl -q --output log/20/curl36.out --include --trace-ascii log/20/trace36 --trace-time http://127.0.0.1:40357/36 > log/20/stdout36 2> log/20/stderr36 36: 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/ dir 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/20/valgrind36 ../src/curl -q --output log/20/curl36.out --include --trace-ascii log/20/trace36 --trace-time http://127.0.0.1:40357/36 > log/20/stdout36 2> log/20/stderr36 === End of file commands.log === Start of file http_server.log 07:50:57.930344 ====> Client connect 07:50:57.930368 accept_connection 3 returned 4 07:50:57.930397 accept_connection 3 returned 0 07:50:57.930409 Read 93 bytes 07:50:57.930420 Process 93 bytes request 07:50:57.930432 Got request: GET /verifiedserver HTTP/1.1 07:50:57.930440 Are-we-friendly question received 07:50:57.930463 Wrote request (93 bytes) input to log/20/server.input 07:50:57.930479 Identifying ourselves as friends 07:50:57.930526 Response sent (56 bytes) and written to log/20/server.response 07:50:57.930536 special request received, no persistency 07:50:57.930544 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 44958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind36 ==76313== ==76313== Process terminating with default action of signal 4 (SIGILL) ==76313== Illegal opcode at address 0x4013DC0 ==76313== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76313== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76313== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76313== by 0x40037A4: main (tool_main.c:199) === End of file valgrind36 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 75828 port 42797 * pid http => 75828 75828 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:42797/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/ dir 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:42797/want/28 -L > log/5/stdout28 2> log/5/stderr28 === End of file commands.log === Start of file http_server.log 07:50:57.031111 Running HTTP IPv4 version on port 42797 07:50:57.031177 Wrote pid 75828 to log/5/server/http_server.pid 07:50:57.031199 Wrote port 42797 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 ==76370== ==76370== Process terminating with default action of signal 4 (SIGILL) ==76370== Illegal opcode at address 0x4013DC0 ==76370== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76370== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76370== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76370== by 0x40037A4: main (tool_main.c:199) === End of file valgrind28 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/8/valgrind37 ../src/curl -q --output log/8/curl37.out --include --trace-ascii log/8/trace37 --trace-time http://127.0.0.1:36147/37 > log/8/stdout37 2> log/8/stderr37 37: 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/ dir 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/8/valgrind37 ../src/curl -q --output log/8/curl37.out --include --trace-ascii log/8/trace37 --trace-time http://127.0.0.1:36147/37 > log/8/stdout37 2> log/8/stderr37 === End of file commands.log === Start of file http_server.log 07:50:58.173026 ====> Client connect 07:50:58.173049 accept_connection 3 returned 4 07:50:58.173062 accept_connection 3 returned 0 07:50:58.173073 Read 93 bytes 07:50:58.173081 Process 93 bytes request 07:50:58.173091 Got request: GET /verifiedserver HTTP/1.1 07:50:58.173099 Are-we-friendly question received 07:50:58.173116 Wrote request (93 bytes) input to log/8/server.input 07:50:58.173129 Identifying ourselves as friends 07:50:58.173167 Response sent (56 bytes) and written to log/8/server.response 07:50:58.173175 special request received, no persistency 07:50:58.173182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 59018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind37 ==76455== ==76455== Process terminating with default action of signal 4 (SIGILL) ==76455== Illegal opcode at address 0x4013DC0 ==76455== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76455== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76455== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76455== by 0x40037A4: main (tool_main.c:199) === 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/14/valgrind38 ../src/curl -q --include --trace-ascii log/14/trace38 --trace-time http://127.0.0.1:34115/want/38 -C - --no-include -o log/14/fewl38.txt > log/14/stdout38 2> log/14/stderr38 38: 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/ diCMD (33792): ../libtool --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/valgrind40 ../src/curl -q --output log/18/curl40.out --include --trace-ascii log/18/trace40 --trace-time http://127.0.0.1:46763/we/are/all/twits/40 -L > log/18/stdout40 2> log/18/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/4/valgrind42 ../src/curl -q --output log/4/curl42.out --include --trace-ascii log/4/trace42 --trace-time http://127.0.0.1:43573/we/are/all/twits/42 -L > log/4/stdout42 2> log/4/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/19/valgrind41 ../src/curl -q --output log/19/curl41.out --include --trace-ascii log/19/trace41 --trace-time http://127.0.0.1:34835/want/41 -F moo=@boo > log/19/stdout41 2> log/19/stderr41 r 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/14/valgrind38 ../src/curl -q --include --trace-ascii log/14/trace38 --trace-time http://127.0.0.1:34115/want/38 -C - --no-include -o log/14/fewl38.txt > log/14/stdout38 2> log/14/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 07:50:58.174289 ====> Client connect 07:50:58.174324 accept_connection 3 returned 4 07:50:58.174344 accept_connection 3 returned 0 07:50:58.174360 Read 93 bytes 07:50:58.174375 Process 93 bytes request 07:50:58.174392 Got request: GET /verifiedserver HTTP/1.1 07:50:58.174403 Are-we-friendly question received 07:50:58.174429 Wrote request (93 bytes) input to log/14/server.input 07:50:58.174452 Identifying ourselves as friends 07:50:58.174552 Response sent (56 bytes) and written to log/14/server.response 07:50:58.174572 special request received, no persistency 07:50:58.174584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 42368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind38 ==76459== ==76459== Process terminating with default action of signal 4 (SIGILL) ==76459== Illegal opcode at address 0x4013DC0 ==76459== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind38 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/4/valgrind42 ../src/curl -q --output log/4/curl42.out --include --trace-ascii log/4/trace42 --trace-time http://127.0.0.1:43573/we/are/all/twits/42 -L > log/4/stdout42 2> log/4/stderr42 42: 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/ dir 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/4/valgrind42 ../src/curl -q --output log/4/curl42.out --include --trace-ascii log/4/trace42 --trace-time http://127.0.0.1:43573/we/are/all/twits/42 -L > log/4/stdout42 2> log/4/stderr42 === End of file commands.log === Start of file http_server.log 07:50:59.333523 ====> Client connect 07:50:59.333546 accept_connection 3 returned 4 07:50:59.333559 accept_connection 3 returned 0 07:50:59.333570 Read 93 bytes 07:50:59.333578 Process 93 bytes request 07:50:59.333587 Got request: GET /verifiedserver HTTP/1.1 07:50:59.333595 Are-we-friendly question received 07:50:59.333614 Wrote request (93 bytes) input to log/4/server.input 07:50:59.333627 Identifying ourselves as friends 07:50:59.333667 Response sent (56 bytes) and written to log/4/server.response 07:50:59.333676 special request received, no persistency 07:50:59.333684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 57158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === End of file http_verify.out === Start of file server.cmd Testnum 42 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74732 === End of file server.response === Start of file valgrind42 ==76652== ==76652== Process terminating with default action of signal 4 (SIGILL) ==76652== Illegal opcode at address 0x4013DC0 ==76652== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76652== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76652== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76652== by 0x40037A4: main (tool_main.c:199) === End of file valgrind42 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/18/valgrind40 ../src/curl -q --output log/18/curl40.out --include --trace-ascii log/18/trace40 --trace-time http://127.0.0.1:46763/we/are/all/twits/40 -L > log/18/stdout40 2> log/18/stderr40 40: 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/ dir 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/18/valgrind40 ../src/curl -q --output log/18/curl40.out --include --trace-ascii log/18/trace40 --trace-time http://127.0.0.1:46763/we/are/all/twits/40 -L > log/18/stdout40 2> log/18/stderr40 === End of file commands.log === Start of file http_server.log 07:50:59.327686 ====> Client connect 07:50:59.327719 accept_connection 3 returned 4 07:50:59.327735 accept_connection 3 returned 0 07:50:59.327748 Read 93 bytes 07:50:59.327780 Process 93 bytes request 07:50:59.327799 Got request: GET /verifiedserver HTTP/1.1 07:50:59.327808 Are-we-friendly question received 07:50:59.327839 Wrote request (93 bytes) input to log/18/server.input 07:50:59.327854 Identifying ourselves as friends 07:50:59.327910 Response sent (56 bytes) and written to log/18/server.response 07:50:59.327919 special request received, no persistency 07:50:59.327926 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 38316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind40 ==76623== ==76623== Process terminating with default action of signal 4 (SIGILL) ==76623== Illegal opcode at address 0x4013DC0 ==76623== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76623== by 0x40037A4: main (tool_main.c:199) === 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/16/valgrind39 ../src/curl -q --output log/16/curl39.out --include --trace-ascii log/16/trace39 --trace-time http://127.0.0.1:44351/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/16/stdout39 2> log/16/stderr39 CMD (33792): ../libtool --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/valgrind43 ../src/curl -q --output log/13/curl43.out --include --trace-ascii log/13/trace43 --trace-time http://127.0.0.1:35041/want/43 -L -x 127.0.0.1:35041 > log/13/stdout43 2> log/13/stderr43 lgrind40 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/19/valgrind41 ../src/curl -q --output log/19/curl41.out --include --trace-ascii log/19/trace41 --trace-time http://127.0.0.1:34835/want/41 -F moo=@boo > log/19/stdout41 2> log/19/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/19/ dir 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/19/valgrind41 ../src/curl -q --output log/19/curl41.out --include --trace-ascii log/19/trace41 --trace-time http://127.0.0.1:34835/want/41 -F moo=@boo > log/19/stdout41 2> log/19/stderr41 === End of file commands.log === Start of file http_server.log 07:50:58.329151 ====> Client connect 07:50:58.329194 accept_connection 3 returned 4 07:50:58.329210 accept_connection 3 returned 0 07:50:58.329223 Read 93 bytes 07:50:58.329238 Process 93 bytes request 07:50:58.329252 Got request: GET /verifiedserver HTTP/1.1 07:50:58.329260 Are-we-friendly question received 07:50:58.329280 Wrote request (93 bytes) input to log/19/server.input 07:50:58.329296 Identifying ourselves as friends 07:50:58.329345 Response sent (56 bytes) and written to log/19/server.response 07:50:58.329356 special request received, no persistency 07:50:58.329364 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 45246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind41 ==76616== ==76616== Process terminating with default action of signal 4 (SIGILL) ==76616== Illegal opcode at address 0x4013DC0 ==76616== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76616== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76616== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76616== by 0x40037A4: main (tool_main.c:199) === End of file valgrind41 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/16/valgrind39 ../src/curl -q --output log/16/curl39.out --include --trace-ascii log/16/trace39 --trace-time http://127.0.0.1:44351/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/16/stdout39 2> log/16/stderr39 39: 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/ dir 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/16/valgrind39 ../src/curl -q --output log/16/curl39.out --include --trace-ascii log/16/trace39 --trace-time http://127.0.0.1:44351/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/16/stdout39 2> log/16/stderr39 === End of file commands.log === Start of file http_server.log 07:50:58.327633 ====> Client connect 07:50:58.327656 accept_connection 3 returned 4 07:50:58.327670 accept_connection 3 returned 0 07:50:58.327681 Read 93 bytes 07:50:58.327689 Process 93 bytes request 07:50:58.327699 Got request: GET /verifiedserver HTTP/1.1 07:50:58.327706 Are-we-friendly question received 07:50:58.327727 Wrote request (93 bytes) input to log/16/server.input 07:50:58.327739 Identifying ourselves as friends 07:50:58.327780 Response sent (56 bytes) and written to log/16/server.response 07:50:58.327788 special request received, no persistency 07:50:58.327797 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 54570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === End of file http_verify.out === Start of file server.cmd Testnum 39 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74401 === End of file server.response === Start of file test39.txt foo bar This is a bar foo bar foo === End of file test39.txt === Start of file valgrind39 ==76638== ==76638== Process terminating with default action of signal 4 (SIGILL) ==76638== Illegal opcode at address 0x4013DC0 ==76638== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76638== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76638== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76638== by 0x40037A4: main (tool_main.c:199) === End of file valgrind39 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/13/valgrind43 ../src/curl -q --output log/13/curl43.out --include --trace-ascii log/13/trace43 --trace-time http://127.0.0.1:35041/want/43 -L -x 127.0.0.1:35041 > log/13/stdout43 2> log/13/stderr43 43: 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/ dir 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/13/valgrind43 ../src/curl -q --output log/13/curl43.out --include --trace-ascii log/13/trace43 --trace-time http://127.0.0.1:35041/want/43 -L -x 127.0.0.1:35041 > log/13/stdout43 2> log/13/stderr43 === End of file commands.log === Start of file http_server.log 07:50:58.347263 ====> Client connect 07:50:58.347285 accept_connection 3 returned 4 07:50:58.347297 accept_connection 3 returned 0 07:50:58.347308 Read 93 bytes 07:50:58.347316 Process 93 bytes request 07:50:58.347325 Got request: GET /verifiedserver HTTP/1.1 07:50:58.347332 Are-we-friendly question received 07:50:58.347350 Wrote request (93 bytes) input to log/13/server.input 07:50:58.347362 Identifying ourselves as friends 07:50:58.347401 Response sent (56 bytes) and written to log/13/server.response 07:50:58.347408 special request received, no persistency 07:50:58.347415 ====> Client disconnect 0 === End of file http_serveCMD (33792): ../libtool --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/valgrind44 ../src/curl -q --output log/20/curl44.out --include --trace-ascii log/20/trace44 --trace-time http://127.0.0.1:40357/we/want/44 -F name=daniel -F tool=curl -F file=@log/20/test44.txt -H "Expect:" > log/20/stdout44 2> log/20/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/5/valgrind45 ../src/curl -q --output log/5/curl45.out --include --trace-ascii log/5/trace45 --trace-time 127.0.0.1:42797/want/45 -L > log/5/stdout45 2> log/5/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/12/valgrind35 ../src/curl -q --output log/12/curl35.out --include --trace-ascii log/12/trace35 --trace-time http://127.0.0.1:38023/we/want/35 --data-binary @log/12/test35.txt > log/12/stdout35 2> log/12/stderr35 r.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 51310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind43 ==76743== ==76743== Process terminating with default action of signal 4 (SIGILL) ==76743== Illegal opcode at address 0x4013DC0 ==76743== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76743== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76743== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76743== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind44 ../src/curl -q --output log/20/curl44.out --include --trace-ascii log/20/trace44 --trace-time http://127.0.0.1:40357/we/want/44 -F name=daniel -F tool=curl -F file=@log/20/test44.txt -H "Expect:" > log/20/stdout44 2> log/20/stderr44 44: 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/ dir 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/20/valgrind44 ../src/curl -q --output log/20/curl44.out --include --trace-ascii log/20/trace44 --trace-time http://127.0.0.1:40357/we/want/44 -F name=daniel -F tool=curl -F file=@log/20/test44.txt -H "Expect:" > log/20/stdout44 2> log/20/stderr44 === End of file commands.log === Start of file http_server.log 07:50:58.626185 ====> Client connect 07:50:58.626217 accept_connection 3 returned 4 07:50:58.626230 accept_connection 3 returned 0 07:50:58.626241 Read 93 bytes 07:50:58.626249 Process 93 bytes request 07:50:58.626259 Got request: GET /verifiedserver HTTP/1.1 07:50:58.626266 Are-we-friendly question received 07:50:58.626285 Wrote request (93 bytes) input to log/20/server.input 07:50:58.626298 Identifying ourselves as friends 07:50:58.626338 Response sent (56 bytes) and written to log/20/server.response 07:50:58.626350 special request received, no persistency 07:50:58.626358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 44960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === 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 ==76906== ==76906== Process terminating with default action of signal 4 (SIGILL) ==76906== Illegal opcode at address 0x4013DC0 ==76906== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76906== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76906== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76906== by 0x40037A4: main (tool_main.c:199) === End of file valgrind44 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/5/valgrind45 ../src/curl -q --output log/5/curl45.out --include --trace-ascii log/5/trace45 --trace-time 127.0.0.1:42797/want/45 -L > log/5/stdout45 2> log/5/stderr45 45: 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/ dir 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/5/valgrind45 ../src/curl -q --output log/5/curl45.out --include --trace-ascii log/5/trace45 --trace-time 127.0.0.1:42797/want/45 -L > log/5/stdout45 2> log/5/stderr45 === End of file commands.log === Start of file http_server.log 07:50:58.661694 ====> Client connect 07:50:58.661717 accept_connection 3 returned 4 07:50:58.661730 accept_connection 3 returned 0 07:50:58.661740 Read 93 bytes 07:50:58.661752 Process 93 bytes request 07:50:58.661764 Got request: GET /verifiedserver HTTP/1.1 07:50:58.661771 Are-we-friendly question received 07:50:58.661790 Wrote request (93 bytes) input to log/5/server.input 07:50:58.661805 Identifying ourselves as friends 07:50:58.661849 Response sent (56 bytes) and written to log/5/server.response 07:50:58.661860 special request received, no persistency 07:50:58.661867 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind45 ==76979== ==76979== Process terminating with default action of signal 4 (SIGILL) ==76979== Illegal opcode at address 0x4013DC0 ==76979== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==76979== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76979== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==76979== by 0x40037A4: main (tool_main.c:199) === 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/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 76290 port 38023 * pid http => 76290 76290 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/12/valgrind35 ../src/curl -q --output log/12/curl35.out --include --trace-ascii log/12/trace35 --trace-time http://127.0.0.1:38023/we/want/35 --data-binary @log/12/test35.txt > log/12/stdout35 2> log/12/stderr35 35: 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/ dir after test 35 === 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/14/valgrind47 ../src/curl -q --output log/14/curl47.out --include --trace-ascii log/14/trace47 --trace-time http://127.0.0.1:34115/47 -0 > log/14/stdout47 2> log/14/stderr47 CMD (33792): ../libtool --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/valgrind46 ../src/curl -q --output log/8/curl46.out --include --trace-ascii log/8/trace46 --trace-time domain..tld:36147/want/46 --resolve domain..tld:36147:127.0.0.1 -c log/8/jar46 -b log/8/injar46 > log/8/stdout46 2> log/8/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/16/valgrind51 ../src/curl -q --output log/16/curl51.out --include --trace-ascii log/16/trace51 --trace-time http://127.0.0.1:44351/we/are/all/twits/51 -L > log/16/stdout51 2> log/16/stderr51 n/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind35 ../src/curl -q --output log/12/curl35.out --include --trace-ascii log/12/trace35 --trace-time http://127.0.0.1:38023/we/want/35 --data-binary @log/12/test35.txt > log/12/stdout35 2> log/12/stderr35 === End of file commands.log === Start of file http_server.log 07:50:57.823748 Running HTTP IPv4 version on port 38023 07:50:57.823813 Wrote pid 76290 to log/12/server/http_server.pid 07:50:57.823954 Wrote port 38023 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 35 === End of file server.cmd === Start of file test35.txt This is binary data with an embedded NUL byte === End of file test35.txt === Start of file valgrind35 ==77036== ==77036== Process terminating with default action of signal 4 (SIGILL) ==77036== Illegal opcode at address 0x4013DC0 ==77036== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77036== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77036== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77036== by 0x40037A4: main (tool_main.c:199) === End of file valgrind35 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/14/valgrind47 ../src/curl -q --output log/14/curl47.out --include --trace-ascii log/14/trace47 --trace-time http://127.0.0.1:34115/47 -0 > log/14/stdout47 2> log/14/stderr47 47: 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/ dir 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/14/valgrind47 ../src/curl -q --output log/14/curl47.out --include --trace-ascii log/14/trace47 --trace-time http://127.0.0.1:34115/47 -0 > log/14/stdout47 2> log/14/stderr47 === End of file commands.log === Start of file http_server.log 07:50:58.873166 ====> Client connect 07:50:58.873189 accept_connection 3 returned 4 07:50:58.873202 accept_connection 3 returned 0 07:50:58.873213 Read 93 bytes 07:50:58.873221 Process 93 bytes request 07:50:58.873230 Got request: GET /verifiedserver HTTP/1.1 07:50:58.873237 Are-we-friendly question received 07:50:58.873255 Wrote request (93 bytes) input to log/14/server.input 07:50:58.873268 Identifying ourselves as friends 07:50:58.873307 Response sent (56 bytes) and written to log/14/server.response 07:50:58.873315 special request received, no persistency 07:50:58.873323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 42372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind47 ==77116== ==77116== Process terminating with default action of signal 4 (SIGILL) ==77116== Illegal opcode at address 0x4013DC0 ==77116== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77116== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77116== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77116== by 0x40037A4: main (tool_main.c:199) === End of file valgrind47 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/8/valgrind46 ../src/curl -q --output log/8/curl46.out --include --trace-ascii log/8/trace46 --trace-time domain..tld:36147/want/46 --resolve domain..tld:36147:127.0.0.1 -c log/8/jar46 -b log/8/injar46 > log/8/stdout46 2> log/8/stderr46 46: 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/ dir 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/8/valgrind46 ../src/curl -q --output log/8/curl46.out --include --trace-ascii log/8/trace46 --trace-time domain..tld:36147/want/46 --resolve domain..tld:36147:127.0.0.1 -c log/8/jar46 -b log/8/injar46 > log/8/stdout46 2> log/8/stderr46 === End of file commands.log === Start of file http_server.log 07:50:58.869510 ====> Client connect 07:50:58.869533 accept_connection 3 returned 4 07:50:58.869546 accept_connection 3 returned 0 07:50:58.869558 Read 93 bytes 07:50:58.869567 Process 93 bytes request 07:50:58.869577 Got request: GET /verifiedserver HTTP/1.1 07:50:58.869584 Are-we-friendly question received 07:50:58.869602 Wrote request (93 bytes) input to log/8/server.input 07:50:58.869614 Identifying ourselves as friends 07:50:58.869654 Response sent (56 bytes) and written to log/8/server.response 07:50:58.869663 special request received, no persistency 07:50:58.869670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 59024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind46 ==77114== ==77114== Process terminating with default action of signal 4 (SIGILL) ==77114== Illegal opcode at address 0x4013DC0 ==77114== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77114== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77114== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77114== by 0x40037A4: main (tool_main.c:199) === End of file valgrind46 test 0051...[HTTP follow redirect with excessive ../] ../libtool --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/valgrind51 ../src/curl -q --output log/16/curl51.out --include --trace-ascii log/16/trace51 --trace-time http://127.0.0.1:44351/we/are/all/twits/51 -L > log/16/stdout51 2> log/16/stderr51 51: 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/ dir after test 51 === 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/4/valgrind48 ../src/curl -q --output log/4/curl48.out --include --trace-ascii log/4/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43573/48 -G -I http://127.0.0.1:43573/48 > log/4/stdout48 2> log/4/stderr48 CMD (33792): ../libtool --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/valgrind50 ../src/curl -q --output log/19/curl50.out --include --trace-ascii log/19/trace50 --trace-time http://127.0.0.1:34835/we/are/all/twits/50 -L > log/19/stdout50 2> log/19/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/13/valgrind52 ../src/curl -q --output log/13/curl52.out --include --trace-ascii log/13/trace52 --trace-time http://127.0.0.1:35041/we/are/all/twits/52 -L > log/13/stdout52 2> log/13/stderr52 ind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind51 ../src/curl -q --output log/16/curl51.out --include --trace-ascii log/16/trace51 --trace-time http://127.0.0.1:44351/we/are/all/twits/51 -L > log/16/stdout51 2> log/16/stderr51 === End of file commands.log === Start of file http_server.log 07:50:59.034443 ====> Client connect 07:50:59.034468 accept_connection 3 returned 4 07:50:59.034480 accept_connection 3 returned 0 07:50:59.034492 Read 93 bytes 07:50:59.034501 Process 93 bytes request 07:50:59.034511 Got request: GET /verifiedserver HTTP/1.1 07:50:59.034519 Are-we-friendly question received 07:50:59.034536 Wrote request (93 bytes) input to log/16/server.input 07:50:59.034549 Identifying ourselves as friends 07:50:59.034589 Response sent (56 bytes) and written to log/16/server.response 07:50:59.034597 special request received, no persistency 07:50:59.034604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 54584 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind51 ==77309== ==77309== Process terminating with default action of signal 4 (SIGILL) ==77309== Illegal opcode at address 0x4013DC0 ==77309== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77309== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77309== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77309== by 0x40037A4: main (tool_main.c:199) === End of file valgrind51 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/4/valgrind48 ../src/curl -q --output log/4/curl48.out --include --trace-ascii log/4/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43573/48 -G -I http://127.0.0.1:43573/48 > log/4/stdout48 2> log/4/stderr48 48: 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/ dir 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/4/valgrind48 ../src/curl -q --output log/4/curl48.out --include --trace-ascii log/4/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43573/48 -G -I http://127.0.0.1:43573/48 > log/4/stdout48 2> log/4/stderr48 === End of file commands.log === Start of file http_server.log 07:51:00.030442 ====> Client connect 07:51:00.030477 accept_connection 3 returned 4 07:51:00.030490 accept_connection 3 returned 0 07:51:00.030501 Read 93 bytes 07:51:00.030509 Process 93 bytes request 07:51:00.030518 Got request: GET /verifiedserver HTTP/1.1 07:51:00.030525 Are-we-friendly question received 07:51:00.030545 Wrote request (93 bytes) input to log/4/server.input 07:51:00.030557 Identifying ourselves as friends 07:51:00.030597 Response sent (56 bytes) and written to log/4/server.response 07:51:00.030605 special request received, no persistency 07:51:00.030612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 57160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 48 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74732 === End of file server.response === Start of file valgrind48 ==77296== ==77296== Process terminating with default action of signal 4 (SIGILL) ==77296== Illegal opcode at address 0x4013DC0 ==77296== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77296== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77296== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77296== by 0x40037A4: main (tool_main.c:199) === End of file valgrind48 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/19/valgrind50 ../src/curl -q --output log/19/curl50.out --include --trace-ascii log/19/trace50 --trace-time http://127.0.0.1:34835/we/are/all/twits/50 -L > log/19/stdout50 2> log/19/stderr50 50: 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/ dir 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/19/valgrind50 ../src/curl -q --output log/19/curl50.out --include --trace-ascii log/19/trace50 --trace-time http://127.0.0.1:34835/we/are/all/twits/50 -L > log/19/stdout50 2> log/19/stderr50 === End of file commands.log === Start of file http_server.log 07:50:59.032554 ====> Client connect 07:50:59.032588 accept_connection 3 returned 4 07:50:59.032601 accept_connection 3 returned 0 07:50:59.032612 Read 93 bytes 07:50:59.032620 Process 93 bytes request 07:50:59.032629 Got request: GET /verifiedserver HTTP/1.1 07:50:59.032636 Are-we-friendly question received 07:50:59.032655 Wrote request (93 bytes) input to log/19/server.input 07:50:59.032667 Identifying ourselves as friends 07:50:59.032706 Response sent (56 bytes) and written to log/19/server.response 07:50:59.032714 special request received, no persistency 07:50:59.032721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 45252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind50 ==77305== ==77305== Process terminating with default action of signal 4 (SIGILL) ==77305== Illegal opcode at address 0x4013DC0 ==77305== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77305== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77305== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77305== by 0x40037A4: main (tool_main.c:199) === End of file valgrind50 test 0052...[HTTP follow redirect with ./-prefix] ../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/valgrind49 ../src/curl -q --output log/18/curl49.out --include --trace-ascii log/18/trace49 --trace-time http://127.0.0.1:46763/we/are/all/twits/49 -L > log/18/stdout49 2> log/18/stderr49 CMD (33792): ../libtool --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:34059/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 valgrind.supp --num-callers=16 --log-file=log/13/valgrind52 ../src/curl -q --output log/13/curl52.out --include --trace-ascii log/13/trace52 --trace-time http://127.0.0.1:35041/we/are/all/twits/52 -L > log/13/stdout52 2> log/13/stderr52 52: 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/ dir 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/13/valgrind52 ../src/curl -q --output log/13/curl52.out --include --trace-ascii log/13/trace52 --trace-time http://127.0.0.1:35041/we/are/all/twits/52 -L > log/13/stdout52 2> log/13/stderr52 === End of file commands.log === Start of file http_server.log 07:50:59.034916 ====> Client connect 07:50:59.034939 accept_connection 3 returned 4 07:50:59.034952 accept_connection 3 returned 0 07:50:59.034962 Read 93 bytes 07:50:59.034970 Process 93 bytes request 07:50:59.034979 Got request: GET /verifiedserver HTTP/1.1 07:50:59.034987 Are-we-friendly question received 07:50:59.035004 Wrote request (93 bytes) input to log/13/server.input 07:50:59.035017 Identifying ourselves as friends 07:50:59.035055 Response sent (56 bytes) and written to log/13/server.response 07:50:59.035063 special request received, no persistency 07:50:59.035070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 51318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind52 ==77319== ==77319== Process terminating with default action of signal 4 (SIGILL) ==77319== Illegal opcode at address 0x4013DC0 ==77319== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77319== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77319== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77319== by 0x40037A4: main (tool_main.c:199) === End of file valgrind52 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/18/valgrind49 ../src/curl -q --output log/18/curl49.out --include --trace-ascii log/18/trace49 --trace-time http://127.0.0.1:46763/we/are/all/twits/49 -L > log/18/stdout49 2> log/18/stderr49 49: 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/ dir 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/18/valgrind49 ../src/curl -q --output log/18/curl49.out --include --trace-ascii log/18/trace49 --trace-time http://127.0.0.1:46763/we/are/all/twits/49 -L > log/18/stdout49 2> log/18/stderr49 === End of file commands.log === Start of file http_server.log 07:51:00.030441 ====> Client connect 07:51:00.030465 accept_connection 3 returned 4 07:51:00.030477 accept_connection 3 returned 0 07:51:00.030489 Read 93 bytes 07:51:00.030497 Process 93 bytes request 07:51:00.030507 Got request: GET /verifiedserver HTTP/1.1 07:51:00.030514 Are-we-friendly question received 07:51:00.030533 Wrote request (93 bytes) input to log/18/server.input 07:51:00.030546 Identifying ourselves as friends 07:51:00.030589 Response sent (56 bytes) and written to log/18/server.response 07:51:00.030597 special request received, no persistency 07:51:00.030604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 38322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind49 ==77307== ==77307== Process terminating with default action of signal 4 (SIGILL) ==77307== Illegal opcode at address 0x4013DC0 ==77307== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77307== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77307== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77307== by 0x40037A4: main (tool_main.c:199) === 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/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 74873 port 34059 * pid http => 74873 74873 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:34059/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/ dir 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:34059/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind53 ../src/curl -q --output log/20/curl53.out --include --trace-ascii log/20/trace53 --trace-time 127.0.0.1:40357/want/53 -b log/20/injar53 -j > log/20/stdout53 2> log/20/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/5/valgrind54 ../src/curl -q --output log/5/curl54.out --include --trace-ascii log/5/trace54 --trace-time http://127.0.0.1:42797/want/54 -L > log/5/stdout54 2> log/5/stderr54 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 07:50:43.972067 Running HTTP IPv4 version on port 34059 07:50:43.972138 Wrote pid 74873 to log/3/server/http_server.pid 07:50:43.972166 Wrote port 34059 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 ==75482== ==75482== Process terminating with default action of signal 4 (SIGILL) ==75482== Illegal opcode at address 0x4013DC0 ==75482== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75482== by 0x40037A4: main (tool_main.c:199) === End of file valgrind22 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/20/valgrind53 ../src/curl -q --output log/20/curl53.out --include --trace-ascii log/20/trace53 --trace-time 127.0.0.1:40357/want/53 -b log/20/injar53 -j > log/20/stdout53 2> log/20/stderr53 53: 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/ dir 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/20/valgrind53 ../src/curl -q --output log/20/curl53.out --include --trace-ascii log/20/trace53 --trace-time 127.0.0.1:40357/want/53 -b log/20/injar53 -j > log/20/stdout53 2> log/20/stderr53 === End of file commands.log === Start of file http_server.log 07:50:59.324504 ====> Client connect 07:50:59.324528 accept_connection 3 returned 4 07:50:59.324541 accept_connection 3 returned 0 07:50:59.324552 Read 93 bytes 07:50:59.324560 Process 93 bytes request 07:50:59.324571 Got request: GET /verifiedserver HTTP/1.1 07:50:59.324578 Are-we-friendly question received 07:50:59.324597 Wrote request (93 bytes) input to log/20/server.input 07:50:59.324609 Identifying ourselves as friends 07:50:59.324649 Response sent (56 bytes) and written to log/20/server.response 07:50:59.324657 special request received, no persistency 07:50:59.324664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 44970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind53 ==77580== ==77580== Process terminating with default action of signal 4 (SIGILL) ==77580== Illegal opcode at address 0x4013DC0 ==77580== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77580== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77580== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77580== by 0x40037A4: main (tool_main.c:199) === End of file valgrind53 test 0054...[HTTP with blank Location:CMD (33792): ../libtool --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:38023/55 -L > log/12/stdout55 2> log/12/stderr55 CMD (33792): ../libtool --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/valgrind57 ../src/curl -q --include --trace-ascii log/8/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:36147/57 -o log/8/out57 > log/8/stdout57 2> log/8/stderr57 ] ../libtool --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/valgrind54 ../src/curl -q --output log/5/curl54.out --include --trace-ascii log/5/trace54 --trace-time http://127.0.0.1:42797/want/54 -L > log/5/stdout54 2> log/5/stderr54 54: 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/ dir 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/5/valgrind54 ../src/curl -q --output log/5/curl54.out --include --trace-ascii log/5/trace54 --trace-time http://127.0.0.1:42797/want/54 -L > log/5/stdout54 2> log/5/stderr54 === End of file commands.log === Start of file http_server.log 07:50:59.326583 ====> Client connect 07:50:59.326606 accept_connection 3 returned 4 07:50:59.326619 accept_connection 3 returned 0 07:50:59.326630 Read 93 bytes 07:50:59.326638 Process 93 bytes request 07:50:59.326647 Got request: GET /verifiedserver HTTP/1.1 07:50:59.326654 Are-we-friendly question received 07:50:59.326673 Wrote request (93 bytes) input to log/5/server.input 07:50:59.326686 Identifying ourselves as friends 07:50:59.326726 Response sent (56 bytes) and written to log/5/server.response 07:50:59.326734 special request received, no persistency 07:50:59.326741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind54 ==77581== ==77581== Process terminating with default action of signal 4 (SIGILL) ==77581== Illegal opcode at address 0x4013DC0 ==77581== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77581== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77581== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77581== by 0x40037A4: main (tool_main.c:199) === End of file valgrind54 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:38023/55 -L > log/12/stdout55 2> log/12/stderr55 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/ dir 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:38023/55 -L > log/12/stdout55 2> log/12/stderr55 === End of file commands.log === Start of file http_server.log 07:50:59.487499 ====> Client connect 07:50:59.487524 accept_connection 3 returned 4 07:50:59.487537 accept_connection 3 returned 0 07:50:59.487549 Read 93 bytes 07:50:59.487560 Process 93 bytes request 07:50:59.487572 Got request: GET /verifiedserver HTTP/1.1 07:50:59.487584 Are-we-friendly question received 07:50:59.487601 Wrote request (93 bytes) input to log/12/server.input 07:50:59.487617 Identifying ourselves as friends 07:50:59.487660 Response sent (56 bytes) and written to log/12/server.response 07:50:59.487670 special request received, no persistency 07:50:59.487678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 50178 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind55 ==77708== ==77708== Process terminating with default action of signal 4 (SIGILL) ==77708== Illegal opcode at address 0x4013DC0 ==77708== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77708== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77708== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77708== by 0x40037A4: main (tool_main.c:199) === End of file valgrind55 CMD (33792): ../libtool --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/valgrind56 ../src/curl -q --output log/14/curl56.out --include --trace-ascii log/14/trace56 --trace-time -K - 127.0.0.1:34115/that.site.com/56 log/14/stdout56 2> log/14/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/8/valgrind57 ../src/curl -q --include --trace-ascii log/8/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:36147/57 -o log/8/out57 > log/8/stdout57 2> log/8/stderr57 57: stdout FAILED: --- log/8/check-expected 2025-11-07 07:51:00.467373377 +0000 +++ log/8/check-generated 2025-11-07 07:51:00.467373377 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/8/ dir 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/8/valgrind57 ../src/curl -q --include --trace-ascii log/8/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:36147/57 -o log/8/out57 > log/8/stdout57 2> log/8/stderr57 === End of file commands.log === Start of file http_server.log 07:50:59.576286 ====> Client connect 07:50:59.576309 accept_connection 3 returned 4 07:50:59.576322 accept_connection 3 returned 0 07:50:59.576333 Read 93 bytes 07:50:59.576341 Process 93 bytes request 07:50:59.576350 Got request: GET /verifiedserver HTTP/1.1 07:50:59.576357 Are-we-friendly question received 07:50:59.576375 Wrote request (93 bytes) input to log/8/server.input 07:50:59.576387 Identifying ourselves as friends 07:50:59.576426 Response sent (56 bytes) and written to log/8/server.response 07:50:59.576434 special request received, no persistency 07:50:59.576441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 59032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind57 ==77788== ==77788== Process terminating with default action of signal 4 (SIGILL) ==77788== Illegal opcode at address 0x4013DC0 ==77788== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77788== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77788== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77788== by 0x40037A4: main (tool_main.c:199) === 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/14/valgrind56 ../src/curl -q --output log/14/curl56.out --include --trace-ascii log/14/trace56 --trace-time -K - 127.0.0.1:34115/that.site.com/56 log/14/stdout56 2> log/14/stderr56 56: 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/ dir 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/14/valgrind56 ../src/curl -q --output log/14/curl56.out --include --trace-ascii log/14/trace56 --trace-time -K - 127.0.0.1:34115/that.site.com/56 log/14/stdout56 2> log/14/stderr56 === End of file commands.log === Start of file http_server.log 07:50:59.575738 ====> Client connect 07:50:59.575762 accept_connection 3 returned 4 07:50:59.575775 accept_connection 3 returned 0 07:50:59.575786 Read 93 bytes 07:50:59.575795 Process 93 bytes request 07:50:59.575804 Got request: GET /verifiedserver HTTP/1.1 07:50:59.575811 Are-we-friendly question received 07:50:59.575830 Wrote request (93 bytes) input to log/14/server.input 07:50:59.575851 Identifying ourselves as friends 07:50:59.575892 Response sent (56 bytes) and written to log/14/server.response 07:50:59.575899 special request received, no persistency 07:50:59.575907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 42380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === 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 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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:39661/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # === End of file stdin-for-56 === Start of file valgrind56 ==77789== ==77789== Process terminating with default action of signal 4 (SIGILL) ==77789== Illegal opcode at address 0x4013DC0 ==77789== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77789== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77789== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77789== by 0x40037A4: main (tool_main.c:199) === End of file valgrind56 CMD (33792): ../libtool --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/valgrind58 ../src/curl -q --output log/16/curl58.out --include --trace-ascii log/16/trace58 --trace-time http://127.0.0.1:44351/we/want/ -T log/16/58te[]st.txt -g > log/16/stdout58 2> log/16/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/4/valgrind59 ../src/curl -q --output log/4/curl59.out --include --trace-ascii log/4/trace59 --trace-time "http://127.0.0.1:43573?mooo/59" > log/4/stdout59 2> log/4/stderr59 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 74718 port 39661 * pid http => 74718 74718 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:39661/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2025-11-07 07:51:00.507373378 +0000 +++ log/7/check-generated 2025-11-07 07:51:00.507373378 +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/ dir 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:39661/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 07:50:43.866698 Running HTTP IPv4 version on port 39661 07:50:43.866763 Wrote pid 74718 to log/7/server/http_server.pid 07:50:43.866788 Wrote port 39661 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 ==75382== ==75382== Process terminating with default action of signal 4 (SIGILL) ==75382== Illegal opcode at address 0x4013DC0 ==75382== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75382== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75382== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75382== by 0x40037A4: main (tool_main.c:199) === End of file valgrind18 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/4/valgrind59 ../src/curl -q --output log/4/curl59.out --include --trace-ascii log/4/trace59 --trace-time "http://127.0.0.1:43573?mooo/59" > log/4/stdout59 2> log/4/stderr59 59: 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/ dir 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/4/valgrind59 ../src/curl -q --output log/4/curl59.out --include --trace-ascii log/4/trace59 --trace-time "http://127.0.0.1:43573?mooo/59" > log/4/stdout59 2> log/4/stderr59 === End of file commands.log === Start of file http_server.log 07:51:00.744961 ====> Client connect 07:51:00.745009 accept_connection 3 returned 4 07:51:00.745025 accept_connection 3 returned 0 07:51:00.745035 Read 93 bytes 07:51:00.745045 Process 93 bytes request 07:51:00.745058 Got request: GET /verifiedserver HTTP/1.1 07:51:00.745065 Are-we-friendly question received 07:51:00.745087 Wrote request (93 bytes) input to log/4/server.input 07:51:00.745099 Identifying ourselves as friends 07:51:00.745143 Response sent (56 bytes) and written to log/4/server.response 07:51:00.745151 special request received, no persistency 07:51:00.745159 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 57166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind59 ==77982== ==77982== Process terminating with default action of signal 4 (SIGILL) ==77982== Illegal opcode at address 0x4013DC0 ==77982== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77982== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77982== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77982== by 0x40037A4: main (tool_main.c:199) === End of file valgrind59 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/16/valgrind58 ../src/curl -q --output log/16/curl58.out --include --trace-ascii log/16/trace58 --trace-time http://127.0.0.1:44351/we/want/ -T log/16/58te[]st.txt -g > log/16/stdout58 2> log/16/stderr58 58: 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/ dir 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/16/valgrind58 ../src/curl -q --output log/16/curl58.out --include --trace-ascii log/16/trace58 --trace-time http://127.0.0.1:44351/we/want/ -T log/16/58te[]st.txt -g > log/16/stdout58 2> log/16/stderr58 === End of file commands.log === Start of file http_server.log 07:50:59.739495 ====> Client connect 07:50:59.739525 accept_connection 3 returned 4 07:50:59.739540 accept_connection 3 returned 0 07:50:59.739551 Read 93 bytes 07:50:59.739559 Process 93 bytes request 07:50:59.739569 Got request: GET /verifiedserver HTTP/1.1 07:50:59.739577 Are-we-friendly question received 07:50:59.739595 Wrote request (93 bytes) input to log/16/server.input 07:50:59.739608 Identifying ourselves as friends 07:50:59.739649 Response sent (56 bytes) and written to log/16/server.response 07:50:59.739658 special request received, no persistency 07:50:59.739665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 54590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind58 ==779CMD (33792): ../libtool --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:46763/we/want/62 http://127.0.0.1:46763/we/want/62?hoge=fuga -b log/18/jar62.txt -H "Host: www.host.foo.com" > log/18/stdout62 2> log/18/stderr62 CMD (33792): ../libtool --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/valgrind61 ../src/curl -q --output log/13/curl61.out --include --trace-ascii log/13/trace61 --trace-time http://127.0.0.1:35041/we/want/61 -c log/13/jar61.txt -H "Host: www.host.foo.com" > log/13/stdout61 2> log/13/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/3/valgrind63 ../src/curl -q --output log/3/curl63.out --include --trace-ascii log/3/trace63 --trace-time http://we.want.that.site.com/63 > log/3/stdout63 2> log/3/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/19/valgrind60 ../src/curl -q --output log/19/curl60.out --include --trace-ascii log/19/trace60 --trace-time http://127.0.0.1:34835/bzz/60 -T - -H "Content-Length: 1" log/19/stdout60 2> log/19/stderr60 68== ==77968== Process terminating with default action of signal 4 (SIGILL) ==77968== Illegal opcode at address 0x4013DC0 ==77968== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77968== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77968== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77968== by 0x40037A4: main (tool_main.c:199) === End of file valgrind58 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:46763/we/want/62 http://127.0.0.1:46763/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/ dir 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:46763/we/want/62 http://127.0.0.1:46763/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 07:51:00.748479 ====> Client connect 07:51:00.748512 accept_connection 3 returned 4 07:51:00.748527 accept_connection 3 returned 0 07:51:00.748537 Read 93 bytes 07:51:00.748550 Process 93 bytes request 07:51:00.748562 Got request: GET /verifiedserver HTTP/1.1 07:51:00.748570 Are-we-friendly question received 07:51:00.748590 Wrote request (93 bytes) input to log/18/server.input 07:51:00.748603 Identifying ourselves as friends 07:51:00.748644 Response sent (56 bytes) and written to log/18/server.response 07:51:00.748652 special request received, no persistency 07:51:00.748659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 38332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind62 ==78022== ==78022== Process terminating with default action of signal 4 (SIGILL) ==78022== Illegal opcode at address 0x4013DC0 ==78022== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78022== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78022== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78022== by 0x40037A4: main (tool_main.c:199) === End of file valgrind62 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/13/valgrind61 ../src/curl -q --output log/13/curl61.out --include --trace-ascii log/13/trace61 --trace-time http://127.0.0.1:35041/we/want/61 -c log/13/jar61.txt -H "Host: www.host.foo.com" > log/13/stdout61 2> log/13/stderr61 61: 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/ dir 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/13/valgrind61 ../src/curl -q --output log/13/curl61.out --include --trace-ascii log/13/trace61 --trace-time http://127.0.0.1:35041/we/want/61 -c log/13/jar61.txt -H "Host: www.host.foo.com" > log/13/stdout61 2> log/13/stderr61 === End of file commands.log === Start of file http_server.log 07:50:59.745898 ====> Client connect 07:50:59.745921 accept_connection 3 returned 4 07:50:59.745934 accept_connection 3 returned 0 07:50:59.745944 Read 93 bytes 07:50:59.745952 Process 93 bytes request 07:50:59.745961 Got request: GET /verifiedserver HTTP/1.1 07:50:59.745969 Are-we-friendly question received 07:50:59.745987 Wrote request (93 bytes) input to log/13/server.input 07:50:59.745999 Identifying ourselves as friends 07:50:59.746040 Response sent (56 bytes) and written to log/13/server.response 07:50:59.746048 special request received, no persistency 07:50:59.746055 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 51330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind61 ==78000== ==78000== Process terminating with default action of signal 4 (SIGILL) ==78000== Illegal opcode at address 0x4013DC0 ==78000== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78000== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78000== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78000== by 0x40037A4: main (tool_main.c:199) === End of file valgrind61 setenv http_proxy = http://fake:user@127.0.0.1:34059/ 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/3/valgrind63 ../src/curl -q --output log/3/curl63.out --include --trace-ascii log/3/trace63 --trace-time http://we.want.that.site.com/63 > log/3/stdout63 2> log/3/stderr63 63: 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/ dir 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/3/valgrind63 ../src/curl -q --output log/3/curl63.out --include --trace-ascii log/3/trace63 --trace-time http://we.want.that.site.com/63 > log/3/stdout63 2> log/3/stderr63 === End of file commands.log === Start of file http_server.log 07:51:00.757897 ====> Client connect 07:51:00.757928 accept_connection 3 returned 4 07:51:00.757941 accept_connection 3 returned 0 07:51:00.757952 Read 93 bytes 07:51:00.757964 Process 93 bytes request 07:51:00.757976 Got request: GET /verifiedserver HTTP/1.1 07:51: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/5/valgrind65 ../src/curl -q --output log/5/curl65.out --include --trace-ascii log/5/trace65 --trace-time http://127.0.0.1:42797/65 -u testuser:test2pass --digest > log/5/stdout65 2> log/5/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/20/valgrind64 ../src/curl -q --output log/20/curl64.out --include --trace-ascii log/20/trace64 --trace-time http://127.0.0.1:40357/64 -u testuser:testpass --digest > log/20/stdout64 2> log/20/stderr64 .757984 Are-we-friendly question received 07:51:00.758002 Wrote request (93 bytes) input to log/3/server.input 07:51:00.758018 Identifying ourselves as friends 07:51:00.758082 Response sent (56 bytes) and written to log/3/server.response 07:51:00.758094 special request received, no persistency 07:51:00.758104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 54472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind63 ==78071== ==78071== Process terminating with default action of signal 4 (SIGILL) ==78071== Illegal opcode at address 0x4013DC0 ==78071== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78071== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78071== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78071== by 0x40037A4: main (tool_main.c:199) === End of file valgrind63 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/19/valgrind60 ../src/curl -q --output log/19/curl60.out --include --trace-ascii log/19/trace60 --trace-time http://127.0.0.1:34835/bzz/60 -T - -H "Content-Length: 1" log/19/stdout60 2> log/19/stderr60 60: 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/ dir 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/19/valgrind60 ../src/curl -q --output log/19/curl60.out --include --trace-ascii log/19/trace60 --trace-time http://127.0.0.1:34835/bzz/60 -T - -H "Content-Length: 1" log/19/stdout60 2> log/19/stderr60 === End of file commands.log === Start of file http_server.log 07:50:59.744620 ====> Client connect 07:50:59.744646 accept_connection 3 returned 4 07:50:59.744658 accept_connection 3 returned 0 07:50:59.744669 Read 93 bytes 07:50:59.744678 Process 93 bytes request 07:50:59.744688 Got request: GET /verifiedserver HTTP/1.1 07:50:59.744695 Are-we-friendly question received 07:50:59.744714 Wrote request (93 bytes) input to log/19/server.input 07:50:59.744727 Identifying ourselves as friends 07:50:59.744779 Response sent (56 bytes) and written to log/19/server.response 07:50:59.744792 special request received, no persistency 07:50:59.744801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 45268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === 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 ==77996== ==77996== Process terminating with default action of signal 4 (SIGILL) ==77996== Illegal opcode at address 0x4013DC0 ==77996== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==77996== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77996== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==77996== by 0x40037A4: main (tool_main.c:199) === End of file valgrind60 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/5/valgrind65 ../src/curl -q --output log/5/curl65.out --include --trace-ascii log/5/trace65 --trace-time http://127.0.0.1:42797/65 -u testuser:test2pass --digest > log/5/stdout65 2> log/5/stderr65 65: 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/ dir 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/5/valgrind65 ../src/curl -q --output log/5/curl65.out --include --trace-ascii log/5/trace65 --trace-time http://127.0.0.1:42797/65 -u testuser:test2pass --digest > log/5/stdout65 2> log/5/stderr65 === End of file commands.log === Start of file http_server.log 07:51:00.033308 ====> Client connect 07:51:00.033340 accept_connection 3 returned 4 07:51:00.033357 accept_connection 3 returned 0 07:51:00.033371 Read 93 bytes 07:51:00.033382 Process 93 bytes request 07:51:00.033395 Got request: GET /verifiedserver HTTP/1.1 07:51:00.033405 Are-we-friendly question received 07:51:00.033431 Wrote request (93 bytes) input to log/5/server.input 07:51:00.033447 Identifying ourselves as friends 07:51:00.033500 Response sent (56 bytes) and written to log/5/server.response 07:51:00.033511 special request received, no persistency 07:51:00.033520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind65 ==78321== ==78321== Process terminating with default action of signal 4 (SIGILL) ==78321== Illegal opcode at address 0x4013DC0 ==78321== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78321== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78321== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78321== by 0x40037A4: main (tool_main.c:199) === End of file valgrind65 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/20/valgrind64 ../src/curl -q --output log/20/curl64.out --include --trace-ascii log/20/trace64 --trace-time http://127.0.0.1:40357/64 -u testuser:testpass --digest > log/20/stdout64 2> log/20/stderr64 64: 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/ dir after test 64 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yCMD (33792): ../libtool --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:42601/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/12/valgrind66 ../src/curl -q --output log/12/curl66.out --include --trace-ascii log/12/trace66 --trace-time http://127.0.0.1:38023/66 --http0.9 > log/12/stdout66 2> log/12/stderr66 es --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind64 ../src/curl -q --output log/20/curl64.out --include --trace-ascii log/20/trace64 --trace-time http://127.0.0.1:40357/64 -u testuser:testpass --digest > log/20/stdout64 2> log/20/stderr64 === End of file commands.log === Start of file http_server.log 07:51:00.034261 ====> Client connect 07:51:00.034286 accept_connection 3 returned 4 07:51:00.034298 accept_connection 3 returned 0 07:51:00.034309 Read 93 bytes 07:51:00.034317 Process 93 bytes request 07:51:00.034325 Got request: GET /verifiedserver HTTP/1.1 07:51:00.034333 Are-we-friendly question received 07:51:00.034351 Wrote request (93 bytes) input to log/20/server.input 07:51:00.034363 Identifying ourselves as friends 07:51:00.034402 Response sent (56 bytes) and written to log/20/server.response 07:51:00.034410 special request received, no persistency 07:51:00.034418 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind64 ==78330== ==78330== Process terminating with default action of signal 4 (SIGILL) ==78330== Illegal opcode at address 0x4013DC0 ==78330== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78330== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78330== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78330== by 0x40037A4: main (tool_main.c:199) === End of file valgrind64 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 74400 port 42601 * pid http => 74400 74400 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:42601/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/ dir 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:42601/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 07:50:42.961963 Running HTTP IPv4 version on port 42601 07:50:42.962018 Wrote pid 74400 to log/17/server/http_server.pid 07:50:42.962041 Wrote port 42601 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 ==74877== ==74877== Process terminating with default action of signal 4 (SIGILL) ==74877== Illegal opcode at address 0x4013DC0 ==74877== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74877== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74877== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74877== by 0x40037A4: main (tool_main.c:199) === End of file valgrind8 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/12/valgrind66 ../src/curl -q --output log/12/curl66.out --include --trace-ascii log/12/trace66 --trace-time http://127.0.0.1:38023/66 --http0.9 > log/12/stdout66 2> log/12/stderr66 66: 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/ dir 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/12/valgrind66 ../src/curl -q --output log/12/curl66.out --include --trace-ascii log/12/trace66 --trace-time http://127.0.0.1:38023/66 --http0.9 > log/12/stdout66 2> log/12/stderr66 === End of file commands.log === Start of file http_server.log 07:51:00.224020 ====> Client connect 07:51:00.224055 accept_connection 3 returned 4 07:51:00.224069 accept_connection 3 returned 0 07:51:00.224081 Read 93 bytes 07:51:00.224089 Process 93 bytes request 07:51:00.224114 Got request: GET /verifiedserver HTTP/1.1 07:51:00.224122 Are-we-friendly question received 07:51:00.224141 Wrote request (93 bytes) input to log/12/server.input 07:51:00.224154 Identifying ourselves as friends 07:51:00.224197 Response sent (56 bytes) and written to log/12/server.response 07:51:00.224205 special request received, no persistency 07:51:00.224213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 52028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 CMD (33792): ../libtool --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/valgrind67 ../src/curl -q --output log/8/curl67.out --include --trace-ascii log/8/trace67 --trace-time http://127.0.0.1:36147/67 -u testuser:testpass --ntlm > log/8/stdout67 2> log/8/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/14/valgrind68 ../src/curl -q --output log/14/curl68.out --include --trace-ascii log/14/trace68 --trace-time http://127.0.0.1:34115/68 -u testuser:testpass --ntlm > log/14/stdout68 2> log/14/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/7/valgrind69 ../src/curl -q --output log/7/curl69.out --include --trace-ascii log/7/trace69 --trace-time http://127.0.0.1:39661/69 -u testuser:testpass --anyauth > log/7/stdout69 2> log/7/stderr69 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind66 ==78450== ==78450== Process terminating with default action of signal 4 (SIGILL) ==78450== Illegal opcode at address 0x4013DC0 ==78450== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78450== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78450== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78450== by 0x40037A4: main (tool_main.c:199) === End of file valgrind66 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/8/valgrind67 ../src/curl -q --output log/8/curl67.out --include --trace-ascii log/8/trace67 --trace-time http://127.0.0.1:36147/67 -u testuser:testpass --ntlm > log/8/stdout67 2> log/8/stderr67 67: 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/ dir 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/8/valgrind67 ../src/curl -q --output log/8/curl67.out --include --trace-ascii log/8/trace67 --trace-time http://127.0.0.1:36147/67 -u testuser:testpass --ntlm > log/8/stdout67 2> log/8/stderr67 === End of file commands.log === Start of file http_server.log 07:51:00.316793 ====> Client connect 07:51:00.316817 accept_connection 3 returned 4 07:51:00.316830 accept_connection 3 returned 0 07:51:00.316841 Read 93 bytes 07:51:00.316850 Process 93 bytes request 07:51:00.316860 Got request: GET /verifiedserver HTTP/1.1 07:51:00.316868 Are-we-friendly question received 07:51:00.316885 Wrote request (93 bytes) input to log/8/server.input 07:51:00.316898 Identifying ourselves as friends 07:51:00.316939 Response sent (56 bytes) and written to log/8/server.response 07:51:00.316947 special request received, no persistency 07:51:00.316955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 45134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind67 ==78534== ==78534== Process terminating with default action of signal 4 (SIGILL) ==78534== Illegal opcode at address 0x4013DC0 ==78534== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78534== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78534== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78534== by 0x40037A4: main (tool_main.c:199) === End of file valgrind67 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/14/valgrind68 ../src/curl -q --output log/14/curl68.out --include --trace-ascii log/14/trace68 --trace-time http://127.0.0.1:34115/68 -u testuser:testpass --ntlm > log/14/stdout68 2> log/14/stderr68 68: 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/ dir 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/14/valgrind68 ../src/curl -q --output log/14/curl68.out --include --trace-ascii log/14/trace68 --trace-time http://127.0.0.1:34115/68 -u testuser:testpass --ntlm > log/14/stdout68 2> log/14/stderr68 === End of file commands.log === Start of file http_server.log 07:51:00.321600 ====> Client connect 07:51:00.321631 accept_connection 3 returned 4 07:51:00.321648 accept_connection 3 returned 0 07:51:00.321661 Read 93 bytes 07:51:00.321672 Process 93 bytes request 07:51:00.321684 Got request: GET /verifiedserver HTTP/1.1 07:51:00.321694 Are-we-friendly question received 07:51:00.321717 Wrote request (93 bytes) input to log/14/server.input 07:51:00.321734 Identifying ourselves as friends 07:51:00.321785 Response sent (56 bytes) and written to log/14/server.response 07:51:00.321796 special request received, no persistency 07:51:00.321806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind68 ==78552== ==78552== Process terminating with default action of signal 4 (SIGILL) ==78552== Illegal opcode at address 0x4013DC0 ==78552== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78552== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78552== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78552== by 0x40037A4: main (tool_main.c:199) === End of file valgrind68 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/7/valgrind69 ../src/curl -q --output log/7/curl69.out --include --trace-ascii log/7/trace69 --trace-time http://127.0.0.1:39661/69 -u testuser:testpass --anyauth > log/7/stdout69 2> log/7/stderr69 69: 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/ dir 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/7/valgrind69 ../src/curl -q --output log/7/curl69.out --include --trace-ascii log/7/trace69 --trace-time http://127.0.0.1:39661/69 -u testuser:testpass --anyauth > log/7/stdout69 2> log/7/stderr69 === End of file commands.log === Start of file http_server.log 07:51:01.357933 ====> Client connect 07:51:01.357972 accept_connection 3 returned 4 07:51:01.357990 accept_connection 3 returned 0 07:51:01.358004 Read 93 bytes 07:51:01.358021 Process 93 bytes request 07:51:01.358037 Got request: GET /verifiedserver HTTP/1.1 07:51:01.358047 Are-we-friendly question received 07:51:01.358080 Wrote request (93 bytes) input to log/7/server.input 07:51:01.358103 Identifying ourselves as friends 07:51:01.358171 Response sent (56 bytes) and written to log/7/server.response 07CMD (33792): ../libtool --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/valgrind73 ../src/curl -q --output log/13/curl73.out --include --trace-ascii log/13/trace73 --trace-time http://127.0.0.1:35041/we/want/73 -c log/13/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/13/stdout73 2> log/13/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/18/valgrind72 ../src/curl -q --output log/18/curl72.out --include --trace-ascii log/18/trace72 --trace-time http://127.0.0.1:46763/72 -u testuser:testpass --anyauth > log/18/stdout72 2> log/18/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/16/valgrind71 ../src/curl -q --output log/16/curl71.out --include --trace-ascii log/16/trace71 --trace-time http://127.0.0.1:44351/we/want/71 -K - log/16/stdout71 2> log/16/stderr71 CMD (33792): ../libtool --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/valgrind75 ../src/curl -q --include --trace-ascii log/19/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/19/weee#1.dump" --stderr - > log/19/stdout75 2> log/19/stderr75 :51:01.358187 special request received, no persistency 07:51:01.358198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 41104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind69 ==78640== ==78640== Process terminating with default action of signal 4 (SIGILL) ==78640== Illegal opcode at address 0x4013DC0 ==78640== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78640== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78640== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78640== by 0x40037A4: main (tool_main.c:199) === End of file valgrind69 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/13/valgrind73 ../src/curl -q --output log/13/curl73.out --include --trace-ascii log/13/trace73 --trace-time http://127.0.0.1:35041/we/want/73 -c log/13/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/13/stdout73 2> log/13/stderr73 73: 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/ dir 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/13/valgrind73 ../src/curl -q --output log/13/curl73.out --include --trace-ascii log/13/trace73 --trace-time http://127.0.0.1:35041/we/want/73 -c log/13/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/13/stdout73 2> log/13/stderr73 === End of file commands.log === Start of file http_server.log 07:51:00.516803 ====> Client connect 07:51:00.516838 accept_connection 3 returned 4 07:51:00.516851 accept_connection 3 returned 0 07:51:00.516862 Read 93 bytes 07:51:00.516871 Process 93 bytes request 07:51:00.516881 Got request: GET /verifiedserver HTTP/1.1 07:51:00.516889 Are-we-friendly question received 07:51:00.516908 Wrote request (93 bytes) input to log/13/server.input 07:51:00.516920 Identifying ourselves as friends 07:51:00.516962 Response sent (56 bytes) and written to log/13/server.response 07:51:00.516970 special request received, no persistency 07:51:00.516978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 58124 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind73 ==78812== ==78812== Process terminating with default action of signal 4 (SIGILL) ==78812== Illegal opcode at address 0x4013DC0 ==78812== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78812== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78812== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78812== by 0x40037A4: main (tool_main.c:199) === End of file valgrind73 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/18/valgrind72 ../src/curl -q --output log/18/curl72.out --include --trace-ascii log/18/trace72 --trace-time http://127.0.0.1:46763/72 -u testuser:testpass --anyauth > log/18/stdout72 2> log/18/stderr72 72: 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/ dir 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/18/valgrind72 ../src/curl -q --output log/18/curl72.out --include --trace-ascii log/18/trace72 --trace-time http://127.0.0.1:46763/72 -u testuser:testpass --anyauth > log/18/stdout72 2> log/18/stderr72 === End of file commands.log === Start of file http_server.log 07:51:01.514739 ====> Client connect 07:51:01.514766 accept_connection 3 returned 4 07:51:01.514779 accept_connection 3 returned 0 07:51:01.514790 Read 93 bytes 07:51:01.514799 Process 93 bytes request 07:51:01.514808 Got request: GET /verifiedserver HTTP/1.1 07:51:01.514815 Are-we-friendly question received 07:51:01.514834 Wrote request (93 bytes) input to log/18/server.input 07:51:01.514847 Identifying ourselves as friends 07:51:01.514891 Response sent (56 bytes) and written to log/18/server.response 07:51:01.514900 special request received, no persistency 07:51:01.514907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 48178 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind72 ==78814== ==78814== Process terminating with default action of signal 4 (SIGILL) ==78814== Illegal opcode at address 0x4013DC0 ==78814== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78814== by 0x40037A4: main (tool_main.c:199) === End of file valgrind72 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/16/valgrind71 ../src/curl -q --output log/16/curl71.out --include --trace-ascii log/16/trace71 --trace-time http://127.0.0.1:44351/we/want/71 -K - log/16/stdout71 2> log/16/stderr71 71: 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/ dir 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/16/valgrind71 ../src/curl -q --output log/16/curl71.out --include --trace-ascii log/16/trace71 --trace-time http://127.0.0.1:44351/we/want/71 -K - log/16/stdout71 2> log/16/stderr71 === End of file commands.log === Start of file http_server.log 07:51:00.509695 ====> Client connect 07:51:00.509721 accept_connection 3 returned 4 07:51:00.509735 accept_connection 3 returned 0 07:51:00.509749 Read 93 bytes 07:51:00.509759 Process 93 bytes request 07:51:00.509772 Got request: GET /verifiedserver HTTP/1.1 07:51:00.509781 Are-we-friendly question received 07:51:00.509804 Wrote request (93 bytes) input to log/16/server.input 07:51:00.509820 Identifying ourselves as friends 07:51:00.509870 Response sent (56 bytes) and written to log/16/server.response 07:51:00.509881 special request received, no persistency 07:51:00.509890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 59038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/16/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 ==78795== ==78795== Process terminating with default action of signal 4 (SIGILL) ==78795== Illegal opcode at address 0x4013DC0 ==78795== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78795== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78795== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78795== by 0x40037A4: main (tool_main.c:199) === End of file valgrind71 CMD (33792): ../libtool --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/valgrind74 ../src/curl -q --include --trace-ascii log/3/trace74 --trace-time "http://127.0.0.1:34059/{74,740001}" -o "log/3/dumpit#1.dump" > log/3/stdout74 2> log/3/stderr74 CMD (33792): ../libtool --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/valgrind70 ../src/curl -q --output log/4/curl70.out --include --trace-ascii log/4/trace70 --trace-time http://127.0.0.1:43573/70 -u testuser:testpass --anyauth > log/4/stdout70 2> log/4/stderr70 CMD (33792): ../libtool --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:43789/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 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/19/valgrind75 ../src/curl -q --include --trace-ascii log/19/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/19/weee#1.dump" --stderr - > log/19/stdout75 2> log/19/stderr75 75: stdout FAILED: --- log/19/check-expected 2025-11-07 07:51:01.444040053 +0000 +++ log/19/check-generated 2025-11-07 07:51:01.444040053 +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/19/ dir 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/19/valgrind75 ../src/curl -q --include --trace-ascii log/19/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/19/weee#1.dump" --stderr - > log/19/stdout75 2> log/19/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==78770== ==78770== Process terminating with default action of signal 4 (SIGILL) ==78770== Illegal opcode at address 0x4013DC0 ==78770== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78770== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78770== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78770== by 0x40037A4: main (tool_main.c:199) === End of file valgrind75 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/3/valgrind74 ../src/curl -q --include --trace-ascii log/3/trace74 --trace-time "http://127.0.0.1:34059/{74,740001}" -o "log/3/dumpit#1.dump" > log/3/stdout74 2> log/3/stderr74 74: 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/ dir 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/3/valgrind74 ../src/curl -q --include --trace-ascii log/3/trace74 --trace-time "http://127.0.0.1:34059/{74,740001}" -o "log/3/dumpit#1.dump" > log/3/stdout74 2> log/3/stderr74 === End of file commands.log === Start of file http_server.log 07:51:01.520393 ====> Client connect 07:51:01.520422 accept_connection 3 returned 4 07:51:01.520436 accept_connection 3 returned 0 07:51:01.520449 Read 93 bytes 07:51:01.520459 Process 93 bytes request 07:51:01.520470 Got request: GET /verifiedserver HTTP/1.1 07:51:01.520479 Are-we-friendly question received 07:51:01.520500 Wrote request (93 bytes) input to log/3/server.input 07:51:01.520516 Identifying ourselves as friends 07:51:01.520576 Response sent (56 bytes) and written to log/3/server.response 07:51:01.520586 special request received, no persistency 07:51:01.520595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 36226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind74 ==78870== ==78870== Process terminating with default action of signal 4 (SIGILL) ==78870== Illegal opcode at address 0x4013DC0 ==78870== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78870== by 0x40037A4: main (tool_main.c:199) === End of file valgrind74 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/4/valgrind70 ../src/curl -q --output log/4/curl70.out --include --trace-ascii log/4/trace70 --trace-time http://127.0.0.1:43573/70 -u testuser:testpass --anyauth > log/4/stdout70 2> log/4/stderr70 70: 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/ dir 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/4/valgrind70 ../src/curl -q --output log/4/curl70.out --include --trace-ascii log/4/trace70 --trace-time http://127.0.0.1:43573/70 -u testuser:testpass --anyauth > log/4/stdout70 2> log/4/stderr70 === End of file commands.log === Start of file http_server.log 07:51:01.510276 ====> Client connect 07:51:01.510304 accept_connection 3 returned 4 07:51:01.510318 accept_connection 3 returned 0 07:51:01.510330 Read 93 bytes 07:51:01.510338 Process 93 bytes request 07:51:01.510347 Got request: GET /verifiedserver HTTP/1.1 07:51:01.510355 Are-we-friendly question received 07:51:01.510380 Wrote request (93 bytes) input to log/4/server.input 07:51:01.510393 Identifying ourselves as friends 07:51:01.510438 Response sent (56 bytes) and written to log/4/server.response 07:51:01.510446 special request received, no persistency 07:51:01.510453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind70 ==78804== ==78804== Process terminating with default action of signal 4 (SIGILL) ==78804== Illegal opcode at address 0x4013DC0 ==78804== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==78804== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78804== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==78804== by 0x40037A4: main (tool_main.c:199) === End of file valgrind70 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 74402 port 43789 * pid http => 74402 74402 test 0010...[simple HTTP PUT from file] ../libtool --mode=execute /usr/bin/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/5/valgrind76 ../src/curl -q --output log/5/curl76.out --include --trace-ascii log/5/trace76 --trace-time http://127.0.0.1:42797/76 -u testuser:testpass --anyauth > log/5/stdout76 2> log/5/stderr76 CMD (33792): ../libtool --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/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-time http://127.0.0.1:42601/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/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/20/valgrind77 ../src/curl -q --output log/20/curl77.out --include --trace-ascii log/20/trace77 --trace-time http://127.0.0.1:40357/77 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout77 2> log/20/stderr77 d --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:43789/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/ dir 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:43789/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 07:50:42.164095 Running HTTP IPv4 version on port 43789 07:50:42.164169 Wrote pid 74402 to log/15/server/http_server.pid 07:50:42.164190 Wrote port 43789 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 ==74983== ==74983== Process terminating with default action of signal 4 (SIGILL) ==74983== Illegal opcode at address 0x4013DC0 ==74983== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74983== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74983== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74983== by 0x40037A4: main (tool_main.c:199) === End of file valgrind10 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/5/valgrind76 ../src/curl -q --output log/5/curl76.out --include --trace-ascii log/5/trace76 --trace-time http://127.0.0.1:42797/76 -u testuser:testpass --anyauth > log/5/stdout76 2> log/5/stderr76 76: 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/ dir 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/5/valgrind76 ../src/curl -q --output log/5/curl76.out --include --trace-ascii log/5/trace76 --trace-time http://127.0.0.1:42797/76 -u testuser:testpass --anyauth > log/5/stdout76 2> log/5/stderr76 === End of file commands.log === Start of file http_server.log 07:51:00.781228 ====> Client connect 07:51:00.781264 accept_connection 3 returned 4 07:51:00.781279 accept_connection 3 returned 0 07:51:00.781290 Read 93 bytes 07:51:00.781299 Process 93 bytes request 07:51:00.781309 Got request: GET /verifiedserver HTTP/1.1 07:51:00.781317 Are-we-friendly question received 07:51:00.781337 Wrote request (93 bytes) input to log/5/server.input 07:51:00.781350 Identifying ourselves as friends 07:51:00.781392 Response sent (56 bytes) and written to log/5/server.response 07:51:00.781400 special request received, no persistency 07:51:00.781408 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind76 ==79125== ==79125== Process terminating with default action of signal 4 (SIGILL) ==79125== Illegal opcode at address 0x4013DC0 ==79125== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79125== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79125== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79125== by 0x40037A4: main (tool_main.c:199) === End of file valgrind76 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/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-time http://127.0.0.1:42601/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 78: 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/ dir 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/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-time http://127.0.0.1:42601/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 === End of file commands.log === Start of file http_server.log 07:51:01.831250 ====> Client connect 07:51:01.831275 accept_connection 3 returned 4 07:51:01.831289 accept_connection 3 returned 0 07:51:01.831300 Read 93 bytes 07:51:01.831311 Process 93 bytes request 07:51:01.831325 Got request: GET /verifiedserver HTTP/1.1 07:51:01.831333 Are-we-friendly question received 07:51:01.831355 Wrote request (93 bytes) input to log/17/server.input 07:51:01.831373 Identifying ourselves as friends 07:51:01.831423 Response sent (56 bytes) and written to log/17/server.response 07:51:01.831433 special request received, no persistency 07:51:01.831441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 53768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind78 ==79222== ==79222== Process terminating with default action of signal 4 (SIGILL) ==79222== Illegal opcode at address 0x4013DC0 ==79222== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79222== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79222== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79222== by 0x40037A4: main (tool_main.c:199) === End of file valgrind78 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/20/valgrind77 ../src/curl -q --output log/20/curl77.out --include --trace-ascii log/20/trace77 --trace-time http://127.0.0.1:40357/77 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout77 2> log/20/stderr77 77: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 13CMD (33792): ../libtool --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:38023/we/want/that/page/79 -x 127.0.0.1:38023 > 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/valgrind82 ../src/curl -q --output log/7/curl82.out --include --trace-ascii log/7/trace82 --trace-time http://127.0.0.1:39661/82 --proxy-user testuser:testpass -x http://127.0.0.1:39661 > log/7/stdout82 2> log/7/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/14/valgrind81 ../src/curl -q --output log/14/curl81.out --include --trace-ascii log/14/trace81 --trace-time http://127.0.0.1:34115/81 --proxy-user testuser:testpass -x http://127.0.0.1:34115 --proxy-ntlm > log/14/stdout81 2> log/14/stderr81 2 == Contents of files in the log/20/ dir 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/20/valgrind77 ../src/curl -q --output log/20/curl77.out --include --trace-ascii log/20/trace77 --trace-time http://127.0.0.1:40357/77 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout77 2> log/20/stderr77 === End of file commands.log === Start of file http_server.log 07:51:00.781228 ====> Client connect 07:51:00.781265 accept_connection 3 returned 4 07:51:00.781279 accept_connection 3 returned 0 07:51:00.781291 Read 93 bytes 07:51:00.781299 Process 93 bytes request 07:51:00.781309 Got request: GET /verifiedserver HTTP/1.1 07:51:00.781317 Are-we-friendly question received 07:51:00.781338 Wrote request (93 bytes) input to log/20/server.input 07:51:00.781352 Identifying ourselves as friends 07:51:00.781394 Response sent (56 bytes) and written to log/20/server.response 07:51:00.781402 special request received, no persistency 07:51:00.781410 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind77 ==79111== ==79111== Process terminating with default action of signal 4 (SIGILL) ==79111== Illegal opcode at address 0x4013DC0 ==79111== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79111== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79111== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79111== by 0x40037A4: main (tool_main.c:199) === End of file valgrind77 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:38023/we/want/that/page/79 -x 127.0.0.1:38023 > 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/ dir 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:38023/we/want/that/page/79 -x 127.0.0.1:38023 > log/12/stdout79 2> log/12/stderr79 === End of file commands.log === Start of file http_server.log 07:51:00.974426 ====> Client connect 07:51:00.974452 accept_connection 3 returned 4 07:51:00.974465 accept_connection 3 returned 0 07:51:00.974477 Read 93 bytes 07:51:00.974485 Process 93 bytes request 07:51:00.974495 Got request: GET /verifiedserver HTTP/1.1 07:51:00.974503 Are-we-friendly question received 07:51:00.974521 Wrote request (93 bytes) input to log/12/server.input 07:51:00.974534 Identifying ourselves as friends 07:51:00.974575 Response sent (56 bytes) and written to log/12/server.response 07:51:00.974583 special request received, no persistency 07:51:00.974591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 52036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind79 ==79303== ==79303== Process terminating with default action of signal 4 (SIGILL) ==79303== Illegal opcode at address 0x4013DC0 ==79303== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79303== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79303== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79303== by 0x40037A4: main (tool_main.c:199) === End of file valgrind79 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/7/valgrind82 ../src/curl -q --output log/7/curl82.out --include --trace-ascii log/7/trace82 --trace-time http://127.0.0.1:39661/82 --proxy-user testuser:testpass -x http://127.0.0.1:39661 > log/7/stdout82 2> log/7/stderr82 82: 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/ dir 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/7/valgrind82 ../src/curl -q --output log/7/curl82.out --include --trace-ascii log/7/trace82 --trace-time http://127.0.0.1:39661/82 --proxy-user testuser:testpass -x http://127.0.0.1:39661 > log/7/stdout82 2> log/7/stderr82 === End of file commands.log === Start of file http_server.log 07:51:02.087397 ====> Client connect 07:51:02.087422 accept_connection 3 returned 4 07:51:02.087436 accept_connection 3 returned 0 07:51:02.087447 Read 93 bytes 07:51:02.087456 Process 93 bytes request 07:51:02.087467 Got request: GET /verifiedserver HTTP/1.1 07:51:02.087475 Are-we-friendly question received 07:51:02.087495 Wrote request (93 bytes) input to log/7/server.input 07:51:02.087509 Identifying ourselves as friends 07:51:02.087549 Response sent (56 bytes) and written to log/7/server.response 07:51:02.087558 special request received, no persistency 07:51:02.087565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 41112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind82 ==79403== ==79403== Process terminating with default action of signal 4 (SIGILL) ==79403== Illegal opcode at address 0x4013DC0 ==79403== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79403== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79403== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79403== by 0x40037A4: main (tool_main.c:199) === End of file valgrind82 test 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/4/valgrind87 ../src/curl -q --include --trace-ascii log/4/trace87 --trace-time "http://127.0.0.1:43573/[870001-870002]" -o "log/4/dumpit87-#2.dump" > log/4/stdout87 2> log/4/stderr87 81...[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/14/valgrind81 ../src/curl -q --output log/14/curl81.out --include --trace-ascii log/14/trace81 --trace-time http://127.0.0.1:34115/81 --proxy-user testuser:testpass -x http://127.0.0.1:34115 --proxy-ntlm > log/14/stdout81 2> log/14/stderr81 81: 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/ dir 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/14/valgrind81 ../src/curl -q --output log/14/curl81.out --include --trace-ascii log/14/trace81 --trace-time http://127.0.0.1:34115/81 --proxy-user testuser:testpass -x http://127.0.0.1:34115 --proxy-ntlm > log/14/stdout81 2> log/14/stderr81 === End of file commands.log === Start of file http_server.log 07:51:01.087400 ====> Client connect 07:51:01.087424 accept_connection 3 returned 4 07:51:01.087437 accept_connection 3 returned 0 07:51:01.087448 Read 93 bytes 07:51:01.087457 Process 93 bytes request 07:51:01.087467 Got request: GET /verifiedserver HTTP/1.1 07:51:01.087475 Are-we-friendly question received 07:51:01.087494 Wrote request (93 bytes) input to log/14/server.input 07:51:01.087507 Identifying ourselves as friends 07:51:01.087548 Response sent (56 bytes) and written to log/14/server.response 07:51:01.087556 special request received, no persistency 07:51:01.087564 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind81 ==79408== ==79408== Process terminating with default action of signal 4 (SIGILL) ==79408== Illegal opcode at address 0x4013DC0 ==79408== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79408== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79408== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79408== by 0x40037A4: main (tool_main.c:199) === End of file valgrind81 CMD (33792): ../libtool --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/valgrind85 ../src/curl -q --output log/19/curl85.out --include --trace-ascii log/19/trace85 --trace-time http://127.0.0.1:34835/we/want/that/page/85 -x 127.0.0.1:34835 --user iam:myself --proxy-user testing:this > log/19/stdout85 2> log/19/stderr85 CMD (33792): ../libtool --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/valgrind84 ../src/curl -q --output log/18/curl84.out --include --trace-ascii log/18/trace84 --trace-time http://127.0.0.1:46763/we/want/that/page/84 -x 127.0.0.1:46763 --user iam:myself > log/18/stdout84 2> log/18/stderr84 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/4/valgrind87 ../src/curl -q --include --trace-ascii log/4/trace87 --trace-time "http://127.0.0.1:43573/[870001-870002]" -o "log/4/dumpit87-#2.dump" > log/4/stdout87 2> log/4/stderr87 87: output (log/4/dumpit87-#2.dump) FAILED: --- log/4/check-expected 2025-11-07 07:51:02.190706727 +0000 +++ log/4/check-generated 2025-11-07 07:51:02.190706727 +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/4/ dir 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/4/valgrind87 ../src/curl -q --include --trace-ascii log/4/trace87 --trace-time "http://127.0.0.1:43573/[870001-870002]" -o "log/4/dumpit87-#2.dump" > log/4/stdout87 2> log/4/stderr87 === End of file commands.log === Start of file http_server.log 07:51:02.297018 ====> Client connect 07:51:02.297056 accept_connection 3 returned 4 07:51:02.297070 accept_connection 3 returned 0 07:51:02.297081 Read 93 bytes 07:51:02.297089 Process 93 bytes request 07:51:02.297098 Got request: GET /verifiedserver HTTP/1.1 07:51:02.297107 Are-we-friendly question received 07:51:02.297143 Wrote request (93 bytes) input to log/4/server.input 07:51:02.297160 Identifying ourselves as friends 07:51:02.297212 Response sent (56 bytes) and written to log/4/server.response 07:51:02.297221 special request received, no persistency 07:51:02.297229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind87 ==79623== ==79623== Process terminating with default action of signal 4 (SIGILL) ==79623== Illegal opcode at address 0x4013DC0 ==79623== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79623== by 0x40037A4: main (tool_main.c:199) === End of file valgrind87 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/19/valgrind85 ../src/curl -q --output log/19/curl85.out --include --trace-ascii log/19/trace85 --trace-time http://127.0.0.1:34835/we/want/that/page/85 -x 127.0.0.1:34835 --user iam:myself --proxy-user testing:this > log/19/stdout85 2> log/19/stderr85 85: 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/ dir after test 85 === Start of file commands.log ../libtool --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/valgrind85 ../src/curl -q --output log/19/curl85.out --include --trace-ascii log/19/trace85 --trace-time http://127.0.0.1:34835/we/want/that/page/85 -x 127.0.0.1:34835 --user iam:myself --proxy-user testing:this > log/19/stdout85 2> log/19/stderr85 === End of file commands.log === Start of file http_server.log 07:51:01.293556 ====> Client connect 07:51:01.293589 accept_connection 3 returned 4 07:51:01.293607 accept_connection 3 returned 0 07:51:01.293622 Read 93 bytes 07:51:01.293633 Process 93 bytes request 07:51:01.293646 Got request: GET /verifiedserver HTTP/1.1 07:51:01.293657 Are-we-friendly question received 07:51:01.293684 Wrote request (93 bytes) input to log/19/server.input 07:51:01.293702 Identifying ourselves as friends 07:51:01.293760 Response sent (56 bytes) and written to log/19/server.response 07:51:01.293773 special request received, no persistency 07:51:01.293784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 52886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind85 ==79603== ==79603== Process terminating with default action of signal 4 (SIGILL) ==79603== Illegal opcode at address 0x4013DC0 ==79603== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79603== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79603== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79603== by 0x40037A4: main (tool_main.c:199) === End of file valgrind85 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/18/valgrind84 ../src/curl -q --output log/18/curl84.out --include --trace-ascii log/18/trace84 --trace-time http://127.0.0.1:46763/we/want/that/page/84 -x 127.0.0.1:46763 --user iam:myself > log/18/stdout84 2> log/18/stderr84 84: 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/ dir 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/18/valgrind84 ../src/curl -q --output log/18/curl84.out --include --trace-ascii log/18/trace84 --trace-time http://127.0.0.1:46763/we/want/that/page/84 -x 127.0.0.1:46763 --user iam:myself > log/18/stdout84 2> log/18/stderr84 === End of file commands.log === Start of file http_server.log 07:51:02.289216 ====> Client connect 07:51:02.289242 accept_connection 3 returned 4 07:51:02.289255 accept_connection 3 returned 0 07:51:02.289266 Read 93 bytes 07:51:02.289274 Process 93 bytes request 07:51:02.289284 Got request: GET /verifiedserver HTTP/1.1 07:51:02.289292 Are-we-friendly question received 07:51:02.289312 Wrote request (93 bytes) input to log/18/server.input 07:51:02.289325 Identifying ourselves as friends 07:51:02.289364 Response sent (56 bytes) and written to log/18/server.response 07:51:02.289373 special request received, no persistency 07:51:02.289381 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 48192 * using HTTP/1.x > GET /verifiedservCMD (33792): ../libtool --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/valgrind88 ../src/curl -q --output log/16/curl88.out --include --trace-ascii log/16/trace88 --trace-time http://127.0.0.1:44351/88 -T log/16/put88 -u testuser:testpass --digest > log/16/stdout88 2> log/16/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/15/valgrind89 ../src/curl -q --output log/15/curl89.out --include --trace-ascii log/15/trace89 --trace-time http://127.0.0.1:43789/89 -u testuser:testpass --ntlm -L > log/15/stdout89 2> log/15/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/3/valgrind86 ../src/curl -q --include --trace-ascii log/3/trace86 --trace-time "http://127.0.0.1:34059/[860001-860003]" -o "log/3/dumpit#1.dump" > log/3/stdout86 2> log/3/stderr86 er HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind84 ==79590== ==79590== Process terminating with default action of signal 4 (SIGILL) ==79590== Illegal opcode at address 0x4013DC0 ==79590== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79590== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79590== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79590== by 0x40037A4: main (tool_main.c:199) === 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/16/valgrind88 ../src/curl -q --output log/16/curl88.out --include --trace-ascii log/16/trace88 --trace-time http://127.0.0.1:44351/88 -T log/16/put88 -u testuser:testpass --digest > log/16/stdout88 2> log/16/stderr88 88: 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/ dir 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/16/valgrind88 ../src/curl -q --output log/16/curl88.out --include --trace-ascii log/16/trace88 --trace-time http://127.0.0.1:44351/88 -T log/16/put88 -u testuser:testpass --digest > log/16/stdout88 2> log/16/stderr88 === End of file commands.log === Start of file http_server.log 07:51:01.312479 ====> Client connect 07:51:01.312519 accept_connection 3 returned 4 07:51:01.312549 accept_connection 3 returned 0 07:51:01.312564 Read 93 bytes 07:51:01.312575 Process 93 bytes request 07:51:01.312587 Got request: GET /verifiedserver HTTP/1.1 07:51:01.312598 Are-we-friendly question received 07:51:01.312623 Wrote request (93 bytes) input to log/16/server.input 07:51:01.312641 Identifying ourselves as friends 07:51:01.312695 Response sent (56 bytes) and written to log/16/server.response 07:51:01.312705 special request received, no persistency 07:51:01.312715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 59042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.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:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind88 ==79734== ==79734== Process terminating with default action of signal 4 (SIGILL) ==79734== Illegal opcode at address 0x4013DC0 ==79734== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79734== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79734== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79734== by 0x40037A4: main (tool_main.c:199) === 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/15/valgrind89 ../src/curl -q --output log/15/curl89.out --include --trace-ascii log/15/trace89 --trace-time http://127.0.0.1:43789/89 -u testuser:testpass --ntlm -L > log/15/stdout89 2> log/15/stderr89 89: 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/ dir 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/15/valgrind89 ../src/curl -q --output log/15/curl89.out --include --trace-ascii log/15/trace89 --trace-time http://127.0.0.1:43789/89 -u testuser:testpass --ntlm -L > log/15/stdout89 2> log/15/stderr89 === End of file commands.log === Start of file http_server.log 07:51:01.322540 ====> Client connect 07:51:01.322575 accept_connection 3 returned 4 07:51:01.322593 accept_connection 3 returned 0 07:51:01.322608 Read 93 bytes 07:51:01.322622 Process 93 bytes request 07:51:01.322638 Got request: GET /verifiedserver HTTP/1.1 07:51:01.322648 Are-we-friendly question received 07:51:01.322674 Wrote request (93 bytes) input to log/15/server.input 07:51:01.322695 Identifying ourselves as friends 07:51:01.322759 Response sent (56 bytes) and written to log/15/server.response 07:51:01.322775 special request received, no persistency 07:51:01.322785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 47196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind89 ==79821== ==79821== Process terminating with default action of signal 4 (SIGILL) ==79821== Illegal opcode at address 0x4013DC0 ==79821== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79821== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79821== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79821== by 0x40037A4: main (tool_main.c:199) === End of file valgrind89 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/3/valgrind86 ../src/curl -q --include --trace-ascii log/3/trace86 --trace-time "http://127.0.0.1:34059/[860001-860003]" -o "log/3/dumpit#1.dump" > log/3/stdout86 2> log/3/stderr86 86: 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/ dir 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/3/valgrind86 ../src/curl -q --include --trace-ascii log/3/trace86 --trace-time "http://127.0.0.1:34059/[860001-860003]" -o "log/3/dumpit#1.dump" > log/3/stdout86 2> log/3/stderr86 === End of file commands.log === Start of file http_server.log 07:51:02.298561 ====> Client connect 07:51:02.298590 accept_connection 3 returned 4 07:51:02.298607 accept_connection 3 returned 0 07:51:02.298621 Read 93 bytes 07:51:02.298632 Process 93 bytes request 07:51:02.298643 Got 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/5/valgrind90 ../src/curl -q --output log/5/curl90.out --include --trace-ascii log/5/trace90 --trace-time http://127.0.0.1:42797/90 -u testuser:testpass --anyauth -L > log/5/stdout90 2> log/5/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/20/valgrind92 ../src/curl -q --output log/20/curl92.out --include --trace-ascii log/20/trace92 --trace-time http://127.0.0.1:40357/want/92 -C 87 > log/20/stdout92 2> log/20/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/valgrind91 ../src/curl -q --output log/17/curl91.out --include --trace-ascii log/17/trace91 --trace-time http://127.0.0.1:42601/91 --anyauth -u mydomain\\myself:secret > log/17/stdout91 2> log/17/stderr91 equest: GET /verifiedserver HTTP/1.1 07:51:02.298653 Are-we-friendly question received 07:51:02.298677 Wrote request (93 bytes) input to log/3/server.input 07:51:02.298694 Identifying ourselves as friends 07:51:02.298748 Response sent (56 bytes) and written to log/3/server.response 07:51:02.298759 special request received, no persistency 07:51:02.298769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 36228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind86 ==79641== ==79641== Process terminating with default action of signal 4 (SIGILL) ==79641== Illegal opcode at address 0x4013DC0 ==79641== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79641== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79641== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79641== by 0x40037A4: main (tool_main.c:199) === End of file valgrind86 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/5/valgrind90 ../src/curl -q --output log/5/curl90.out --include --trace-ascii log/5/trace90 --trace-time http://127.0.0.1:42797/90 -u testuser:testpass --anyauth -L > log/5/stdout90 2> log/5/stderr90 90: 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/ dir 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/5/valgrind90 ../src/curl -q --output log/5/curl90.out --include --trace-ascii log/5/trace90 --trace-time http://127.0.0.1:42797/90 -u testuser:testpass --anyauth -L > log/5/stdout90 2> log/5/stderr90 === End of file commands.log === Start of file http_server.log 07:51:01.549623 ====> Client connect 07:51:01.549662 accept_connection 3 returned 4 07:51:01.549679 accept_connection 3 returned 0 07:51:01.549695 Read 93 bytes 07:51:01.549706 Process 93 bytes request 07:51:01.549719 Got request: GET /verifiedserver HTTP/1.1 07:51:01.549730 Are-we-friendly question received 07:51:01.549757 Wrote request (93 bytes) input to log/5/server.input 07:51:01.549774 Identifying ourselves as friends 07:51:01.549829 Response sent (56 bytes) and written to log/5/server.response 07:51:01.549840 special request received, no persistency 07:51:01.549851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind90 ==79988== ==79988== Process terminating with default action of signal 4 (SIGILL) ==79988== Illegal opcode at address 0x4013DC0 ==79988== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79988== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79988== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79988== by 0x40037A4: main (tool_main.c:199) === End of file valgrind90 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/17/valgrind91 ../src/curl -q --output log/17/curl91.out --include --trace-ascii log/17/trace91 --trace-time http://127.0.0.1:42601/91 --anyauth -u mydomain\\myself:secret > log/17/stdout91 2> log/17/stderr91 91: 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/ dir 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/17/valgrind91 ../src/curl -q --output log/17/curl91.out --include --trace-ascii log/17/trace91 --trace-time http://127.0.0.1:42601/91 --anyauth -u mydomain\\myself:secret > log/17/stdout91 2> log/17/stderr91 === End of file commands.log === Start of file http_server.log 07:51:02.549622 ====> Client connect 07:51:02.549663 accept_connection 3 returned 4 07:51:02.549679 accept_connection 3 returned 0 07:51:02.549695 Read 93 bytes 07:51:02.549706 Process 93 bytes request 07:51:02.549719 Got request: GET /verifiedserver HTTP/1.1 07:51:02.549730 Are-we-friendly question received 07:51:02.549763 Wrote request (93 bytes) input to log/17/server.input 07:51:02.549780 Identifying ourselves as friends 07:51:02.549829 Response sent (56 bytes) and written to log/17/server.response 07:51:02.549840 special request received, no persistency 07:51:02.549851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 53784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind91 ==79986== ==79986== Process terminating with default action of signal 4 (SIGILL) ==79986== Illegal opcode at address 0x4013DC0 ==79986== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79986== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79986== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79986== by 0x40037A4: main (tool_main.c:199) === End of file valgrind91 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/20/valgrind92 ../src/curl -q --output log/20/curl92.out --include --trace-ascii log/20/trace92 --trace-time http://127.0.0.1:40357/want/92 -C 87 > log/20/stdout92 2> log/20/stderr92 92: 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/ dir after test 92 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yCMD (33792): ../libtool --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/valgrind93 ../src/curl -q --output log/12/curl93.out --include --trace-ascii log/12/trace93 --trace-time http://127.0.0.1:38023/93 -x 127.0.0.1:38023 > log/12/stdout93 2> log/12/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/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:34041/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 es --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind92 ../src/curl -q --output log/20/curl92.out --include --trace-ascii log/20/trace92 --trace-time http://127.0.0.1:40357/want/92 -C 87 > log/20/stdout92 2> log/20/stderr92 === End of file commands.log === Start of file http_server.log 07:51:01.551444 ====> Client connect 07:51:01.551470 accept_connection 3 returned 4 07:51:01.551484 accept_connection 3 returned 0 07:51:01.551495 Read 93 bytes 07:51:01.551503 Process 93 bytes request 07:51:01.551513 Got request: GET /verifiedserver HTTP/1.1 07:51:01.551524 Are-we-friendly question received 07:51:01.551543 Wrote request (93 bytes) input to log/20/server.input 07:51:01.551556 Identifying ourselves as friends 07:51:01.551596 Response sent (56 bytes) and written to log/20/server.response 07:51:01.551604 special request received, no persistency 07:51:01.551612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind92 ==79973== ==79973== Process terminating with default action of signal 4 (SIGILL) ==79973== Illegal opcode at address 0x4013DC0 ==79973== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==79973== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79973== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==79973== by 0x40037A4: main (tool_main.c:199) === End of file valgrind92 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/12/valgrind93 ../src/curl -q --output log/12/curl93.out --include --trace-ascii log/12/trace93 --trace-time http://127.0.0.1:38023/93 -x 127.0.0.1:38023 > log/12/stdout93 2> log/12/stderr93 93: 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/ dir 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/12/valgrind93 ../src/curl -q --output log/12/curl93.out --include --trace-ascii log/12/trace93 --trace-time http://127.0.0.1:38023/93 -x 127.0.0.1:38023 > log/12/stdout93 2> log/12/stderr93 === End of file commands.log === Start of file http_server.log 07:51:01.752196 ====> Client connect 07:51:01.752222 accept_connection 3 returned 4 07:51:01.752236 accept_connection 3 returned 0 07:51:01.752250 Read 93 bytes 07:51:01.752259 Process 93 bytes request 07:51:01.752270 Got request: GET /verifiedserver HTTP/1.1 07:51:01.752278 Are-we-friendly question received 07:51:01.752300 Wrote request (93 bytes) input to log/12/server.input 07:51:01.752315 Identifying ourselves as friends 07:51:01.752359 Response sent (56 bytes) and written to log/12/server.response 07:51:01.752368 special request received, no persistency 07:51:01.752376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 52050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind93 ==80148== ==80148== Process terminating with default action of signal 4 (SIGILL) ==80148== Illegal opcode at address 0x4013DC0 ==80148== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80148== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80148== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80148== by 0x40037A4: main (tool_main.c:199) === End of file valgrind93 CMD (33792): ../libtool --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/valgrind94 ../src/curl -q --output log/7/curl94.out --include --trace-ascii log/7/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:39661 > log/7/stdout94 2> log/7/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/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:43955/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/19/valgrind98 ../src/curl -q --output log/19/curl98.out --include --trace-ascii log/19/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:34835/98 log/19/stdout98 2> log/19/stderr98 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 74555 port 34041 * pid http => 74555 74555 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:34041/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 2025-11-07 07:51:02.650706732 +0000 +++ log/10/check-generated 2025-11-07 07:51:02.650706732 +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:34041/want/15 200 26[LF] == Contents of files in the log/10/ dir 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:34041/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:34041/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 07:50:42.565145 Running HTTP IPv4 version on port 34041 07:50:42.565205 Wrote pid 74555 to log/10/server/http_server.pid 07:50:42.565241 Wrote port 34041 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 ==75232== ==75232== Process terminating with default action of signal 4 (SIGILL) ==75232== Illegal opcode at address 0x4013DC0 ==75232== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75232== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75232== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75232== by 0x40037A4: main (tool_main.c:199) === 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/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 74876 port 43955 * pid http => 74876 74876 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:43955/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/ dir 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:43955/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 07:50:43.974326 Running HTTP IPv4 version on port 43955 07:50:43.974392 Wrote pid 74876 to log/2/server/http_server.pid 07:50:43.974419 Wrote port 43955 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 ==75484== ==75484== Process terminating with default action of signal 4 (SIGILL) ==75484== Illegal opcode at address 0x4013DC0 ==75484== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75484== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75484== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75484== by 0x40037A4: main (tool_main.c:199) === End of file valgrind23 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/7/valgrind94 ../src/curl -q --output log/7/curl94.out --include --trace-ascii log/7/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:39661 > log/7/stdout94 2> log/7/stderr94 94: 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/ dir 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/7/valgrind94 ../src/curl -q --output log/7/curl94.out --include --trace-ascii log/7/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:39661 > log/7/stdout94 2> log/7/stderr94 === End of file commands.log === Start of file http_server.log 07:51:02.819294 ====> Client connect 07:51:02.819324 accept_connection 3 returned 4 07:51:02.819341 accept_connection 3 returned 0 07:51:02.819355 Read 93 bytes 07:51:02.819366 Process 93 bytes request 07:51:02.819377 Got request: GET /verifiedserver HTTP/1.1 07:51:02.819385 Are-we-friendly question received 07:51:02.819405 Wrote request (93 bytes) input to log/7/server.input 07:51:02.819419 Identifying ourselves as friends 07:51:02.819469 Response sent (56 bytes) and written to log/7/server.response 07:51:02.819477 special request received, no persistency 07:51:02.819485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 41114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind94 ==80232== ==80232== Process terminating with default action of signal 4 (SIGILL) ==80232== Illegal opcode at address 0x4013DC0 ==80232== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80232== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80232== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80232== by 0x40037A4: main (tool_main.c:199) === End of file valgrind94 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/19/valgrind98 ../src/curl -q --output log/19/curl98.out --include --trace-ascii log/19/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:34835/98 log/19/stdout98 2> log/19/stderr98 98: 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/8/valgrind80 ../src/curl -q --output log/8/curl80.out --include --trace-ascii log/8/trace80 --trace-time http://test.80:36147/we/want/that/page/80 -p --proxy1.0 127.0.0.1:43791 --user iam:myself --proxy-user youare:yourself -A "" > log/8/stdout80 2> log/8/stderr80 CMD (33792): ../libtool --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/valgrind97 ../src/curl -q --output log/4/curl97.out --include --trace-ascii log/4/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:43573/97 > log/4/stdout97 2> log/4/stderr97 CMD (33792): ../libtool --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:40377/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/18/valgrind99 ../src/curl -q --output log/18/curl99.out --include --trace-ascii log/18/trace99 --trace-time http://127.0.0.1:46763/99 -C 9999999999 > log/18/stdout99 2> log/18/stderr99 ontent at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ dir 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/19/valgrind98 ../src/curl -q --output log/19/curl98.out --include --trace-ascii log/19/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:34835/98 log/19/stdout98 2> log/19/stderr98 === End of file commands.log === Start of file http_server.log 07:51:02.040865 ====> Client connect 07:51:02.040894 accept_connection 3 returned 4 07:51:02.040909 accept_connection 3 returned 0 07:51:02.040920 Read 93 bytes 07:51:02.040928 Process 93 bytes request 07:51:02.040937 Got request: GET /verifiedserver HTTP/1.1 07:51:02.040945 Are-we-friendly question received 07:51:02.040964 Wrote request (93 bytes) input to log/19/server.input 07:51:02.040977 Identifying ourselves as friends 07:51:02.041023 Response sent (56 bytes) and written to log/19/server.response 07:51:02.041031 special request received, no persistency 07:51:02.041038 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 52896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.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:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==80343== ==80343== Process terminating with default action of signal 4 (SIGILL) ==80343== Illegal opcode at address 0x4013DC0 ==80343== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80343== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80343== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80343== by 0x40037A4: main (tool_main.c:199) === End of file valgrind98 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 79371 port 43791 * pid http-proxy => 79371 79371 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/8/valgrind80 ../src/curl -q --output log/8/curl80.out --include --trace-ascii log/8/trace80 --trace-time http://test.80:36147/we/want/that/page/80 -p --proxy1.0 127.0.0.1:43791 --user iam:myself --proxy-user youare:yourself -A "" > log/8/stdout80 2> log/8/stderr80 80: 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/ dir 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/8/valgrind80 ../src/curl -q --output log/8/curl80.out --include --trace-ascii log/8/trace80 --trace-time http://test.80:36147/we/want/that/page/80 -p --proxy1.0 127.0.0.1:43791 --user iam:myself --proxy-user youare:yourself -A "" > log/8/stdout80 2> log/8/stderr80 === End of file commands.log === Start of file http2_server.log 07:51:01.084972 Run as proxy, CONNECT to host 127.0.0.1 07:51:01.085061 Running HTTP IPv4 version on port 43791 07:51:01.085101 Wrote pid 79371 to log/8/server/http2_server.pid 07:51:01.085130 Wrote port 43791 to log/8/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:51:01.067156 ====> Client connect 07:51:01.067182 accept_connection 3 returned 4 07:51:01.067196 accept_connection 3 returned 0 07:51:01.067207 Read 93 bytes 07:51:01.067216 Process 93 bytes request 07:51:01.067226 Got request: GET /verifiedserver HTTP/1.1 07:51:01.067234 Are-we-friendly question received 07:51:01.067252 Wrote request (93 bytes) input to log/8/server.input 07:51:01.067265 Identifying ourselves as friends 07:51:01.067306 Response sent (56 bytes) and written to log/8/server.response 07:51:01.067315 special request received, no persistency 07:51:01.067322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 45148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind80 ==80474== ==80474== Process terminating with default action of signal 4 (SIGILL) ==80474== Illegal opcode at address 0x4013DC0 ==80474== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80474== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80474== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80474== by 0x40037A4: main (tool_main.c:199) === End of file valgrind80 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/4/valgrind97 ../src/curl -q --output log/4/curl97.out --include --trace-ascii log/4/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:43573/97 > log/4/stdout97 2> log/4/stderr97 97: 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/ dir 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-callers=16 --log-file=log/4/valgrind97 ../src/curl -q --output log/4/curl97.out --include --trace-ascii log/4/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:43573/97 > log/4/stdout97 2> log/4/stderr97 === End of file commands.log === Start of file http_server.log 07:51:03.040574 ====> Client connect 07:51:03.040600 accept_connection 3 returned 4 07:51:03.040614 accept_connection 3 returned 0 07:51:03.040625 Read 93 bytes 07:51:03.040633 Process 93 bytes request 07:51:03.040643 Got request: GET /verifiedserver HTTP/1.1 07:51:03.040650 Are-we-friendly question received 07:51:03.040670 Wrote request (93 bytes) input to log/4/server.input 07:51:03.040683 Identifying ourselves as friends 07:51:03.040724 Response sent (56 bytes) and written to log/4/server.response 07:51:03.040733 special request received, no persistency 07:51:03.040740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established CMD (33792): ../libtool --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/valgrind83 ../src/curl -q --output log/13/curl83.out --include --trace-ascii log/13/trace83 --trace-time http://test.83:35041/we/want/that/page/83 -p -x 127.0.0.1:36447 --user 'iam:my:;self' > log/13/stdout83 2> log/13/stderr83 connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind97 ==80345== ==80345== Process terminating with default action of signal 4 (SIGILL) ==80345== Illegal opcode at address 0x4013DC0 ==80345== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80345== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80345== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80345== by 0x40037A4: main (tool_main.c:199) === End of file valgrind97 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/18/valgrind99 ../src/curl -q --output log/18/curl99.out --include --trace-ascii log/18/trace99 --trace-time http://127.0.0.1:46763/99 -C 9999999999 > log/18/stdout99 2> log/18/stderr99 99: 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/ dir 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/18/valgrind99 ../src/curl -q --output log/18/curl99.out --include --trace-ascii log/18/trace99 --trace-time http://127.0.0.1:46763/99 -C 9999999999 > log/18/stdout99 2> log/18/stderr99 === End of file commands.log === Start of file http_server.log 07:51:03.041303 ====> Client connect 07:51:03.041337 accept_connection 3 returned 4 07:51:03.041355 accept_connection 3 returned 0 07:51:03.041371 Read 93 bytes 07:51:03.041381 Process 93 bytes request 07:51:03.041393 Got request: GET /verifiedserver HTTP/1.1 07:51:03.041404 Are-we-friendly question received 07:51:03.041439 Wrote request (93 bytes) input to log/18/server.input 07:51:03.041458 Identifying ourselves as friends 07:51:03.041520 Response sent (56 bytes) and written to log/18/server.response 07:51:03.041533 special request received, no persistency 07:51:03.041543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 48194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind99 ==80351== ==80351== Process terminating with default action of signal 4 (SIGILL) ==80351== Illegal opcode at address 0x4013DC0 ==80351== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80351== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80351== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80351== by 0x40037A4: main (tool_main.c:199) === End of file valgrind99 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 74395 port 40377 * pid http => 74395 74395 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:40377/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/ dir 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:40377/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 07:50:41.457990 Running HTTP IPv4 version on port 40377 07:50:41.458044 Wrote pid 74395 to log/22/server/http_server.pid 07:50:41.458065 Wrote port 40377 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 ==74505== ==74505== Process terminating with default action of signal 4 (SIGILL) ==74505== Illegal opcode at address 0x4013DC0 ==74505== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74505== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3 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 79581 port 36447 * pid http-proxy => 79581 79581 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/13/valgrind83 ../src/curl -q --output log/13/curl83.out --include --trace-ascii log/13/trace83 --trace-time http://test.83:35041/we/want/that/page/83 -p -x 127.0.0.1:36447 --user 'iam:my:;self' > log/13/stdout83 2> log/13/stderr83 83: 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/ dir 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/13/valgrind83 ../src/curl -q --output log/13/curl83.out --include --trace-ascii log/13/trace83 --trace-time http://test.83:35041/we/want/that/page/83 -p -x 127.0.0.1:36447 --user 'iam:my:;self' > log/13/stdout83 2> log/13/stderr83 === End of file commands.log === Start of file http2_server.log 07:51:01.307692 Run as proxy, CONNECT to host 127.0.0.1 07:51:01.307785 Running HTTP IPv4 version on port 36447 07:51:01.307830 Wrote pid 79581 to log/13/server/http2_server.pid 07:51:01.307870 Wrote port 36447 to log/13/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:51:01.289734 ====> 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/14/valgrind95 ../src/curl -q --output log/14/curl95.out --include --trace-ascii log/14/trace95 --trace-time http://test.95:34115/we/want/that/page/95 -p -x 127.0.0.1:33309 -d "datatopost=ohthatsfunyesyes" > log/14/stdout95 2> log/14/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/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/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:42717 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 07:51:01.289760 accept_connection 3 returned 4 07:51:01.289774 accept_connection 3 returned 0 07:51:01.289785 Read 93 bytes 07:51:01.289794 Process 93 bytes request 07:51:01.289804 Got request: GET /verifiedserver HTTP/1.1 07:51:01.289812 Are-we-friendly question received 07:51:01.289831 Wrote request (93 bytes) input to log/13/server.input 07:51:01.289844 Identifying ourselves as friends 07:51:01.289886 Response sent (56 bytes) and written to log/13/server.response 07:51:01.289894 special request received, no persistency 07:51:01.289902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 58140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind83 ==80559== ==80559== Process terminating with default action of signal 4 (SIGILL) ==80559== Illegal opcode at address 0x4013DC0 ==80559== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80559== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80559== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80559== by 0x40037A4: main (tool_main.c:199) === End of file valgrind83 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/14/server/http2_server.pid" --logfile "log/14/http2_server.log" --logdir "log/14" --portfile log/14/server/http2_server.port --config log/14/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 80233 port 33309 * pid http-proxy => 80233 80233 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/14/valgrind95 ../src/curl -q --output log/14/curl95.out --include --trace-ascii log/14/trace95 --trace-time http://test.95:34115/we/want/that/page/95 -p -x 127.0.0.1:33309 -d "datatopost=ohthatsfunyesyes" > log/14/stdout95 2> log/14/stderr95 95: 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/ dir 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/14/valgrind95 ../src/curl -q --output log/14/curl95.out --include --trace-ascii log/14/trace95 --trace-time http://test.95:34115/we/want/that/page/95 -p -x 127.0.0.1:33309 -d "datatopost=ohthatsfunyesyes" > log/14/stdout95 2> log/14/stderr95 === End of file commands.log === Start of file http2_server.log 07:51:02.841961 Run as proxy, CONNECT to host 127.0.0.1 07:51:02.842043 Running HTTP IPv4 version on port 33309 07:51:02.842072 Wrote pid 80233 to log/14/server/http2_server.pid 07:51:02.842094 Wrote port 33309 to log/14/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:51:01.825441 ====> Client connect 07:51:01.825481 accept_connection 3 returned 4 07:51:01.825500 accept_connection 3 returned 0 07:51:01.825515 Read 93 bytes 07:51:01.825526 Process 93 bytes request 07:51:01.825539 Got request: GET /verifiedserver HTTP/1.1 07:51:01.825549 Are-we-friendly question received 07:51:01.825575 Wrote request (93 bytes) input to log/14/server.input 07:51:01.825593 Identifying ourselves as friends 07:51:01.825662 Response sent (56 bytes) and written to log/14/server.response 07:51:01.825675 special request received, no persistency 07:51:01.825685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind95 ==80645== ==80645== Process terminating with default action of signal 4 (SIGILL) ==80645== Illegal opcode at address 0x4013DC0 ==80645== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80645== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80645== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80645== by 0x40037A4: main (tool_main.c:199) === End of file valgrind95 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/ dir 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 ==74727== ==74727== Process terminating with default action of signal 4 (SIGILL) ==74727== Illegal opcode at address 0x4013DC0 ==74727== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74727== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74727== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74727== by 0x40037A4: main (tool_main.c:199) === End of file valgrind19 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 74613 port 42717 * pid http => 74613 74613 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:42717 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/ dir after test 16 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiCMD (33792): ../libtool --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:37855/test-100/ > log/16/stdout100 2> log/16/stderr100 CMD (33792): ../libtool --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/valgrind101 ../src/curl -q --output log/15/curl101.out --include --trace-ascii log/15/trace101 --trace-time ftp://127.0.0.1:38789/ -P 127.0.0.1 > log/15/stdout101 2> log/15/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/3/valgrind102 ../src/curl -q --output log/3/curl102.out --include --trace-ascii log/3/trace102 --trace-time ftp://127.0.0.1:41643/102 > log/3/stdout102 2> log/3/stderr102 et --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:42717 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 07:50:42.664651 Running HTTP IPv4 version on port 42717 07:50:42.664731 Wrote pid 74613 to log/9/server/http_server.pid 07:50:42.664754 Wrote port 42717 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 ==75284== ==75284== Process terminating with default action of signal 4 (SIGILL) ==75284== Illegal opcode at address 0x4013DC0 ==75284== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75284== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75284== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75284== by 0x40037A4: main (tool_main.c:199) === End of file valgrind16 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 37855 (log/16/server/ftp_server.port) RUN: FTP server is PID 80324 port 37855 * pid ftp => 80324 80324 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:37855/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/ dir 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:37855/test-100/ > log/16/stdout100 2> log/16/stderr100 === End of file commands.log === Start of file ftp_server.log 07:51:02.233973 FTP server listens on port IPv4/37855 07:51:02.234036 logged pid 80324 in log/16/server/ftp_server.pid 07:51:02.234059 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.061705 Running IPv4 version 07:51:02.061767 Listening on port 37855 07:51:02.061802 Wrote pid 80390 to log/16/server/ftp_sockctrl.pid 07:51:02.061826 Wrote port 37855 to log/16/server/ftp_server.port 07:51:02.061842 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 ==80699== ==80699== Process terminating with default action of signal 4 (SIGILL) ==80699== Illegal opcode at address 0x4013DC0 ==80699== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80699== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80699== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80699== by 0x40037A4: main (tool_main.c:199) === End of file valgrind100 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 38789 (log/15/server/ftp_server.port) RUN: FTP server is PID 80326 port 38789 * pid ftp => 80326 80326 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/15/valgrind101 ../src/curl -q --output log/15/curl101.out --include --trace-ascii log/15/trace101 --trace-time ftp://127.0.0.1:38789/ -P 127.0.0.1 > log/15/stdout101 2> log/15/stderr101 101: 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/ dir 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/15/valgrind101 ../src/curl -q --output log/15/curl101.out --include --trace-ascii log/15/trace101 --trace-time ftp://127.0.0.1:38789/ -P 127.0.0.1 > log/15/stdout101 2> log/15/stderr101 === End of file commands.log === Start of file ftp_server.log 07:51:02.234627 FTP server listens on port IPv4/38789 07:51:02.234693 logged pid 80326 in log/15/server/ftp_server.pid 07:51:02.234714 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.062336 Running IPv4 version 07:51:02.062394 Listening on port 38789 07:51:02.062427 Wrote pid 80393 to log/15/server/ftp_sockctrl.pid 07:51:02.062471 Wrote port 38789 to log/15/server/ftp_server.port 07:51:02.062487 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 ==80700== ==80700== Process terminating with default action of signal 4 (SIGILL) ==80700== Illegal opcode at address 0x4013DC0 ==80700== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80700== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80700== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80700== by 0x40037A4: main (tool_main.c:199) === End of file valgrind101 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 41643 (log/3/server/ftp_server.port) RUN: FTP server is PID 80340 port 41643 * pid ftp => 80340 80340 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/3/valgrind102 ../src/curl -q --output log/3/curl102.out --include --trace-ascii log/3/trace102 --trace-time ftp://127.0.0.1:41643/102 > log/3/stdout102 2> log/3/stderr102 102: 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/ dir 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/3/valgrind102 ../src/curl -q --output log/3/curl102.out --include --trace-ascii log/3/trace102 --trace-time ftp://127.0.0.1:41643/102 > log/3/stdout102 2> log/3/stderr102 === End of file commands.log === Start of file ftp_server.log 07:51:02.235231 FTP server listens on port IPv4/41643 07:51:02.235290 logged pid 80340 in log/3/server/ftp_server.pid 07:51:02.235311 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.062881 Running IPv4 version 07:51:02.062933 Listening on port 41643 07:51:02.062965 Wrote pid 80396 to log/3/server/ftp_sockctrl.pid 07:51:02.062988 Wrote port 41643 to log/3/server/ftp_server.port 07:51:02.063108 Received PING (on stdin) === End of file ftp_sockctrl.CMD (33792): ../libtool --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/valgrind104 ../src/curl -q --output log/20/curl104.out --include --trace-ascii log/20/trace104 --trace-time ftp://127.0.0.1:33651/a/path/104 --head > log/20/stdout104 2> log/20/stderr104 CMD (33792): ../libtool --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/valgrind103 ../src/curl -q --output log/5/curl103.out --include --trace-ascii log/5/trace103 --trace-time ftp://127.0.0.1:39251/a/path/103 -P - > log/5/stdout103 2> log/5/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/17/valgrind105 ../src/curl -q --output log/17/curl105.out --include --trace-ascii log/17/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:44771/105 --use-ascii > log/17/stdout105 2> log/17/stderr105 CMD (33792): ../libtool --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/valgrind107 ../src/curl -q --output log/10/curl107.out --include --trace-ascii log/10/trace107 --trace-time ftp://127.0.0.1:36851/107 -T log/10/test107.txt > log/10/stdout107 2> log/10/stderr107 log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 102 === End of file server.cmd === Start of file valgrind102 ==80706== ==80706== Process terminating with default action of signal 4 (SIGILL) ==80706== Illegal opcode at address 0x4013DC0 ==80706== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80706== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80706== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80706== by 0x40037A4: main (tool_main.c:199) === End of file valgrind102 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 33651 (log/20/server/ftp_server.port) RUN: FTP server is PID 80551 port 33651 * pid ftp => 80551 80551 test 0104...[FTP --head to get file size 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/valgrind104 ../src/curl -q --output log/20/curl104.out --include --trace-ascii log/20/trace104 --trace-time ftp://127.0.0.1:33651/a/path/104 --head > log/20/stdout104 2> log/20/stderr104 104: 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/ dir 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/20/valgrind104 ../src/curl -q --output log/20/curl104.out --include --trace-ascii log/20/trace104 --trace-time ftp://127.0.0.1:33651/a/path/104 --head > log/20/stdout104 2> log/20/stderr104 === End of file commands.log === Start of file ftp_server.log 07:51:02.465206 FTP server listens on port IPv4/33651 07:51:02.465270 logged pid 80551 in log/20/server/ftp_server.pid 07:51:02.465293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.292947 Running IPv4 version 07:51:02.292994 Listening on port 33651 07:51:02.293021 Wrote pid 80556 to log/20/server/ftp_sockctrl.pid 07:51:02.293043 Wrote port 33651 to log/20/server/ftp_server.port 07:51:02.293060 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 ==80848== ==80848== Process terminating with default action of signal 4 (SIGILL) ==80848== Illegal opcode at address 0x4013DC0 ==80848== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80848== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80848== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80848== by 0x40037A4: main (tool_main.c:199) === End of file valgrind104 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 39251 (log/5/server/ftp_server.port) RUN: FTP server is PID 80550 port 39251 * pid ftp => 80550 80550 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/5/valgrind103 ../src/curl -q --output log/5/curl103.out --include --trace-ascii log/5/trace103 --trace-time ftp://127.0.0.1:39251/a/path/103 -P - > log/5/stdout103 2> log/5/stderr103 103: 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/ dir 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/5/valgrind103 ../src/curl -q --output log/5/curl103.out --include --trace-ascii log/5/trace103 --trace-time ftp://127.0.0.1:39251/a/path/103 -P - > log/5/stdout103 2> log/5/stderr103 === End of file commands.log === Start of file ftp_server.log 07:51:02.463755 FTP server listens on port IPv4/39251 07:51:02.463814 logged pid 80550 in log/5/server/ftp_server.pid 07:51:02.463834 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.291415 Running IPv4 version 07:51:02.291476 Listening on port 39251 07:51:02.291504 Wrote pid 80555 to log/5/server/ftp_sockctrl.pid 07:51:02.291526 Wrote port 39251 to log/5/server/ftp_server.port 07:51:02.291633 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 ==80847== ==80847== Process terminating with default action of signal 4 (SIGILL) ==80847== Illegal opcode at address 0x4013DC0 ==80847== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80847== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80847== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80847== by 0x40037A4: main (tool_main.c:199) === End of file valgrind103 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 44771 (log/17/server/ftp_server.port) RUN: FTP server is PID 80557 port 44771 * pid ftp => 80557 80557 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/17/valgrind105 ../src/curl -q --output log/17/curl105.out --include --trace-ascii log/17/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:44771/105 --use-ascii > log/17/stdout105 2> log/17/stderr105 105: 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/ dir 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/17/valgrind105 ../src/curl -q --output log/17/curl105.out --include --trace-ascii log/17/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:44771/105 --use-ascii > log/17/stdout105 2> log/17/stderr105 === End of file commands.log === Start of file ftp_server.log 07:51:02.497902 FTP server listens on port IPv4/44771 07:51:02.497992 logged pid 80557 in log/17/server/ftp_server.pid 07:51:02.498014 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.325232 Running IPv4 version 07:51:02.325298 Listening on port 44771 07:51:02.325328 Wrote pid 80602 to log/17/server/ftp_sockctrl.pid 07:51:02.325358 Wrote port 44771 to log/17/server/ftp_server.port 07:51:02.325764 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 ==80938== ==80938== Process terminating with default action of signal 4 (SIGILL) ==80938== Illegal opcode at address 0x4013DC0 ==80938== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==80938== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80938== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==80938== by 0x40037A4: main (tool_main.c:199) === End of file valgrind105 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/srCMD (33792): ../libtool --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/valgrind108 ../src/curl -q --output log/7/curl108.out --include --trace-ascii log/7/trace108 --trace-time ftp://127.0.0.1:36413/CWD/STOR/RETR/108 -T log/7/upload108 -P - > log/7/stdout108 2> log/7/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/12/valgrind106 ../src/curl -q --output log/12/curl106.out --include --trace-ascii log/12/trace106 --trace-time "ftp://127.0.0.1:46141//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/2/valgrind109 ../src/curl -q --output log/2/curl109.out --include --trace-ascii log/2/trace109 --trace-time ftp://127.0.0.1:38579/109 -T log/2/upload109 --append > log/2/stdout109 2> log/2/stderr109 c/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 36851 (log/10/server/ftp_server.port) RUN: FTP server is PID 80620 port 36851 * pid ftp => 80620 80620 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/10/valgrind107 ../src/curl -q --output log/10/curl107.out --include --trace-ascii log/10/trace107 --trace-time ftp://127.0.0.1:36851/107 -T log/10/test107.txt > log/10/stdout107 2> log/10/stderr107 107: 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/ dir 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/10/valgrind107 ../src/curl -q --output log/10/curl107.out --include --trace-ascii log/10/trace107 --trace-time ftp://127.0.0.1:36851/107 -T log/10/test107.txt > log/10/stdout107 2> log/10/stderr107 === End of file commands.log === Start of file ftp_server.log 07:51:02.684176 FTP server listens on port IPv4/36851 07:51:02.684255 logged pid 80620 in log/10/server/ftp_server.pid 07:51:02.684283 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.511873 Running IPv4 version 07:51:02.511939 Listening on port 36851 07:51:02.511978 Wrote pid 80626 to log/10/server/ftp_sockctrl.pid 07:51:02.512009 Wrote port 36851 to log/10/server/ftp_server.port 07:51:02.512030 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 ==81021== ==81021== Process terminating with default action of signal 4 (SIGILL) ==81021== Illegal opcode at address 0x4013DC0 ==81021== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81021== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81021== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81021== by 0x40037A4: main (tool_main.c:199) === End of file valgrind107 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 36413 (log/7/server/ftp_server.port) RUN: FTP server is PID 80622 port 36413 * pid ftp => 80622 80622 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/7/valgrind108 ../src/curl -q --output log/7/curl108.out --include --trace-ascii log/7/trace108 --trace-time ftp://127.0.0.1:36413/CWD/STOR/RETR/108 -T log/7/upload108 -P - > log/7/stdout108 2> log/7/stderr108 108: 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/ dir 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/7/valgrind108 ../src/curl -q --output log/7/curl108.out --include --trace-ascii log/7/trace108 --trace-time ftp://127.0.0.1:36413/CWD/STOR/RETR/108 -T log/7/upload108 -P - > log/7/stdout108 2> log/7/stderr108 === End of file commands.log === Start of file ftp_server.log 07:51:02.688153 FTP server listens on port IPv4/36413 07:51:02.688233 logged pid 80622 in log/7/server/ftp_server.pid 07:51:02.688255 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.512980 Running IPv4 version 07:51:02.513024 Listening on port 36413 07:51:02.513051 Wrote pid 80627 to log/7/server/ftp_sockctrl.pid 07:51:02.513073 Wrote port 36413 to log/7/server/ftp_server.port 07:51:02.515997 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 ==81031== ==81031== Process terminating with default action of signal 4 (SIGILL) ==81031== Illegal opcode at address 0x4013DC0 ==81031== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81031== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81031== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81031== by 0x40037A4: main (tool_main.c:199) === End of file valgrind108 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 46141 (log/12/server/ftp_server.port) RUN: FTP server is PID 80617 port 46141 * pid ftp => 80617 80617 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:46141//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/ dir 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:46141//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 07:51:02.673889 FTP server listens on port IPv4/46141 07:51:02.673945 logged pid 80617 in log/12/server/ftp_server.pid 07:51:02.673963 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.501632 Running IPv4 version 07:51:02.501699 Listening on port 46141 07:51:02.501730 Wrote pid 80625 to log/12/server/ftp_sockctrl.pid 07:51:02.501752 Wrote port 46141 to log/12/server/ftp_server.port 07:51:02.501769 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 ==81002== ==81002== Process terminating with default action of signal 4 (SIGILL) ==81002== Illegal opcode at address 0x4013DC0 ==81002== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind106 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 38579 (log/2/server/ftp_server.port) RUN: FTP server is PID 80630 port 38579 * pid ftCMD (33792): ../libtool --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:41843/1 > log/24/stdout1 2> log/24/stderr1 CMD (33792): ../libtool --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/valgrind114 ../src/curl -q --output log/18/curl114.out --include --trace-ascii log/18/trace114 --trace-time ftp://127.0.0.1:34455/114 > log/18/stdout114 2> log/18/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/15/valgrind120 ../src/curl -q --output log/15/curl120.out --include --trace-ascii log/15/trace120 --trace-time ftp://127.0.0.1:38789/120 -Q "-DELE file" > log/15/stdout120 2> log/15/stderr120 p => 80630 80630 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/2/valgrind109 ../src/curl -q --output log/2/curl109.out --include --trace-ascii log/2/trace109 --trace-time ftp://127.0.0.1:38579/109 -T log/2/upload109 --append > log/2/stdout109 2> log/2/stderr109 109: 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/ dir 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/2/valgrind109 ../src/curl -q --output log/2/curl109.out --include --trace-ascii log/2/trace109 --trace-time ftp://127.0.0.1:38579/109 -T log/2/upload109 --append > log/2/stdout109 2> log/2/stderr109 === End of file commands.log === Start of file ftp_server.log 07:51:02.785136 FTP server listens on port IPv4/38579 07:51:02.785191 logged pid 80630 in log/2/server/ftp_server.pid 07:51:02.785210 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.612896 Running IPv4 version 07:51:02.612945 Listening on port 38579 07:51:02.612974 Wrote pid 80632 to log/2/server/ftp_sockctrl.pid 07:51:02.612996 Wrote port 38579 to log/2/server/ftp_server.port 07:51:02.613012 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 ==81155== ==81155== Process terminating with default action of signal 4 (SIGILL) ==81155== Illegal opcode at address 0x4013DC0 ==81155== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81155== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81155== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81155== by 0x40037A4: main (tool_main.c:199) === End of file valgrind109 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 74393 port 41843 * pid http => 74393 74393 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:41843/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/ dir 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 http://127.0.0.1:41843/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 07:50:41.257392 Running HTTP IPv4 version on port 41843 07:50:41.257447 Wrote pid 74393 to log/24/server/http_server.pid 07:50:41.257472 Wrote port 41843 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 ==74405== ==74405== Process terminating with default action of signal 4 (SIGILL) ==74405== Illegal opcode at address 0x4013DC0 ==74405== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74405== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74405== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74405== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1 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 34455 (log/18/server/ftp_server.port) RUN: FTP server is PID 80643 port 34455 * pid ftp => 80643 80643 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/18/valgrind114 ../src/curl -q --output log/18/curl114.out --include --trace-ascii log/18/trace114 --trace-time ftp://127.0.0.1:34455/114 > log/18/stdout114 2> log/18/stderr114 114: 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/ dir 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/18/valgrind114 ../src/curl -q --output log/18/curl114.out --include --trace-ascii log/18/trace114 --trace-time ftp://127.0.0.1:34455/114 > log/18/stdout114 2> log/18/stderr114 === End of file commands.log === Start of file ftp_server.log 07:51:03.028038 FTP server listens on port IPv4/34455 07:51:03.028094 logged pid 80643 in log/18/server/ftp_server.pid 07:51:03.028113 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.855781 Running IPv4 version 07:51:03.855847 Listening on port 34455 07:51:03.855877 Wrote pid 80677 to log/18/server/ftp_sockctrl.pid 07:51:03.855898 Wrote port 34455 to log/18/server/ftp_server.port 07:51:03.855912 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 ==81606== ==81606== Process terminating with default action of signal 4 (SIGILL) ==81606== Illegal opcode at address 0x4013DC0 ==81606== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81606== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81606== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81606== by 0x40037A4: main (tool_main.c:199) === End of file valgrind114 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/15/valgrind120 ../src/curl -q --output log/15/curl120.out --include --trace-ascii log/15/trace120 --trace-time ftp://127.0.0.1:38789/120 -Q "-DELE file" > log/15/stdout120 2> log/15/stderr120 120: 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/ dir 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/15/valgrind120 ../src/curl -q --output log/15/curl120.out --include --trace-ascii log/15/trace120 --trace-time ftp://127.0.0.1:38789/120 -Q "-DELE file" > log/15/stdout120 2> log/15/stderr120 === End of file commands.log === Start of file ftp_server.log 07:51:03.858003 ====> Client connect 07:51:03.858158 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:03.858396 < "USER anonymous" 07:51:03.858426 > "331 We 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/22/valgrind113 ../src/curl -q --output log/22/curl113.out --include --trace-ascii log/22/trace113 --trace-time ftp://127.0.0.1:38231/113 > log/22/stdout113 2> log/22/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/8/valgrind111 ../src/curl -q --output log/8/curl111.out --include --trace-ascii log/8/trace111 --trace-time ftp://127.0.0.1:35961/111 -C 2000 > log/8/stdout111 2> log/8/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/3/valgrind121 ../src/curl -q --output log/3/curl121.out --include --trace-ascii log/3/trace121 --trace-time ftp://127.0.0.1:41643/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/3/stdout121 2> log/3/stderr121 e happy you popped in![CR][LF]" 07:51:03.858557 < "PASS ftp@example.com" 07:51:03.858579 > "230 Welcome you silly person[CR][LF]" 07:51:03.858693 < "PWD" 07:51:03.858716 > "257 "/" is current directory[CR][LF]" 07:51:03.858828 < "EPSV" 07:51:03.858850 ====> Passive DATA channel requested by client 07:51:03.858859 DATA sockfilt for passive data channel starting... 07:51:03.861432 DATA sockfilt for passive data channel started (pid 81261) 07:51:03.861542 DATA sockfilt for passive data channel listens on port 44929 07:51:03.861584 > "229 Entering Passive Mode (|||44929|)[CR][LF]" 07:51:03.861603 Client has been notified that DATA conn will be accepted on port 44929 07:51:03.861830 Client connects to port 44929 07:51:03.861859 ====> Client established passive DATA connection on port 44929 07:51:03.861935 < "TYPE I" 07:51:03.861964 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:03.862131 < "SIZE verifiedserver" 07:51:03.862168 > "213 17[CR][LF]" 07:51:03.862328 < "RETR verifiedserver" 07:51:03.862361 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:03.862442 =====> Closing passive DATA connection... 07:51:03.862460 Server disconnects passive DATA connection 07:51:03.862686 Server disconnected passive DATA connection 07:51:03.862715 DATA sockfilt for passive data channel quits (pid 81261) 07:51:03.862908 DATA sockfilt for passive data channel quit (pid 81261) 07:51:03.862933 =====> Closed passive DATA connection 07:51:03.862964 > "226 File transfer complete[CR][LF]" 07:51:03.908155 < "QUIT" 07:51:03.908205 > "221 bye bye baby[CR][LF]" 07:51:03.908483 MAIN sockfilt said DISC 07:51:03.908510 ====> Client disconnected 07:51:03.908571 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.685863 ====> Client connect 07:51:03.686101 Received DATA (on stdin) 07:51:03.686120 > 160 bytes data, server => client 07:51:03.686131 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:03.686139 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:03.686147 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:03.686209 < 16 bytes data, client => server 07:51:03.686219 'USER anonymous\r\n' 07:51:03.686371 Received DATA (on stdin) 07:51:03.686381 > 33 bytes data, server => client 07:51:03.686390 '331 We are happy you popped in!\r\n' 07:51:03.686428 < 22 bytes data, client => server 07:51:03.686437 'PASS ftp@example.com\r\n' 07:51:03.686521 Received DATA (on stdin) 07:51:03.686530 > 30 bytes data, server => client 07:51:03.686538 '230 Welcome you silly person\r\n' 07:51:03.686571 < 5 bytes data, client => server 07:51:03.686579 'PWD\r\n' 07:51:03.686658 Received DATA (on stdin) 07:51:03.686666 > 30 bytes data, server => client 07:51:03.686674 '257 "/" is current directory\r\n' 07:51:03.686713 < 6 bytes data, client => server 07:51:03.686721 'EPSV\r\n' 07:51:03.689560 Received DATA (on stdin) 07:51:03.689574 > 39 bytes data, server => client 07:51:03.689585 '229 Entering Passive Mode (|||44929|)\r\n' 07:51:03.689727 < 8 bytes data, client => server 07:51:03.689740 'TYPE I\r\n' 07:51:03.689915 Received DATA (on stdin) 07:51:03.689927 > 33 bytes data, server => client 07:51:03.689939 '200 I modify TYPE as you wanted\r\n' 07:51:03.689989 < 21 bytes data, client => server 07:51:03.690003 'SIZE verifiedserver\r\n' 07:51:03.690119 Received DATA (on stdin) 07:51:03.690131 > 8 bytes data, server => client 07:51:03.690142 '213 17\r\n' 07:51:03.690189 < 21 bytes data, client => server 07:51:03.690202 'RETR verifiedserver\r\n' 07:51:03.690411 Received DATA (on stdin) 07:51:03.690424 > 29 bytes data, server => client 07:51:03.690435 '150 Binary junk (17 bytes).\r\n' 07:51:03.690914 Received DATA (on stdin) 07:51:03.690928 > 28 bytes data, server => client 07:51:03.690939 '226 File transfer complete\r\n' 07:51:03.735947 < 6 bytes data, client => server 07:51:03.735972 'QUIT\r\n' 07:51:03.736156 Received DATA (on stdin) 07:51:03.736168 > 18 bytes data, server => client 07:51:03.736179 '221 bye bye baby\r\n' 07:51:03.736373 ====> Client disconnect 07:51:03.736519 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:03.687771 Running IPv4 version 07:51:03.687815 Listening on port 44929 07:51:03.687844 Wrote pid 81261 to log/15/server/ftp_sockdata.pid 07:51:03.689317 Received PING (on stdin) 07:51:03.689404 Received PORT (on stdin) 07:51:03.689699 ====> Client connect 07:51:03.690460 Received DATA (on stdin) 07:51:03.690474 > 17 bytes data, server => client 07:51:03.690484 'WE ROOLZ: 80326\r\n' 07:51:03.690508 Received DISC (on stdin) 07:51:03.690520 ====> Client forcibly disconnected 07:51:03.690672 Received QUIT (on stdin) 07:51:03.690684 quits 07:51:03.690733 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l Testnum 120 === End of file server.cmd === Start of file valgrind120 ==81340== ==81340== Process terminating with default action of signal 4 (SIGILL) ==81340== Illegal opcode at address 0x4013DC0 ==81340== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81340== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81340== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81340== by 0x40037A4: main (tool_main.c:199) === End of file valgrind120 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 38231 (log/22/server/ftp_server.port) RUN: FTP server is PID 80638 port 38231 * pid ftp => 80638 80638 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/22/valgrind113 ../src/curl -q --output log/22/curl113.out --include --trace-ascii log/22/trace113 --trace-time ftp://127.0.0.1:38231/113 > log/22/stdout113 2> log/22/stderr113 113: 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/ dir 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/22/valgrind113 ../src/curl -q --output log/22/curl113.out --include --trace-ascii log/22/trace113 --trace-time ftp://127.0.0.1:38231/113 > log/22/stdout113 2> log/22/stderr113 === End of file commands.log === Start of file ftp_server.log 07:51:02.927117 FTP server listens on port IPv4/38231 07:51:02.927172 logged pid 80638 in log/22/server/ftp_server.pid 07:51:02.927190 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.754844 Running IPv4 version 07:51:02.754913 Listening on port 38231 07:51:02.754942 Wrote pid 80642 to log/22/server/ftp_sockctrl.pid 07:51:02.754974 Wrote port 38231 to log/22/server/ftp_server.port 07:51:02.754991 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 ==81288== ==81288== Process terminating with default action of signal 4 (SIGILL) ==81288== Illegal opcode at address 0x4013DC0 ==81288== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81288== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81288== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81288== by 0x40037A4: main (tool_main.c:199) === End of file valgrind113 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 35961 (log/8/server/ftp_server.port) RUN: FTP server is PID 80636 port 35961 * pid ftp => 80636 80636 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/8/valgrind111 ../src/curl -q --output log/8/curl111.out --include --trace-ascii log/8/trace111 --trace-time ftp://127.0.0.1:35961/111 -C 2000 > log/8/stdout111 2> log/8/stderr111 111: 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/ dir 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/8/valgrind111 ../src/curl -q --output log/8/curl111.out --include --trace-ascii log/8/trace111 --trace-time ftp://127.0.0.1:35961/111 -C 2000 > log/8/stdout111 2> log/8/stderr111 === End of file commands.log === Start of file ftp_server.log 07:51:02.924714 FTP server listens on port IPv4/35961 07:51:02.924795 logged pid 80636 in log/8/server/ftp_server.pid 07:51:02.924823 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.752413 Running IPv4 version 07:51:02.752471 Listening on port 35961 07:51:02.752517 Wrote pid 80640 to log/8/server/ftp_sockctrl.pid 07:51:02.752548 Wrote port 35961 to log/8/server/ftp_server.port 07:51:02.752569 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 ==81276== ==81276== Process terminating with default action of signal 4 (SIGILL) ==81276== Illegal opcode at address 0x4013DC0 ==81276== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81276== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81276== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81276== by 0x40037A4: main (tool_main.c:199) === End of file valgrind111 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/3/valgrind121 ../src/curl -q --output log/3/curl121.out --include --trace-ascii log/3/trace121 --trace-time ftp://127.0.0.1:41643/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/3/stdout121 2> log/3/stderr121 121: 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/ dir 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/3/valgrind121 ../src/curl -q --output log/3/curl121.out --include --trace-ascii log/3/trace121 --trace-time ftp://127.0.0.1:41643/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/3/stdout121 2> log/3/stderr121 === End of file commands.log === Start of file ftp_server.log 07:51:03.862126 ====> Client connect 07:51:03.862248 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:03.862460 < "USER anonymous" 07:51:03.862490 > "331 We are happy you popped in![CR][LF]" 07:51:03.862616 < "PASS ftp@example.com" 07:51:03.862636 > "230 Welcome you silly person[CR][LF]" 07:51:03.862746 < "PWD" 07:51:03.862769 > "257 "/" is current directory[CR][LF]" 07:51:03.862882 < "EPSV" 07:51:03.862905 ====> Passive DATA channel requested by client 07:51:03.862915 DATA sockfilt for passive data channel starting... 07:51:03.864105 DATA sockfilt for passive data channel started (pid 81262) 07:51:03.864185 DATA sockfilt for passive data channel listens on port 45451 07:51:03.864219 > "229 Entering Passive Mode (|||45451|)[CR][LF]" 07:51:03.864232 Client has been notified that DATA conn will be accepted on port 45451 07:51:03.864398 Client connects to port 45451 07:51:03.864421 ====> Client established passive DATA connection on port 45451 07:51:03.864476 < "TYPE I" 07:51:03.864495 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:03.864622 < "SIZE verifiedserver" 07:51:03.864653 > "213 17[CR][LF]" 07:51:03.864770 < "RETR verifiedserver" 07:51:03.864792 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:03.864854 =====> Closing passive DATA connection... 07:51:03.864866 Server disconnects passive DATA connection 07:51:03.865040 Server disconnected passive DATA connection 07:51:03.865060 DATA sockfilt for passive data channel quits (pid 81262) 07:51:03.865203 DATA sockfilt for passive data channel quit (pid 81262) 07:51:03.865220 =====> Closed passive DATA connection 07:51:03.865242 > "226 File transfer complete[CR][LF]" 07:51:03.908327 < "QUIT" 07:51:03.908377 > "221 bye bye baby[CR][LF]" 07:51:03.908705 MAIN sockfilt said DISC 07:51:03.908750 ====> Client disconnected 07:51:03.908801 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.689998 ====> Client connect 07:51:03.690199 Received DATA (on stdin) 07:51:03.690210 > 160 bytes data, server => client 07:51:03.690223 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:03.690231 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:03.690239 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:03.690289 < 16 bytes data, client => server 07:51:03.690299 'USER anonymous\r\n' 07:51:03.690434 Received DATA (on stdin) 07:51:03.690444 > 33 bytes data, server => client 07:51:03.690453 '331 We are happy you popped in!\r\n' 07:51:03.690490 < 22 bytes data, client => server 07:51:03.690499 'PASS ftp@example.com\r\n' 07:51:03.690578 Received DATA (on stdin) 07:51:03.690587 > 30 bytes data, server => client 07:51:03.690596 '230 Welcome you silly person\r\n' 07:51:03.690630 < 5 bytes data, client => server 07:51:03.690638 'PWD\r\n' 07:51:03.690710 Received DATA (on stdin) 07:51:03.690719 > 30 bytes data, server => client 07:51:03.690727 '257 "/" is current directory\r\n' 07:51:03.690767 < 6 bytes data, client => server 07:51:03.690775 'EPSV\r\n' 07:51:03.692182 Received DATA (on stdin) 07:51:03.692192 > 39 bytes data, server => client 07:51:03.692201 '229 Entering Passive Mode (|||45451|)\r\n' 07:51:03.692302 < 8 bytes data, client => server 07:51:03.692311 'TYPE I\r\n' 07:51:03.692439 Received DATA (on stdin) 07:51:03.692448 > 33 bytes data, server => client 07:51:03.692457 '200 I modify TYPE as you wanted\r\n' 07:51:03.692493 < 21 bytes data, client => server 07:51:03.692502 'SIZE verifiedserver\r\n' 07:51:03.692597 Received DATA (on stdin) 07:51:03.692606 > 8 bytes data, server => client 07:51:03.692614 '213 17\r\n' 07:51:03.692651 < 21 bytes data, client => server 07:51:03.692660 'RETR verifiedserver\r\n' 07:51:03.692811 Received DATA (on stdin) 07:51:03.692821 > 29 bytes data, server => client 07:51:03.692830 '150 Binary junk (17 bytes).\r\n' 07:51:03.693186 Received DATA (on stdin) 07:51:03.693197 > 28 bytes data, server => client 07:51:03.693205 '226 File transfer complete\r\n' 07:51:03.736115 < 6 bytes data, client => server 07:51:03.736141 'QUIT\r\n' 07:51:03.736327 Received DATA (on stdin) 07:51:03.736339 > 18 bytes data, server => client 07:51:03.736349 '221 bye bye baby\r\n' 07:51:03.736588 ====> Client disconnect 07:51:03.736747 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:03.691830 Running IPv4 version 07:51:03.691871 Listening on port 45451 07:51:03.691900 Wrote pid 81262 to log/3/server/ftp_sockdata.pid 07:51:03.692009 Received PING (on stdin) 07:51:03.692066 Received PORT (on stdin) 07:51:03.692281 CMD (33792): ../libtool --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/valgrind110 ../src/curl -q --output log/19/curl110.out --include --trace-ascii log/19/trace110 --trace-time ftp://127.0.0.1:44991/110 -C 20 > log/19/stdout110 2> log/19/stderr110 CMD (33792): ../libtool --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/valgrind112 ../src/curl -q --output log/4/curl112.out --include --trace-ascii log/4/trace112 --trace-time ftp://127.0.0.1:37071/112 -T log/4/upload112 -C 40 > log/4/stdout112 2> log/4/stderr112 CMD (33792): ../libtool --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/valgrind119 ../src/curl -q --output log/16/curl119.out --include --trace-ascii log/16/trace119 --trace-time ftp://127.0.0.1:37855/119 -P - > log/16/stdout119 2> log/16/stderr119 ====> Client connect 07:51:03.692849 Received DATA (on stdin) 07:51:03.692860 > 17 bytes data, server => client 07:51:03.692869 'WE ROOLZ: 80340\r\n' 07:51:03.692889 Received DISC (on stdin) 07:51:03.692898 ====> Client forcibly disconnected 07:51:03.693009 Received QUIT (on stdin) 07:51:03.693018 quits 07:51:03.693056 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 121 === End of file server.cmd === Start of file valgrind121 ==81337== ==81337== Process terminating with default action of signal 4 (SIGILL) ==81337== Illegal opcode at address 0x4013DC0 ==81337== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81337== by 0x40037A4: main (tool_main.c:199) === End of file valgrind121 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 44991 (log/19/server/ftp_server.port) RUN: FTP server is PID 80634 port 44991 * pid ftp => 80634 80634 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/19/valgrind110 ../src/curl -q --output log/19/curl110.out --include --trace-ascii log/19/trace110 --trace-time ftp://127.0.0.1:44991/110 -C 20 > log/19/stdout110 2> log/19/stderr110 110: 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/ dir 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/19/valgrind110 ../src/curl -q --output log/19/curl110.out --include --trace-ascii log/19/trace110 --trace-time ftp://127.0.0.1:44991/110 -C 20 > log/19/stdout110 2> log/19/stderr110 === End of file commands.log === Start of file ftp_server.log 07:51:02.920428 FTP server listens on port IPv4/44991 07:51:02.920495 logged pid 80634 in log/19/server/ftp_server.pid 07:51:02.920517 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.748176 Running IPv4 version 07:51:02.748226 Listening on port 44991 07:51:02.748253 Wrote pid 80639 to log/19/server/ftp_sockctrl.pid 07:51:02.748274 Wrote port 44991 to log/19/server/ftp_server.port 07:51:02.748288 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 ==81267== ==81267== Process terminating with default action of signal 4 (SIGILL) ==81267== Illegal opcode at address 0x4013DC0 ==81267== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81267== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81267== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81267== by 0x40037A4: main (tool_main.c:199) === End of file valgrind110 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 37071 (log/4/server/ftp_server.port) RUN: FTP server is PID 80637 port 37071 * pid ftp => 80637 80637 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/4/valgrind112 ../src/curl -q --output log/4/curl112.out --include --trace-ascii log/4/trace112 --trace-time ftp://127.0.0.1:37071/112 -T log/4/upload112 -C 40 > log/4/stdout112 2> log/4/stderr112 112: 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/ dir 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/4/valgrind112 ../src/curl -q --output log/4/curl112.out --include --trace-ascii log/4/trace112 --trace-time ftp://127.0.0.1:37071/112 -T log/4/upload112 -C 40 > log/4/stdout112 2> log/4/stderr112 === End of file commands.log === Start of file ftp_server.log 07:51:02.926050 FTP server listens on port IPv4/37071 07:51:02.926113 logged pid 80637 in log/4/server/ftp_server.pid 07:51:02.926136 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:02.753795 Running IPv4 version 07:51:02.753842 Listening on port 37071 07:51:02.753872 Wrote pid 80641 to log/4/server/ftp_sockctrl.pid 07:51:02.753893 Wrote port 37071 to log/4/server/ftp_server.port 07:51:02.753910 Received PING (on stdin) === End 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're gonna upload worx? === End of file upload112 === Start of file valgrind112 ==81287== ==81287== Process terminating with default action of signal 4 (SIGILL) ==81287== Illegal opcode at address 0x4013DC0 ==81287== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81287== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81287== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81287== by 0x40037A4: main (tool_main.c:199) === End of file valgrind112 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/16/valgrind119 ../src/curl -q --output log/16/curl119.out --include --trace-ascii log/16/trace119 --trace-time ftp://127.0.0.1:37855/119 -P - > log/16/stdout119 2> log/16/stderr119 119: 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/ dir 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/16/valgrind119 ../src/curl -q --output log/16/curl119.out --include --trace-ascii log/16/trace119 --trace-time ftp://127.0.0.1:37855/119 -P - > log/16/stdout119 2> log/16/stderr119 === End of file commands.log === Start of file ftp_server.log 07:51:03.855281 ====> Client connect 07:51:03.855418 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:03.855658 < "USER anonymous" 07:51:03.855693 > "331 We are happy you popped in![CR][LF]" 07:51:03.855830 < "PASS ftp@example.com" 07:51:03.855851 > "230 Welcome you silly person[CR][LF]" 07:51:03.855966 < "PWD" 07:51:03.855989 > "257 "/" is current directory[CR][LF]" 07:51:03.856107 < "EPSV" 07:51:03.856129 ====> Passive DATA channel requested by client 07:51:03.856139 DATA sockfilt for passive data channel starting... 07:51:03.857431 DATA sockfilt for passive data channel started (pid 81256) 07:51:03.857515 DATA sockfilt for passive data channel listens on port 42509 07:51:03.857547 > "229 Entering Passive Mode (|||42509|)[CR][LF]" 07:51:03.857560 Client has been notified that DATA conn will be accepted on port 42509 07:51:03.857735 Client connects to port 42509 07:51:03.857758 ====> Client established 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/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:41029/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/13/valgrind115 ../src/curl -q --output log/13/curl115.out --include --trace-ascii log/13/trace115 --trace-time ftp://127.0.0.1:33699/115 > log/13/stdout115 2> log/13/stderr115 nnection on port 42509 07:51:03.857816 < "TYPE I" 07:51:03.857836 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:03.857977 < "SIZE verifiedserver" 07:51:03.858015 > "213 17[CR][LF]" 07:51:03.858271 < "RETR verifiedserver" 07:51:03.858299 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:03.858374 =====> Closing passive DATA connection... 07:51:03.858391 Server disconnects passive DATA connection 07:51:03.858457 Server disconnected passive DATA connection 07:51:03.858479 DATA sockfilt for passive data channel quits (pid 81256) 07:51:03.858663 DATA sockfilt for passive data channel quit (pid 81256) 07:51:03.858688 =====> Closed passive DATA connection 07:51:03.858711 > "226 File transfer complete[CR][LF]" 07:51:03.904874 < "QUIT" 07:51:03.904921 > "221 bye bye baby[CR][LF]" 07:51:03.905457 MAIN sockfilt said DISC 07:51:03.905484 ====> Client disconnected 07:51:03.905537 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.683149 ====> Client connect 07:51:03.683373 Received DATA (on stdin) 07:51:03.683386 > 160 bytes data, server => client 07:51:03.683396 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:03.683405 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:03.683413 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:03.683474 < 16 bytes data, client => server 07:51:03.683483 'USER anonymous\r\n' 07:51:03.683640 Received DATA (on stdin) 07:51:03.683650 > 33 bytes data, server => client 07:51:03.683659 '331 We are happy you popped in!\r\n' 07:51:03.683698 < 22 bytes data, client => server 07:51:03.683707 'PASS ftp@example.com\r\n' 07:51:03.683794 Received DATA (on stdin) 07:51:03.683803 > 30 bytes data, server => client 07:51:03.683812 '230 Welcome you silly person\r\n' 07:51:03.683847 < 5 bytes data, client => server 07:51:03.683855 'PWD\r\n' 07:51:03.683932 Received DATA (on stdin) 07:51:03.683941 > 30 bytes data, server => client 07:51:03.683949 '257 "/" is current directory\r\n' 07:51:03.683991 < 6 bytes data, client => server 07:51:03.684000 'EPSV\r\n' 07:51:03.685508 Received DATA (on stdin) 07:51:03.685519 > 39 bytes data, server => client 07:51:03.685528 '229 Entering Passive Mode (|||42509|)\r\n' 07:51:03.685637 < 8 bytes data, client => server 07:51:03.685647 'TYPE I\r\n' 07:51:03.685780 Received DATA (on stdin) 07:51:03.685790 > 33 bytes data, server => client 07:51:03.685799 '200 I modify TYPE as you wanted\r\n' 07:51:03.685836 < 21 bytes data, client => server 07:51:03.686069 'SIZE verifiedserver\r\n' 07:51:03.686084 Received DATA (on stdin) 07:51:03.686095 > 8 bytes data, server => client 07:51:03.686103 '213 17\r\n' 07:51:03.686144 < 21 bytes data, client => server 07:51:03.686153 'RETR verifiedserver\r\n' 07:51:03.686320 Received DATA (on stdin) 07:51:03.686332 > 29 bytes data, server => client 07:51:03.686343 '150 Binary junk (17 bytes).\r\n' 07:51:03.686656 Received DATA (on stdin) 07:51:03.686666 > 28 bytes data, server => client 07:51:03.686675 '226 File transfer complete\r\n' 07:51:03.732664 < 6 bytes data, client => server 07:51:03.732690 'QUIT\r\n' 07:51:03.732869 Received DATA (on stdin) 07:51:03.732881 > 18 bytes data, server => client 07:51:03.732890 '221 bye bye baby\r\n' 07:51:03.733355 ====> Client disconnect 07:51:03.733481 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:03.685227 Running IPv4 version 07:51:03.685285 Listening on port 42509 07:51:03.685316 Wrote pid 81256 to log/16/server/ftp_sockdata.pid 07:51:03.685333 Received PING (on stdin) 07:51:03.685393 Received PORT (on stdin) 07:51:03.685615 ====> Client connect 07:51:03.686255 Received DATA (on stdin) 07:51:03.686270 > 17 bytes data, server => client 07:51:03.686281 'WE ROOLZ: 80324\r\n' 07:51:03.686344 Received DISC (on stdin) 07:51:03.686357 ====> Client forcibly disconnected 07:51:03.686432 Received QUIT (on stdin) 07:51:03.686444 quits 07:51:03.686486 ============> sockfilt quits === End of file ftp_sockdata.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 ==81297== ==81297== Process terminating with default action of signal 4 (SIGILL) ==81297== Illegal opcode at address 0x4013DC0 ==81297== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81297== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81297== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81297== by 0x40037A4: main (tool_main.c:199) === End of file valgrind119 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 74394 port 41029 * pid http => 74394 74394 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:41029/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/ dir 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:41029/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 07:50:41.357150 Running HTTP IPv4 version on port 41029 07:50:41.357204 Wrote pid 74394 to log/23/server/http_server.pid 07:50:41.357245 Wrote port 41029 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 ==74454== ==74454== Process terminating with default action of signal 4 (SIGILL) ==74454== Illegal opcode at address 0x4013DC0 ==74454== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74454== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74454== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74454== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2 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 33699 (log/13/server/ftp_server.port) RUN: FTP server is PID 80695 port 33699 * pid ftp => 80695 80695 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/13/valgrind115 ../src/curl -q --output log/13/curl115.out --include --trace-ascii log/13/trace115 --trace-time ftp://127.0.0.1:33699/115 > log/13/stdout115 2> log/13/stderr115 115: 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/ dir 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/13/valgrind115 ../src/curl -q --output log/13/curl115.out --include --trace-ascii log/13/trace115 --trace-time ftp://127.0.0.1:33699/115 > 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/20/valgrind122 ../src/curl -q --output log/20/curl122.out --include --trace-ascii log/20/trace122 --trace-time ftp://127.0.0.1:33651/122 -C 5 > log/20/stdout122 2> log/20/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/17/valgrind124 ../src/curl -q --output log/17/curl124.out --include --trace-ascii log/17/trace124 --trace-time ftp://127.0.0.1:44771/124 > log/17/stdout124 2> log/17/stderr124 CMD (33792): ../libtool --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:45761/4 http://127.0.0.1:45761/4 > log/21/stdout4 2> log/21/stderr4 og/13/stdout115 2> log/13/stderr115 === End of file commands.log === Start of file ftp_server.log 07:51:03.140482 FTP server listens on port IPv4/33699 07:51:03.140583 logged pid 80695 in log/13/server/ftp_server.pid 07:51:03.140616 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.968210 Running IPv4 version 07:51:03.968262 Listening on port 33699 07:51:03.968287 Wrote pid 80696 to log/13/server/ftp_sockctrl.pid 07:51:03.968308 Wrote port 33699 to log/13/server/ftp_server.port 07:51:03.968323 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 ==81666== ==81666== Process terminating with default action of signal 4 (SIGILL) ==81666== Illegal opcode at address 0x4013DC0 ==81666== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81666== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81666== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81666== by 0x40037A4: main (tool_main.c:199) === End of file valgrind115 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/20/valgrind122 ../src/curl -q --output log/20/curl122.out --include --trace-ascii log/20/trace122 --trace-time ftp://127.0.0.1:33651/122 -C 5 > log/20/stdout122 2> log/20/stderr122 122: 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/ dir 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/20/valgrind122 ../src/curl -q --output log/20/curl122.out --include --trace-ascii log/20/trace122 --trace-time ftp://127.0.0.1:33651/122 -C 5 > log/20/stdout122 2> log/20/stderr122 === End of file commands.log === Start of file ftp_server.log 07:51:04.180853 ====> Client connect 07:51:04.181042 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.181380 < "USER anonymous" 07:51:04.181422 > "331 We are happy you popped in![CR][LF]" 07:51:04.181607 < "PASS ftp@example.com" 07:51:04.181637 > "230 Welcome you silly person[CR][LF]" 07:51:04.181788 < "PWD" 07:51:04.181819 > "257 "/" is current directory[CR][LF]" 07:51:04.181973 < "EPSV" 07:51:04.182005 ====> Passive DATA channel requested by client 07:51:04.182018 DATA sockfilt for passive data channel starting... 07:51:04.183599 DATA sockfilt for passive data channel started (pid 81762) 07:51:04.183704 DATA sockfilt for passive data channel listens on port 35413 07:51:04.183747 > "229 Entering Passive Mode (|||35413|)[CR][LF]" 07:51:04.183765 Client has been notified that DATA conn will be accepted on port 35413 07:51:04.183988 Client connects to port 35413 07:51:04.184014 ====> Client established passive DATA connection on port 35413 07:51:04.184094 < "TYPE I" 07:51:04.184121 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.184280 < "SIZE verifiedserver" 07:51:04.184319 > "213 17[CR][LF]" 07:51:04.184472 < "RETR verifiedserver" 07:51:04.184503 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.184594 =====> Closing passive DATA connection... 07:51:04.184612 Server disconnects passive DATA connection 07:51:04.184854 Server disconnected passive DATA connection 07:51:04.184881 DATA sockfilt for passive data channel quits (pid 81762) 07:51:04.185090 DATA sockfilt for passive data channel quit (pid 81762) 07:51:04.185112 =====> Closed passive DATA connection 07:51:04.185144 > "226 File transfer complete[CR][LF]" 07:51:04.231541 < "QUIT" 07:51:04.231595 > "221 bye bye baby[CR][LF]" 07:51:04.232535 MAIN sockfilt said DISC 07:51:04.232577 ====> Client disconnected 07:51:04.232664 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.008695 ====> Client connect 07:51:04.009007 Received DATA (on stdin) 07:51:04.009022 > 160 bytes data, server => client 07:51:04.009036 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.009048 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.009059 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.009137 < 16 bytes data, client => server 07:51:04.009150 'USER anonymous\r\n' 07:51:04.009377 Received DATA (on stdin) 07:51:04.009390 > 33 bytes data, server => client 07:51:04.009403 '331 We are happy you popped in!\r\n' 07:51:04.009455 < 22 bytes data, client => server 07:51:04.009467 'PASS ftp@example.com\r\n' 07:51:04.009585 Received DATA (on stdin) 07:51:04.009597 > 30 bytes data, server => client 07:51:04.009609 '230 Welcome you silly person\r\n' 07:51:04.009655 < 5 bytes data, client => server 07:51:04.009666 'PWD\r\n' 07:51:04.009766 Received DATA (on stdin) 07:51:04.009777 > 30 bytes data, server => client 07:51:04.009789 '257 "/" is current directory\r\n' 07:51:04.009844 < 6 bytes data, client => server 07:51:04.009855 'EPSV\r\n' 07:51:04.011722 Received DATA (on stdin) 07:51:04.011738 > 39 bytes data, server => client 07:51:04.011749 '229 Entering Passive Mode (|||35413|)\r\n' 07:51:04.011886 < 8 bytes data, client => server 07:51:04.011898 'TYPE I\r\n' 07:51:04.012069 Received DATA (on stdin) 07:51:04.012081 > 33 bytes data, server => client 07:51:04.012092 '200 I modify TYPE as you wanted\r\n' 07:51:04.012140 < 21 bytes data, client => server 07:51:04.012153 'SIZE verifiedserver\r\n' 07:51:04.012267 Received DATA (on stdin) 07:51:04.012280 > 8 bytes data, server => client 07:51:04.012291 '213 17\r\n' 07:51:04.012338 < 21 bytes data, client => server 07:51:04.012350 'RETR verifiedserver\r\n' 07:51:04.012565 Received DATA (on stdin) 07:51:04.012578 > 29 bytes data, server => client 07:51:04.012590 '150 Binary junk (17 bytes).\r\n' 07:51:04.013094 Received DATA (on stdin) 07:51:04.013109 > 28 bytes data, server => client 07:51:04.013121 '226 File transfer complete\r\n' 07:51:04.059311 < 6 bytes data, client => server 07:51:04.059344 'QUIT\r\n' 07:51:04.059544 Received DATA (on stdin) 07:51:04.059570 > 18 bytes data, server => client 07:51:04.059583 '221 bye bye baby\r\n' 07:51:04.060414 ====> Client disconnect 07:51:04.060622 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.011375 Running IPv4 version 07:51:04.011431 Listening on port 35413 07:51:04.011474 Wrote pid 81762 to log/20/server/ftp_sockdata.pid 07:51:04.011492 Received PING (on stdin) 07:51:04.011573 Received PORT (on stdin) 07:51:04.011859 ====> Client connect 07:51:04.012616 Received DATA (on stdin) 07:51:04.012630 > 17 bytes data, server => client 07:51:04.012642 'WE ROOLZ: 80551\r\n' 07:51:04.012666 Received DISC (on stdin) 07:51:04.012679 ====> Client forcibly disconnected 07:51:04.012838 Received QUIT (on stdin) 07:51:04.012850 quits 07:51:04.012911 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 122 === End of file server.cmd === Start of file valgrind122 ==81766== ==81766== Process terminating with default action of signal 4 (SIGILL) ==81766== Illegal opcode at address 0x4013DC0 ==81766== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81766== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81766== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81766== by 0x40037A4: main (tool_main.c:199) === End of file valgrind122 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/17/valgrind124 ../src/curl -q --output log/17/curl124.out --include --trace-ascii log/17/trace124 --trace-time ftp://127.0.0.1:44771/124 > log/17/stdout124 2> log/17/stderr124 124: 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/ dir 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/17/valgrind124 ../src/curl -q --output log/17/curl124.out --include --trace-ascii log/17/trace124 --trace-time ftp://127.0.0.1:44771/124 > log/17/stdout124 2> log/17/stderr124 === End of file commands.log === Start of file ftp_server.log 07:51:04.186010 ====> Client connect 07:51:04.186172 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.186478 < "USER anonymous" 07:51:04.186521 > "331 We are happy you popped in![CR][LF]" 07:51:04.186712 < "PASS ftp@example.com" 07:51:04.186746 > "230 Welcome you silly person[CR][LF]" 07:51:04.186909 < "PWD" 07:51:04.186943 > "257 "/" is current directory[CR][LF]" 07:51:04.187100 < "EPSV" 07:51:04.187129 ====> Passive DATA channel requested by client 07:51:04.187144 DATA sockfilt for passive data channel starting... 07:51:04.188799 DATA sockfilt for passive data channel started (pid 81764) 07:51:04.188912 DATA sockfilt for passive data channel listens on port 38947 07:51:04.188952 > "229 Entering Passive Mode (|||38947|)[CR][LF]" 07:51:04.188969 Client has been notified that DATA conn will be accepted on port 38947 07:51:04.189189 Client connects to port 38947 07:51:04.189219 ====> Client established passive DATA connection on port 38947 07:51:04.189294 < "TYPE I" 07:51:04.189320 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.189469 < "SIZE verifiedserver" 07:51:04.189502 > "213 17[CR][LF]" 07:51:04.189647 < "RETR verifiedserver" 07:51:04.189680 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.189755 =====> Closing passive DATA connection... 07:51:04.189770 Server disconnects passive DATA connection 07:51:04.190001 Server disconnected passive DATA connection 07:51:04.190026 DATA sockfilt for passive data channel quits (pid 81764) 07:51:04.190223 DATA sockfilt for passive data channel quit (pid 81764) 07:51:04.190246 =====> Closed passive DATA connection 07:51:04.190277 > "226 File transfer complete[CR][LF]" 07:51:04.234849 < "QUIT" 07:51:04.234899 > "221 bye bye baby[CR][LF]" 07:51:04.235698 MAIN sockfilt said DISC 07:51:04.235737 ====> Client disconnected 07:51:04.235804 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.013861 ====> Client connect 07:51:04.014132 Received DATA (on stdin) 07:51:04.014148 > 160 bytes data, server => client 07:51:04.014161 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.014173 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.014185 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.014259 < 16 bytes data, client => server 07:51:04.014272 'USER anonymous\r\n' 07:51:04.014474 Received DATA (on stdin) 07:51:04.014488 > 33 bytes data, server => client 07:51:04.014500 '331 We are happy you popped in!\r\n' 07:51:04.014552 < 22 bytes data, client => server 07:51:04.014564 'PASS ftp@example.com\r\n' 07:51:04.014696 Received DATA (on stdin) 07:51:04.014708 > 30 bytes data, server => client 07:51:04.014720 '230 Welcome you silly person\r\n' 07:51:04.014768 < 5 bytes data, client => server 07:51:04.014780 'PWD\r\n' 07:51:04.014890 Received DATA (on stdin) 07:51:04.014902 > 30 bytes data, server => client 07:51:04.014914 '257 "/" is current directory\r\n' 07:51:04.014968 < 6 bytes data, client => server 07:51:04.014979 'EPSV\r\n' 07:51:04.016925 Received DATA (on stdin) 07:51:04.016939 > 39 bytes data, server => client 07:51:04.016951 '229 Entering Passive Mode (|||38947|)\r\n' 07:51:04.017086 < 8 bytes data, client => server 07:51:04.017098 'TYPE I\r\n' 07:51:04.017269 Received DATA (on stdin) 07:51:04.017281 > 33 bytes data, server => client 07:51:04.017293 '200 I modify TYPE as you wanted\r\n' 07:51:04.017339 < 21 bytes data, client => server 07:51:04.017351 'SIZE verifiedserver\r\n' 07:51:04.017453 Received DATA (on stdin) 07:51:04.017465 > 8 bytes data, server => client 07:51:04.017476 '213 17\r\n' 07:51:04.017518 < 21 bytes data, client => server 07:51:04.017530 'RETR verifiedserver\r\n' 07:51:04.017807 Received DATA (on stdin) 07:51:04.017820 > 29 bytes data, server => client 07:51:04.017832 '150 Binary junk (17 bytes).\r\n' 07:51:04.018227 Received DATA (on stdin) 07:51:04.018241 > 28 bytes data, server => client 07:51:04.018253 '226 File transfer complete\r\n' 07:51:04.062618 < 6 bytes data, client => server 07:51:04.062642 'QUIT\r\n' 07:51:04.062856 Received DATA (on stdin) 07:51:04.062872 > 18 bytes data, server => client 07:51:04.062885 '221 bye bye baby\r\n' 07:51:04.063578 ====> Client disconnect 07:51:04.063763 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.016573 Running IPv4 version 07:51:04.016631 Listening on port 38947 07:51:04.016668 Wrote pid 81764 to log/17/server/ftp_sockdata.pid 07:51:04.016688 Received PING (on stdin) 07:51:04.016776 Received PORT (on stdin) 07:51:04.017059 ====> Client connect 07:51:04.017720 Received DATA (on stdin) 07:51:04.017734 > 17 bytes data, server => client 07:51:04.017746 'WE ROOLZ: 80557\r\n' 07:51:04.017773 Received DISC (on stdin) 07:51:04.017785 ====> Client forcibly disconnected 07:51:04.017983 Received QUIT (on stdin) 07:51:04.017995 quits 07:51:04.018048 ============> 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 ==81771== ==81771== Process terminating with default action of signal 4 (SIGILL) ==81771== Illegal opcode at address 0x4013DC0 ==81771== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81771== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81771== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81771== by 0x40037A4: main (tool_main.c:199) === End of file valgrind124 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 74396 port 45761 * pid http => 74396 74396 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:45761/4 http://127.0.0.1:45761/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/ dir 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-CMD (33792): ../libtool --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/valgrind123 ../src/curl -q --output log/5/curl123.out --include --trace-ascii log/5/trace123 --trace-time ftp://127.0.0.1:39251/123 -T log/5/upload123 -C 51 > log/5/stdout123 2> log/5/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/7/valgrind126 ../src/curl -q --output log/7/curl126.out --include --trace-ascii log/7/trace126 --trace-time ftp://127.0.0.1:36413/blalbla/lululul/126 > log/7/stdout126 2> log/7/stderr126 Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:45761/4 http://127.0.0.1:45761/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 07:50:41.558606 Running HTTP IPv4 version on port 45761 07:50:41.558660 Wrote pid 74396 to log/21/server/http_server.pid 07:50:41.558681 Wrote port 45761 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 ==74556== ==74556== Process terminating with default action of signal 4 (SIGILL) ==74556== Illegal opcode at address 0x4013DC0 ==74556== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==74556== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74556== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==74556== by 0x40037A4: main (tool_main.c:199) === End of file valgrind4 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/5/valgrind123 ../src/curl -q --output log/5/curl123.out --include --trace-ascii log/5/trace123 --trace-time ftp://127.0.0.1:39251/123 -T log/5/upload123 -C 51 > log/5/stdout123 2> log/5/stderr123 123: 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/ dir 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/5/valgrind123 ../src/curl -q --output log/5/curl123.out --include --trace-ascii log/5/trace123 --trace-time ftp://127.0.0.1:39251/123 -T log/5/upload123 -C 51 > log/5/stdout123 2> log/5/stderr123 === End of file commands.log === Start of file ftp_server.log 07:51:04.183925 ====> Client connect 07:51:04.184079 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.184357 < "USER anonymous" 07:51:04.184392 > "331 We are happy you popped in![CR][LF]" 07:51:04.184557 < "PASS ftp@example.com" 07:51:04.184595 > "230 Welcome you silly person[CR][LF]" 07:51:04.184742 < "PWD" 07:51:04.184772 > "257 "/" is current directory[CR][LF]" 07:51:04.184916 < "EPSV" 07:51:04.184943 ====> Passive DATA channel requested by client 07:51:04.184956 DATA sockfilt for passive data channel starting... 07:51:04.186526 DATA sockfilt for passive data channel started (pid 81763) 07:51:04.186639 DATA sockfilt for passive data channel listens on port 40333 07:51:04.186688 > "229 Entering Passive Mode (|||40333|)[CR][LF]" 07:51:04.186706 Client has been notified that DATA conn will be accepted on port 40333 07:51:04.186930 Client connects to port 40333 07:51:04.186959 ====> Client established passive DATA connection on port 40333 07:51:04.187038 < "TYPE I" 07:51:04.187065 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.187222 < "SIZE verifiedserver" 07:51:04.187261 > "213 17[CR][LF]" 07:51:04.187414 < "RETR verifiedserver" 07:51:04.187446 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.187523 =====> Closing passive DATA connection... 07:51:04.187538 Server disconnects passive DATA connection 07:51:04.187772 Server disconnected passive DATA connection 07:51:04.187799 DATA sockfilt for passive data channel quits (pid 81763) 07:51:04.188007 DATA sockfilt for passive data channel quit (pid 81763) 07:51:04.188039 =====> Closed passive DATA connection 07:51:04.188070 > "226 File transfer complete[CR][LF]" 07:51:04.231537 < "QUIT" 07:51:04.231584 > "221 bye bye baby[CR][LF]" 07:51:04.232804 MAIN sockfilt said DISC 07:51:04.232838 ====> Client disconnected 07:51:04.232894 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.011780 ====> Client connect 07:51:04.012040 Received DATA (on stdin) 07:51:04.012055 > 160 bytes data, server => client 07:51:04.012067 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.012079 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.012090 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.012157 < 16 bytes data, client => server 07:51:04.012169 'USER anonymous\r\n' 07:51:04.012343 Received DATA (on stdin) 07:51:04.012355 > 33 bytes data, server => client 07:51:04.012366 '331 We are happy you popped in!\r\n' 07:51:04.012414 < 22 bytes data, client => server 07:51:04.012425 'PASS ftp@example.com\r\n' 07:51:04.012543 Received DATA (on stdin) 07:51:04.012555 > 30 bytes data, server => client 07:51:04.012566 '230 Welcome you silly person\r\n' 07:51:04.012610 < 5 bytes data, client => server 07:51:04.012621 'PWD\r\n' 07:51:04.012718 Received DATA (on stdin) 07:51:04.012730 > 30 bytes data, server => client 07:51:04.012740 '257 "/" is current directory\r\n' 07:51:04.012788 < 6 bytes data, client => server 07:51:04.012799 'EPSV\r\n' 07:51:04.014660 Received DATA (on stdin) 07:51:04.014674 > 39 bytes data, server => client 07:51:04.014687 '229 Entering Passive Mode (|||40333|)\r\n' 07:51:04.014825 < 8 bytes data, client => server 07:51:04.014837 'TYPE I\r\n' 07:51:04.015015 Received DATA (on stdin) 07:51:04.015027 > 33 bytes data, server => client 07:51:04.015039 '200 I modify TYPE as you wanted\r\n' 07:51:04.015087 < 21 bytes data, client => server 07:51:04.015099 'SIZE verifiedserver\r\n' 07:51:04.015210 Received DATA (on stdin) 07:51:04.015222 > 8 bytes data, server => client 07:51:04.015234 '213 17\r\n' 07:51:04.015280 < 21 bytes data, client => server 07:51:04.015292 'RETR verifiedserver\r\n' 07:51:04.015489 Received DATA (on stdin) 07:51:04.015502 > 29 bytes data, server => client 07:51:04.015514 '150 Binary junk (17 bytes).\r\n' 07:51:04.016021 Received DATA (on stdin) 07:51:04.016035 > 28 bytes data, server => client 07:51:04.016047 '226 File transfer complete\r\n' 07:51:04.059316 < 6 bytes data, client => server 07:51:04.059343 'QUIT\r\n' 07:51:04.059533 Received DATA (on stdin) 07:51:04.059543 > 18 bytes data, server => client 07:51:04.059553 '221 bye bye baby\r\n' 07:51:04.060692 ====> Client disconnect 07:51:04.060841 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.014296 Running IPv4 version 07:51:04.014354 Listening on port 40333 07:51:04.014394 Wrote pid 81763 to log/5/server/ftp_sockdata.pid 07:51:04.014416 Received PING (on stdin) 07:51:04.014503 Received PORT (on stdin) 07:51:04.014796 ====> Client connect 07:51:04.015539 Received DATA (on stdin) 07:51:04.015553 > 17 bytes data, server => client 07:51:04.015566 'WE ROOLZ: 80550\r\n' 07:51:04.015589 Received DISC (on stdin) 07:51:04.015601 ====> Client forcibly disconnected 07:51:04.015759 Received QUIT (on stdin) 07:51:04.015772 quits 07:51:04.015826 ============> sockfilt quits === End of file ftp_sockdata.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 ==81863== ==81863== Process terminating with default action of signal 4 (SIGILL) ==81863== Illegal opcode at address 0x4013DC0 ==81863== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81863== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81863== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81863== by 0x40037A4: main (tool_main.c:199) === End of file valgrind123 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/7/valgrind126 ../src/curl -q --output log/7/curl126.out --include --trace-ascii log/7/trace126 --trace-time ftp://127.0.0.1:36413/blCMD (33792): ../libtool --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/valgrind125 ../src/curl -q --output log/10/curl125.out --include --trace-ascii log/10/trace125 --trace-time ftp://127.0.0.1:36851/path/to/file/125 > log/10/stdout125 2> log/10/stderr125 CMD (33792): ../libtool --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:38169/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 albla/lululul/126 > log/7/stdout126 2> log/7/stderr126 126: 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/ dir 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/7/valgrind126 ../src/curl -q --output log/7/curl126.out --include --trace-ascii log/7/trace126 --trace-time ftp://127.0.0.1:36413/blalbla/lululul/126 > log/7/stdout126 2> log/7/stderr126 === End of file commands.log === Start of file ftp_server.log 07:51:04.447780 ====> Client connect 07:51:04.447950 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.448272 < "USER anonymous" 07:51:04.448315 > "331 We are happy you popped in![CR][LF]" 07:51:04.448498 < "PASS ftp@example.com" 07:51:04.448529 > "230 Welcome you silly person[CR][LF]" 07:51:04.448690 < "PWD" 07:51:04.448724 > "257 "/" is current directory[CR][LF]" 07:51:04.448894 < "EPSV" 07:51:04.448925 ====> Passive DATA channel requested by client 07:51:04.448939 DATA sockfilt for passive data channel starting... 07:51:04.450883 DATA sockfilt for passive data channel started (pid 81977) 07:51:04.450982 DATA sockfilt for passive data channel listens on port 37335 07:51:04.451024 > "229 Entering Passive Mode (|||37335|)[CR][LF]" 07:51:04.451040 Client has been notified that DATA conn will be accepted on port 37335 07:51:04.451218 Client connects to port 37335 07:51:04.451244 ====> Client established passive DATA connection on port 37335 07:51:04.451352 < "TYPE I" 07:51:04.451383 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.451537 < "SIZE verifiedserver" 07:51:04.451571 > "213 17[CR][LF]" 07:51:04.451707 < "RETR verifiedserver" 07:51:04.451736 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.451818 =====> Closing passive DATA connection... 07:51:04.451833 Server disconnects passive DATA connection 07:51:04.451908 Server disconnected passive DATA connection 07:51:04.451924 DATA sockfilt for passive data channel quits (pid 81977) 07:51:04.452165 DATA sockfilt for passive data channel quit (pid 81977) 07:51:04.452186 =====> Closed passive DATA connection 07:51:04.452215 > "226 File transfer complete[CR][LF]" 07:51:04.495483 < "QUIT" 07:51:04.495545 > "221 bye bye baby[CR][LF]" 07:51:04.495889 MAIN sockfilt said DISC 07:51:04.495945 ====> Client disconnected 07:51:04.496029 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.275627 ====> Client connect 07:51:04.275916 Received DATA (on stdin) 07:51:04.275933 > 160 bytes data, server => client 07:51:04.275946 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.275961 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.275972 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.276051 < 16 bytes data, client => server 07:51:04.276066 'USER anonymous\r\n' 07:51:04.276267 Received DATA (on stdin) 07:51:04.276280 > 33 bytes data, server => client 07:51:04.276292 '331 We are happy you popped in!\r\n' 07:51:04.276345 < 22 bytes data, client => server 07:51:04.276357 'PASS ftp@example.com\r\n' 07:51:04.276478 Received DATA (on stdin) 07:51:04.276491 > 30 bytes data, server => client 07:51:04.276502 '230 Welcome you silly person\r\n' 07:51:04.276550 < 5 bytes data, client => server 07:51:04.276562 'PWD\r\n' 07:51:04.276673 Received DATA (on stdin) 07:51:04.276685 > 30 bytes data, server => client 07:51:04.276697 '257 "/" is current directory\r\n' 07:51:04.276754 < 6 bytes data, client => server 07:51:04.276767 'EPSV\r\n' 07:51:04.278994 Received DATA (on stdin) 07:51:04.279007 > 39 bytes data, server => client 07:51:04.279018 '229 Entering Passive Mode (|||37335|)\r\n' 07:51:04.279204 < 8 bytes data, client => server 07:51:04.279237 'TYPE I\r\n' 07:51:04.279331 Received DATA (on stdin) 07:51:04.279343 > 33 bytes data, server => client 07:51:04.279354 '200 I modify TYPE as you wanted\r\n' 07:51:04.279405 < 21 bytes data, client => server 07:51:04.279417 'SIZE verifiedserver\r\n' 07:51:04.279517 Received DATA (on stdin) 07:51:04.279528 > 8 bytes data, server => client 07:51:04.279538 '213 17\r\n' 07:51:04.279579 < 21 bytes data, client => server 07:51:04.279590 'RETR verifiedserver\r\n' 07:51:04.279782 Received DATA (on stdin) 07:51:04.279794 > 29 bytes data, server => client 07:51:04.279805 '150 Binary junk (17 bytes).\r\n' 07:51:04.280163 Received DATA (on stdin) 07:51:04.280176 > 28 bytes data, server => client 07:51:04.280187 '226 File transfer complete\r\n' 07:51:04.323148 < 6 bytes data, client => server 07:51:04.323180 'QUIT\r\n' 07:51:04.323500 Received DATA (on stdin) 07:51:04.323513 > 18 bytes data, server => client 07:51:04.323525 '221 bye bye baby\r\n' 07:51:04.323749 ====> Client disconnect 07:51:04.323980 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.278526 Running IPv4 version 07:51:04.278591 Listening on port 37335 07:51:04.278625 Wrote pid 81977 to log/7/server/ftp_sockdata.pid 07:51:04.278779 Received PING (on stdin) 07:51:04.278852 Received PORT (on stdin) 07:51:04.279119 ====> Client connect 07:51:04.279700 Received DATA (on stdin) 07:51:04.279725 > 17 bytes data, server => client 07:51:04.279737 'WE ROOLZ: 80622\r\n' 07:51:04.279777 Received DISC (on stdin) 07:51:04.279792 ====> Client forcibly disconnected 07:51:04.279881 Received QUIT (on stdin) 07:51:04.279895 quits 07:51:04.279947 ============> 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 ==81991== ==81991== Process terminating with default action of signal 4 (SIGILL) ==81991== Illegal opcode at address 0x4013DC0 ==81991== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81991== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81991== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81991== by 0x40037A4: main (tool_main.c:199) === End of file valgrind126 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/10/valgrind125 ../src/curl -q --output log/10/curl125.out --include --trace-ascii log/10/trace125 --trace-time ftp://127.0.0.1:36851/path/to/file/125 > log/10/stdout125 2> log/10/stderr125 125: 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/ dir 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/10/valgrind125 ../src/curl -q --output log/10/curl125.out --include --trace-ascii log/10/trace125 --trace-time ftp://127.0.0.1:36851/path/to/file/125 > log/10/stdout125 2> log/10/stderr125 === End of file commands.log === Start of file ftp_server.log 07:51:04.446025 ====> Client connect 07:51:04.446218 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.446578 < "USER anonymous" 07:51:04.446623 > "331 We are happy you popped in![CR][LF]" 07:51:04.446823 < "PASS ftp@example.com" 07:51:04.446857 > "230 Welcome you silly person[CR][LF]" 07:51:04.446989 < "PWD" 07:51:04.447015 > "257 "/" is current directory[CR][LF]" 07:51:04.447177 < "EPSV" 07:51:04.447208 ====> Passive DATA channel requested by client 07:51:04.447222 DATA sockfilt for passive data channel starting... 07:51:04.448691 DATA sockfilt for passivCMD (33792): ../libtool --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/valgrind127 ../src/curl -q --output log/12/curl127.out --include --trace-ascii log/12/trace127 --trace-time ftp://127.0.0.1:46141/path/to/file/127 --disable-epsv > log/12/stdout127 2> log/12/stderr127 e data channel started (pid 81975) 07:51:04.448783 DATA sockfilt for passive data channel listens on port 43057 07:51:04.448817 > "229 Entering Passive Mode (|||43057|)[CR][LF]" 07:51:04.448831 Client has been notified that DATA conn will be accepted on port 43057 07:51:04.449013 Client connects to port 43057 07:51:04.449039 ====> Client established passive DATA connection on port 43057 07:51:04.449097 < "TYPE I" 07:51:04.449120 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.449241 < "SIZE verifiedserver" 07:51:04.449268 > "213 17[CR][LF]" 07:51:04.449383 < "RETR verifiedserver" 07:51:04.449410 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.449472 =====> Closing passive DATA connection... 07:51:04.449484 Server disconnects passive DATA connection 07:51:04.449615 Server disconnected passive DATA connection 07:51:04.449671 DATA sockfilt for passive data channel quits (pid 81975) 07:51:04.449967 DATA sockfilt for passive data channel quit (pid 81975) 07:51:04.449996 =====> Closed passive DATA connection 07:51:04.450037 > "226 File transfer complete[CR][LF]" 07:51:04.498291 < "QUIT" 07:51:04.498344 > "221 bye bye baby[CR][LF]" 07:51:04.499225 MAIN sockfilt said DISC 07:51:04.499264 ====> Client disconnected 07:51:04.499335 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.273869 ====> Client connect 07:51:04.274189 Received DATA (on stdin) 07:51:04.274209 > 160 bytes data, server => client 07:51:04.274223 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.274234 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.274245 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.274328 < 16 bytes data, client => server 07:51:04.274343 'USER anonymous\r\n' 07:51:04.274579 Received DATA (on stdin) 07:51:04.274594 > 33 bytes data, server => client 07:51:04.274606 '331 We are happy you popped in!\r\n' 07:51:04.274665 < 22 bytes data, client => server 07:51:04.274678 'PASS ftp@example.com\r\n' 07:51:04.274804 Received DATA (on stdin) 07:51:04.274814 > 30 bytes data, server => client 07:51:04.274823 '230 Welcome you silly person\r\n' 07:51:04.274864 < 5 bytes data, client => server 07:51:04.274873 'PWD\r\n' 07:51:04.274959 Received DATA (on stdin) 07:51:04.274970 > 30 bytes data, server => client 07:51:04.274981 '257 "/" is current directory\r\n' 07:51:04.275039 < 6 bytes data, client => server 07:51:04.275052 'EPSV\r\n' 07:51:04.276780 Received DATA (on stdin) 07:51:04.276791 > 39 bytes data, server => client 07:51:04.276801 '229 Entering Passive Mode (|||43057|)\r\n' 07:51:04.276917 < 8 bytes data, client => server 07:51:04.276926 'TYPE I\r\n' 07:51:04.277064 Received DATA (on stdin) 07:51:04.277073 > 33 bytes data, server => client 07:51:04.277082 '200 I modify TYPE as you wanted\r\n' 07:51:04.277120 < 21 bytes data, client => server 07:51:04.277129 'SIZE verifiedserver\r\n' 07:51:04.277212 Received DATA (on stdin) 07:51:04.277221 > 8 bytes data, server => client 07:51:04.277229 '213 17\r\n' 07:51:04.277264 < 21 bytes data, client => server 07:51:04.277273 'RETR verifiedserver\r\n' 07:51:04.277429 Received DATA (on stdin) 07:51:04.277439 > 29 bytes data, server => client 07:51:04.277447 '150 Binary junk (17 bytes).\r\n' 07:51:04.277995 Received DATA (on stdin) 07:51:04.278013 > 28 bytes data, server => client 07:51:04.278025 '226 File transfer complete\r\n' 07:51:04.326069 < 6 bytes data, client => server 07:51:04.326097 'QUIT\r\n' 07:51:04.326298 Received DATA (on stdin) 07:51:04.326312 > 18 bytes data, server => client 07:51:04.326324 '221 bye bye baby\r\n' 07:51:04.327107 ====> Client disconnect 07:51:04.327288 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.276487 Running IPv4 version 07:51:04.276542 Listening on port 43057 07:51:04.276570 Wrote pid 81975 to log/10/server/ftp_sockdata.pid 07:51:04.276588 Received PING (on stdin) 07:51:04.276657 Received PORT (on stdin) 07:51:04.276894 ====> Client connect 07:51:04.277466 Received DATA (on stdin) 07:51:04.277477 > 17 bytes data, server => client 07:51:04.277486 'WE ROOLZ: 80620\r\n' 07:51:04.277506 Received DISC (on stdin) 07:51:04.277516 ====> Client forcibly disconnected 07:51:04.277642 Received QUIT (on stdin) 07:51:04.277661 quits 07:51:04.277727 ============> 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 ==81992== ==81992== Process terminating with default action of signal 4 (SIGILL) ==81992== Illegal opcode at address 0x4013DC0 ==81992== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==81992== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81992== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==81992== by 0x40037A4: main (tool_main.c:199) === End of file valgrind125 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 74504 port 38169 * pid http => 74504 74504 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:38169/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/ dir 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:38169/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 07:50:42.463535 Running HTTP IPv4 version on port 38169 07:50:42.463592 Wrote pid 74504 to log/11/server/http_server.pid 07:50:42.463614 Wrote port 38169 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 ==75137== ==75137== Process terminating with default action of signal 4 (SIGILL) ==75137== Illegal opcode at address 0x4013DC0 ==75137== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75137== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75137== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75137== by 0x40037A4: main (tool_main.c:199) === End of file valgrind14 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/12/valgrind127 ../src/curl -q --output log/12/curl127.out --include --trace-ascii log/12/trace127 --trace-time ftp://127.0.0.1:46141/path/to/file/127 --disable-epsv > log/12/stdout127 2> log/12/stderr127 127: 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/ dir 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/valgrind.supp --num-callers=16 --log-file=log/12/valgrind127 ../src/curl -q --output log/12/curl127.out --include --trace-ascii log/12/trace127 --trace-time ftp://127.0.0.1:46141/path/to/file/127 --disable-epsv > log/12/stdout127 2> log/12/stderr127 CMD (33792): ../libtool --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:35709/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/24/valgrind129 ../src/curl -q --output log/24/curl129.out --include --trace-ascii log/24/trace129 --trace-time http://127.0.0.1:41843/129 > log/24/stdout129 2> log/24/stderr129 === End of file commands.log === Start of file ftp_server.log 07:51:04.456581 ====> Client connect 07:51:04.456742 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.457047 < "USER anonymous" 07:51:04.457088 > "331 We are happy you popped in![CR][LF]" 07:51:04.457263 < "PASS ftp@example.com" 07:51:04.457294 > "230 Welcome you silly person[CR][LF]" 07:51:04.457436 < "PWD" 07:51:04.457464 > "257 "/" is current directory[CR][LF]" 07:51:04.457615 < "EPSV" 07:51:04.457648 ====> Passive DATA channel requested by client 07:51:04.457660 DATA sockfilt for passive data channel starting... 07:51:04.459858 DATA sockfilt for passive data channel started (pid 81982) 07:51:04.460002 DATA sockfilt for passive data channel listens on port 39681 07:51:04.460054 > "229 Entering Passive Mode (|||39681|)[CR][LF]" 07:51:04.460076 Client has been notified that DATA conn will be accepted on port 39681 07:51:04.460372 Client connects to port 39681 07:51:04.460412 ====> Client established passive DATA connection on port 39681 07:51:04.460522 < "TYPE I" 07:51:04.460561 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.460744 < "SIZE verifiedserver" 07:51:04.460793 > "213 17[CR][LF]" 07:51:04.460958 < "RETR verifiedserver" 07:51:04.460993 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.461078 =====> Closing passive DATA connection... 07:51:04.461094 Server disconnects passive DATA connection 07:51:04.461358 Server disconnected passive DATA connection 07:51:04.461388 DATA sockfilt for passive data channel quits (pid 81982) 07:51:04.461639 DATA sockfilt for passive data channel quit (pid 81982) 07:51:04.461662 =====> Closed passive DATA connection 07:51:04.461698 > "226 File transfer complete[CR][LF]" 07:51:04.504565 < "QUIT" 07:51:04.504646 > "221 bye bye baby[CR][LF]" 07:51:04.504831 MAIN sockfilt said DISC 07:51:04.504878 ====> Client disconnected 07:51:04.504952 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.284433 ====> Client connect 07:51:04.284702 Received DATA (on stdin) 07:51:04.284717 > 160 bytes data, server => client 07:51:04.284729 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.284740 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.284750 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.284829 < 16 bytes data, client => server 07:51:04.284841 'USER anonymous\r\n' 07:51:04.285040 Received DATA (on stdin) 07:51:04.285053 > 33 bytes data, server => client 07:51:04.285064 '331 We are happy you popped in!\r\n' 07:51:04.285113 < 22 bytes data, client => server 07:51:04.285124 'PASS ftp@example.com\r\n' 07:51:04.285240 Received DATA (on stdin) 07:51:04.285252 > 30 bytes data, server => client 07:51:04.285263 '230 Welcome you silly person\r\n' 07:51:04.285306 < 5 bytes data, client => server 07:51:04.285317 'PWD\r\n' 07:51:04.285409 Received DATA (on stdin) 07:51:04.285420 > 30 bytes data, server => client 07:51:04.285431 '257 "/" is current directory\r\n' 07:51:04.285485 < 6 bytes data, client => server 07:51:04.285495 'EPSV\r\n' 07:51:04.288038 Received DATA (on stdin) 07:51:04.288057 > 39 bytes data, server => client 07:51:04.288070 '229 Entering Passive Mode (|||39681|)\r\n' 07:51:04.288262 < 8 bytes data, client => server 07:51:04.288276 'TYPE I\r\n' 07:51:04.288511 Received DATA (on stdin) 07:51:04.288525 > 33 bytes data, server => client 07:51:04.288538 '200 I modify TYPE as you wanted\r\n' 07:51:04.288595 < 21 bytes data, client => server 07:51:04.288607 'SIZE verifiedserver\r\n' 07:51:04.288745 Received DATA (on stdin) 07:51:04.288758 > 8 bytes data, server => client 07:51:04.288769 '213 17\r\n' 07:51:04.288818 < 21 bytes data, client => server 07:51:04.288830 'RETR verifiedserver\r\n' 07:51:04.289047 Received DATA (on stdin) 07:51:04.289059 > 29 bytes data, server => client 07:51:04.289071 '150 Binary junk (17 bytes).\r\n' 07:51:04.289649 Received DATA (on stdin) 07:51:04.289664 > 28 bytes data, server => client 07:51:04.289676 '226 File transfer complete\r\n' 07:51:04.332304 < 6 bytes data, client => server 07:51:04.332332 'QUIT\r\n' 07:51:04.332606 Received DATA (on stdin) 07:51:04.332623 > 18 bytes data, server => client 07:51:04.332635 '221 bye bye baby\r\n' 07:51:04.332698 ====> Client disconnect 07:51:04.332906 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.287571 Running IPv4 version 07:51:04.287654 Listening on port 39681 07:51:04.287703 Wrote pid 81982 to log/12/server/ftp_sockdata.pid 07:51:04.287730 Received PING (on stdin) 07:51:04.287851 Received PORT (on stdin) 07:51:04.288232 ====> Client connect 07:51:04.289098 Received DATA (on stdin) 07:51:04.289112 > 17 bytes data, server => client 07:51:04.289124 'WE ROOLZ: 80617\r\n' 07:51:04.289152 Received DISC (on stdin) 07:51:04.289163 ====> Client forcibly disconnected 07:51:04.289347 Received QUIT (on stdin) 07:51:04.289360 quits 07:51:04.289421 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==82012== ==82012== Process terminating with default action of signal 4 (SIGILL) ==82012== Illegal opcode at address 0x4013DC0 ==82012== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82012== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82012== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82012== by 0x40037A4: main (tool_main.c:199) === End of file valgrind127 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 74928 port 35709 * pid http => 74928 74928 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:35709/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/ dir 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:35709/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 07:50:43.069336 Running HTTP IPv4 version on port 35709 07:50:43.069397 Wrote pid 74928 to log/1/server/http_server.pid 07:50:43.069454 Wrote port 35709 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 ==75577== ==75577== Process terminating with default action of signal 4 (SIGILL) ==75577== Illegal opcode at address 0x4013DC0 ==75577== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==75577== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75577== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==75577== by 0x40037A4: main (tool_main.c:199) === End of file valgrind24 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/24/valgrind129 ../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/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-time ftp://127.0.0.1:38579/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 CMD (33792): ../libtool --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/valgrind116 ../src/curl -q --output log/14/curl116.out --include --trace-ascii log/14/trace116 --trace-time ftp://127.0.0.1:39555/116 -P 1.2.3.4 > log/14/stdout116 2> log/14/stderr116 /curl -q --output log/24/curl129.out --include --trace-ascii log/24/trace129 --trace-time http://127.0.0.1:41843/129 > log/24/stdout129 2> log/24/stderr129 129: 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/ dir 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/24/valgrind129 ../src/curl -q --output log/24/curl129.out --include --trace-ascii log/24/trace129 --trace-time http://127.0.0.1:41843/129 > log/24/stdout129 2> log/24/stderr129 === End of file commands.log === Start of file http_server.log 07:51:04.426745 ====> Client connect 07:51:04.426779 accept_connection 3 returned 4 07:51:04.426796 accept_connection 3 returned 0 07:51:04.426811 Read 93 bytes 07:51:04.426831 Process 93 bytes request 07:51:04.426846 Got request: GET /verifiedserver HTTP/1.1 07:51:04.426857 Are-we-friendly question received 07:51:04.426881 Wrote request (93 bytes) input to log/24/server.input 07:51:04.426902 Identifying ourselves as friends 07:51:04.426969 Response sent (56 bytes) and written to log/24/server.response 07:51:04.426985 special request received, no persistency 07:51:04.426995 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 55434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind129 ==82166== ==82166== Process terminating with default action of signal 4 (SIGILL) ==82166== Illegal opcode at address 0x4013DC0 ==82166== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82166== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82166== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82166== by 0x40037A4: main (tool_main.c:199) === End of file valgrind129 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/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-time ftp://127.0.0.1:38579/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 128: 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/ dir 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/2/valgrind128 ../src/curl -q --output log/2/curl128.out --include --trace-ascii log/2/trace128 --trace-time ftp://127.0.0.1:38579/128 -T log/2/upload128 --crlf > log/2/stdout128 2> log/2/stderr128 === End of file commands.log === Start of file ftp_server.log 07:51:04.589062 ====> Client connect 07:51:04.589228 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.589640 < "USER anonymous" 07:51:04.589696 > "331 We are happy you popped in![CR][LF]" 07:51:04.589907 < "PASS ftp@example.com" 07:51:04.589940 > "230 Welcome you silly person[CR][LF]" 07:51:04.590100 < "PWD" 07:51:04.590132 > "257 "/" is current directory[CR][LF]" 07:51:04.590292 < "EPSV" 07:51:04.590321 ====> Passive DATA channel requested by client 07:51:04.590336 DATA sockfilt for passive data channel starting... 07:51:04.592328 DATA sockfilt for passive data channel started (pid 82160) 07:51:04.592471 DATA sockfilt for passive data channel listens on port 43257 07:51:04.592589 > "229 Entering Passive Mode (|||43257|)[CR][LF]" 07:51:04.592619 Client has been notified that DATA conn will be accepted on port 43257 07:51:04.592887 Client connects to port 43257 07:51:04.592922 ====> Client established passive DATA connection on port 43257 07:51:04.593022 < "TYPE I" 07:51:04.593061 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.593246 < "SIZE verifiedserver" 07:51:04.593287 > "213 17[CR][LF]" 07:51:04.593460 < "RETR verifiedserver" 07:51:04.593494 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.593568 =====> Closing passive DATA connection... 07:51:04.593586 Server disconnects passive DATA connection 07:51:04.593744 Server disconnected passive DATA connection 07:51:04.593773 DATA sockfilt for passive data channel quits (pid 82160) 07:51:04.594019 DATA sockfilt for passive data channel quit (pid 82160) 07:51:04.594048 =====> Closed passive DATA connection 07:51:04.594078 > "226 File transfer complete[CR][LF]" 07:51:04.638317 < "QUIT" 07:51:04.638373 > "221 bye bye baby[CR][LF]" 07:51:04.638708 MAIN sockfilt said DISC 07:51:04.638754 ====> Client disconnected 07:51:04.638832 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.416915 ====> Client connect 07:51:04.417186 Received DATA (on stdin) 07:51:04.417202 > 160 bytes data, server => client 07:51:04.417215 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.417227 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.417238 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.417363 < 16 bytes data, client => server 07:51:04.417391 'USER anonymous\r\n' 07:51:04.417653 Received DATA (on stdin) 07:51:04.417669 > 33 bytes data, server => client 07:51:04.417682 '331 We are happy you popped in!\r\n' 07:51:04.417744 < 22 bytes data, client => server 07:51:04.417756 'PASS ftp@example.com\r\n' 07:51:04.417889 Received DATA (on stdin) 07:51:04.417902 > 30 bytes data, server => client 07:51:04.417914 '230 Welcome you silly person\r\n' 07:51:04.417963 < 5 bytes data, client => server 07:51:04.417975 'PWD\r\n' 07:51:04.418079 Received DATA (on stdin) 07:51:04.418091 > 30 bytes data, server => client 07:51:04.418103 '257 "/" is current directory\r\n' 07:51:04.418160 < 6 bytes data, client => server 07:51:04.418172 'EPSV\r\n' 07:51:04.420583 Received DATA (on stdin) 07:51:04.420601 > 39 bytes data, server => client 07:51:04.420614 '229 Entering Passive Mode (|||43257|)\r\n' 07:51:04.420780 < 8 bytes data, client => server 07:51:04.420796 'TYPE I\r\n' 07:51:04.421013 Received DATA (on stdin) 07:51:04.421027 > 33 bytes data, server => client 07:51:04.421039 '200 I modify TYPE as you wanted\r\n' 07:51:04.421096 < 21 bytes data, client => server 07:51:04.421111 'SIZE verifiedserver\r\n' 07:51:04.421239 Received DATA (on stdin) 07:51:04.421253 > 8 bytes data, server => client 07:51:04.421264 '213 17\r\n' 07:51:04.421316 < 21 bytes data, client => server 07:51:04.421331 'RETR verifiedserver\r\n' 07:51:04.421538 Received DATA (on stdin) 07:51:04.421552 > 29 bytes data, server => client 07:51:04.421564 '150 Binary junk (17 bytes).\r\n' 07:51:04.422029 Received DATA (on stdin) 07:51:04.422043 > 28 bytes data, server => client 07:51:04.422055 '226 File transfer complete\r\n' 07:51:04.466094 < 6 bytes data, client => server 07:51:04.466120 'QUIT\r\n' 07:51:04.466330 Received DATA (on stdin) 07:51:04.466345 > 18 bytes data, server => client 07:51:04.466357 '221 bye bye baby\r\n' 07:51:04.466582 ====> Client disconnect 07:51:04.466786 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/3/valgrind134 ../src/curl -q --output log/3/curl134.out --include --trace-ascii log/3/trace134 --trace-time --netrc-optional --netrc-file log/3/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:41643/ > log/3/stdout134 2> log/3/stderr134 CMD (33792): ../libtool --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/valgrind135 ../src/curl -q --output log/19/curl135.out --include --trace-ascii log/19/trace135 --trace-time -r 4-16 ftp://127.0.0.1:44991/135 > log/19/stdout135 2> log/19/stderr135 og === Start of file ftp_sockdata.log 07:51:04.420071 Running IPv4 version 07:51:04.420141 Listening on port 43257 07:51:04.420185 Wrote pid 82160 to log/2/server/ftp_sockdata.pid 07:51:04.420209 Received PING (on stdin) 07:51:04.420322 Received PORT (on stdin) 07:51:04.420748 ====> Client connect 07:51:04.421455 Received DATA (on stdin) 07:51:04.421473 > 17 bytes data, server => client 07:51:04.421485 'WE ROOLZ: 80630\r\n' 07:51:04.421537 Received DISC (on stdin) 07:51:04.421553 ====> Client forcibly disconnected 07:51:04.421731 Received QUIT (on stdin) 07:51:04.421745 quits 07:51:04.421803 ============> 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 ==82223== ==82223== Process terminating with default action of signal 4 (SIGILL) ==82223== Illegal opcode at address 0x4013DC0 ==82223== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82223== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82223== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82223== by 0x40037A4: main (tool_main.c:199) === End of file valgrind128 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 39555 (log/14/server/ftp_server.port) RUN: FTP server is PID 81000 port 39555 * pid ftp => 81000 81000 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/14/valgrind116 ../src/curl -q --output log/14/curl116.out --include --trace-ascii log/14/trace116 --trace-time ftp://127.0.0.1:39555/116 -P 1.2.3.4 > log/14/stdout116 2> log/14/stderr116 116: 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/ dir 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/14/valgrind116 ../src/curl -q --output log/14/curl116.out --include --trace-ascii log/14/trace116 --trace-time ftp://127.0.0.1:39555/116 -P 1.2.3.4 > log/14/stdout116 2> log/14/stderr116 === End of file commands.log === Start of file ftp_server.log 07:51:03.659265 FTP server listens on port IPv4/39555 07:51:03.659327 logged pid 81000 in log/14/server/ftp_server.pid 07:51:03.659347 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.487020 Running IPv4 version 07:51:03.487073 Listening on port 39555 07:51:03.487101 Wrote pid 81004 to log/14/server/ftp_sockctrl.pid 07:51:03.487123 Wrote port 39555 to log/14/server/ftp_server.port 07:51:03.487139 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 ==82210== ==82210== Process terminating with default action of signal 4 (SIGILL) ==82210== Illegal opcode at address 0x4013DC0 ==82210== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82210== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82210== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82210== by 0x40037A4: main (tool_main.c:199) === End of file valgrind116 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/3/valgrind134 ../src/curl -q --output log/3/curl134.out --include --trace-ascii log/3/trace134 --trace-time --netrc-optional --netrc-file log/3/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:41643/ > log/3/stdout134 2> log/3/stderr134 134: 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/ dir 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/3/valgrind134 ../src/curl -q --output log/3/curl134.out --include --trace-ascii log/3/trace134 --trace-time --netrc-optional --netrc-file log/3/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:41643/ > log/3/stdout134 2> log/3/stderr134 === End of file commands.log === Start of file ftp_server.log 07:51:04.813846 ====> Client connect 07:51:04.813997 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.815200 < "USER anonymous" 07:51:04.815254 > "331 We are happy you popped in![CR][LF]" 07:51:04.815496 < "PASS ftp@example.com" 07:51:04.815532 > "230 Welcome you silly person[CR][LF]" 07:51:04.815703 < "PWD" 07:51:04.815739 > "257 "/" is current directory[CR][LF]" 07:51:04.815918 < "EPSV" 07:51:04.815943 ====> Passive DATA channel requested by client 07:51:04.815957 DATA sockfilt for passive data channel starting... 07:51:04.817655 DATA sockfilt for passive data channel started (pid 82419) 07:51:04.817789 DATA sockfilt for passive data channel listens on port 39355 07:51:04.817849 > "229 Entering Passive Mode (|||39355|)[CR][LF]" 07:51:04.817869 Client has been notified that DATA conn will be accepted on port 39355 07:51:04.818065 Client connects to port 39355 07:51:04.818098 ====> Client established passive DATA connection on port 39355 07:51:04.818162 < "TYPE I" 07:51:04.818187 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.818319 < "SIZE verifiedserver" 07:51:04.818356 > "213 17[CR][LF]" 07:51:04.818505 < "RETR verifiedserver" 07:51:04.818534 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.818616 =====> Closing passive DATA connection... 07:51:04.818633 Server disconnects passive DATA connection 07:51:04.818805 Server disconnected passive DATA connection 07:51:04.818829 DATA sockfilt for passive data channel quits (pid 82419) 07:51:04.819015 DATA sockfilt for passive data channel quit (pid 82419) 07:51:04.819033 =====> Closed passive DATA connection 07:51:04.819054 > "226 File transfer complete[CR][LF]" 07:51:04.864852 < "QUIT" 07:51:04.864903 > "221 bye bye baby[CR][LF]" 07:51:04.865237 MAIN sockfilt said DISC 07:51:04.865276 ====> Client disconnected 07:51:04.865432 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.641648 ====> Client connect 07:51:04.641956 Received DATA (on stdin) 07:51:04.641973 > 160 bytes data, server => client 07:51:04.641985 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.641996 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.642006 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.642090 < 16 bytes data, client => server 07:51:04.642111 'USER anonymous\r\n' 07:51:04.643214 Received DATA (on stdin) 07:51:04.643233 > 33 bytes data, server => client 07:51:04.643247 '331 We are happy you popped in!\r\n' 07:51:04.643324 < 22 bytes data, client => server 07:51:04.643339 'PASS ftp@example.com\r\n' 07:51:04.643483 Received DATA (on stdin) 07:51:04.643496 > 30 bytes data, server => client 07:51:04.643509 '230 Welcome you silly person\r\n' 07:51:04.643563 < 5 bytes data, client => server 07:51:04.643575 'PWD\r\n' 07:51:04.643690 Received DATA (on stdin) 07:51:04.643704 > 30 bytes data, server => client 07:51:04.643716 '257 "/" is current directory\r\n' 07:51:04.643777 < 6 bytes data, client => server 07:51:04.643791 'EPSV\r\n' 07:51:04.645823 Received DATA (on stdin) 07:51:04.645838 > 39 bytes data, server => client 07:51:04.645861 '229 Entering Passive Mode (|||39355|)\r\n' 07:51:04.645989 < 8 bytes data, client => server 07:51:04.646002 'TYPE I\r\n' 07:51:04.646132 Received DATA (on stdin) 07:51:04.646142 > 33 bytes data, server => client 07:51:04.646151 '200 I modify TYPE as you wanted\r\n' 07:51:04.646194 < 21 bytes data, client => server 07:51:04.646203 'SIZE verifiedserver\r\n' 07:51:04.646303 Received DATA (on stdin) 07:51:04.646315 > 8 bytes data, server => client 07:51:04.646325 '213 17\r\n' 07:51:04.646369 < 21 bytes data, client => server 07:51:04.646381 'RETR verifiedserver\r\n' 07:51:04.646583 Received DATA (on stdin) 07:51:04.646596 > 29 bytes data, server => client 07:51:04.646608 '150 Binary junk (17 bytes).\r\n' 07:51:04.646999 Received DATA (on stdin) 07:51:04.647010 > 28 bytes data, server => client 07:51:04.647019 '226 File transfer complete\r\n' 07:51:04.692621 < 6 bytes data, client => server 07:51:04.692647 'QUIT\r\n' 07:51:04.692859 Received DATA (on stdin) 07:51:04.692874 > 18 bytes data, server => client 07:51:04.692886 '221 bye bye baby\r\n' 07:51:04.693126 ====> Client disconnect 07:51:04.693292 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.645423 Running IPv4 version 07:51:04.645484 Listening on port 39355 07:51:04.645522 Wrote pid 82419 to log/3/server/ftp_sockdata.pid 07:51:04.645543 Received PING (on stdin) 07:51:04.645627 Received PORT (on stdin) 07:51:04.645964 ====> Client connect 07:51:04.646635 Received DATA (on stdin) 07:51:04.646648 > 17 bytes data, server => client 07:51:04.646660 'WE ROOLZ: 80340\r\n' 07:51:04.646685 Received DISC (on stdin) 07:51:04.646697 ====> Client forcibly disconnected 07:51:04.646780 Received QUIT (on stdin) 07:51:04.646789 quits 07:51:04.646831 ============> 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 ==82659== ==82659== Process terminating with default action of signal 4 (SIGILL) ==82659== Illegal opcode at address 0x4013DC0 ==82659== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82659== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82659== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82659== by 0x40037A4: main (tool_main.c:199) === 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/19/valgrind135 ../src/curl -q --output log/19/curl135.out --include --trace-ascii log/19/trace135 --trace-time -r 4-16 ftp://127.0.0.1:44991/135 > log/19/stdout135 2> log/19/stderr135 135: 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/ dir 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/19/valgrind135 ../src/curl -q --output log/19/curl135.out --include --trace-ascii log/19/trace135 --trace-time -r 4-16 ftp://127.0.0.1:44991/135 > log/19/stdout135 2> log/19/stderr135 === End of file commands.log === Start of file ftp_server.log 07:51:04.823581 ====> Client connect 07:51:04.823748 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.824065 < "USER anonymous" 07:51:04.824107 > "331 We are happy you popped in![CR][LF]" 07:51:04.824312 < "PASS ftp@example.com" 07:51:04.824349 > "230 Welcome you silly person[CR][LF]" 07:51:04.824513 < "PWD" 07:51:04.824547 > "257 "/" is current directory[CR][LF]" 07:51:04.824730 < "EPSV" 07:51:04.824763 ====> Passive DATA channel requested by client 07:51:04.824778 DATA sockfilt for passive data channel starting... 07:51:04.826544 DATA sockfilt for passive data channel started (pid 82447) 07:51:04.826657 DATA sockfilt for passive data channel listens on port 40051 07:51:04.826701 > "229 Entering Passive Mode (|||40051|)[CR][LF]" 07:51:04.826719 Client has been notified that DATA conn will be accepted on port 40051 07:51:04.826945 Client connects to port 40051 07:51:04.826973 ====> Client established passive DATA connection on port 40051 07:51:04.827053 < "TYPE I" 07:51:04.827083 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.827241 < "SIZE verifiedserver" 07:51:04.827277 > "213 17[CR][LF]" 07:51:04.827432 < "RETR verifiedserver" 07:51:04.827464 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.827547 =====> Closing passive DATA connection... 07:51:04.827564 Server disconnects passive DATA connection 07:51:04.827801 Server disconnected passive DATA connection 07:51:04.827828 DATA sockfilt for passive data channel quits (pid 82447) 07:51:04.828113 DATA sockfilt for passive data channel quit (pid 82447) 07:51:04.828138 =====> Closed passive DATA connection 07:51:04.828171 > "226 File transfer complete[CR][LF]" 07:51:04.868599 < "QUIT" 07:51:04.868657 > "221 bye bye baby[CR][LF]" 07:51:04.869216 MAIN sockfilt said DISC 07:51:04.869262 ====> Client disconnected 07:51:04.869332 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.651407 ====> Client connect 07:51:04.651712 Received DATA (on stdin) 07:51:04.651731 > 160 bytes data, server => client 07:51:04.651745 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.651758 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.651769 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.651846 < 16 bytes data, client => server 07:51:04.651860 'USER anonymous\r\n' 07:51:04.652062 Received DATA (on stdin) 07:51:04.652075 > 33 bytes data, server => client 07:51:04.652088 '331 We are happy you popped in!\r\n' 07:51:04.652139 < 22 bytes data, client => server 07:51:04.652152 'PASS ftp@example.com\r\n' 07:51:04.652300 Received DATA (on stdin) 07:51:04.652312 > 30 bytes data, server => client 07:51:04.652324 '230 Welcome you silly person\r\n' 07:51:04.652373 < 5 bytes data, client => server 07:51:04.652384 'PWD\r\n' 07:51:04.652495 Received DATA (on stdin) 07:51:04.652507 > 30 bytes data, server => client 07:51:04.652526 '257 "/" is current directory\r\n' 07:51:04.652580 < 6 bytes data, client => server 07:51:04.652598 'EPSV\r\n' 07:51:04.654675 Received DATA (on stdin) 07:51:04.654689 > 39 bytes data, server => client 07:51:04.654701 '229 Entering Passive Mode (|||40051|)\r\n' 07:51:04.654842 < 8 bytes data, client => server 07:51:04.654855 'TYPE I\r\n' 07:51:04.655033 Received DATA (on stdin) 07:51:04.655046 > 33 bytes data, server => client 07:51:04.655057 '200 I modify TYPE as you wanted\r\n' 07:51:04.655106 < 21 bytes data, client => server 07:51:04.655118 'SIZE verifiedserver\r\n' 07:51:04.655228 Received DATA (on stdin) 07:51:04.655240 > 8 bytes data, server => client 07:51:04.655251 '213 17\r\n' 07:51:04.655297 < 21 bytes data, client => server 07:51:04.655309 'RETR verifiedserver\r\n' 07:51:04.655513 Received DATA (on stdin) 07:51:04.655526 > 29 bytes data, server => client 07:51:04.655538 '150 Binary junk (17 bytes).\r\n' 07:51:04.656122 Received DATA (on stdin) 07:51:04.656136 > 28 bytes data, server => client 07:51:04.656148 '226 File transfer complete\r\n' 07:51:04.696405 < 6 bytes data, client => server 07:51:04.696429 'QUIT\r\n' 07:51:04.696618 Received DATA (on stdin) 07:51:04.696638 > 18 bytes data, server => 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/9/valgrind118 ../src/curl -q --output log/9/curl118.out --include --trace-ascii log/9/trace118 --trace-time ftp://127.0.0.1:33709/118 > log/9/stdout118 2> log/9/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/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:38789/ > log/15/stdout131 2> log/15/stderr131 lient 07:51:04.696650 '221 bye bye baby\r\n' 07:51:04.697090 ====> Client disconnect 07:51:04.697294 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.654301 Running IPv4 version 07:51:04.654370 Listening on port 40051 07:51:04.654407 Wrote pid 82447 to log/19/server/ftp_sockdata.pid 07:51:04.654430 Received PING (on stdin) 07:51:04.654518 Received PORT (on stdin) 07:51:04.654814 ====> Client connect 07:51:04.655564 Received DATA (on stdin) 07:51:04.655577 > 17 bytes data, server => client 07:51:04.655589 'WE ROOLZ: 80634\r\n' 07:51:04.655614 Received DISC (on stdin) 07:51:04.655627 ====> Client forcibly disconnected 07:51:04.655785 Received QUIT (on stdin) 07:51:04.655798 quits 07:51:04.655863 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==82674== ==82674== Process terminating with default action of signal 4 (SIGILL) ==82674== Illegal opcode at address 0x4013DC0 ==82674== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82674== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82674== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82674== by 0x40037A4: main (tool_main.c:199) === End of file valgrind135 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 33709 (log/9/server/ftp_server.port) RUN: FTP server is PID 81212 port 33709 * pid ftp => 81212 81212 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/9/valgrind118 ../src/curl -q --output log/9/curl118.out --include --trace-ascii log/9/trace118 --trace-time ftp://127.0.0.1:33709/118 > log/9/stdout118 2> log/9/stderr118 118: 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/ dir 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/9/valgrind118 ../src/curl -q --output log/9/curl118.out --include --trace-ascii log/9/trace118 --trace-time ftp://127.0.0.1:33709/118 > log/9/stdout118 2> log/9/stderr118 === End of file commands.log === Start of file ftp_server.log 07:51:03.856460 FTP server listens on port IPv4/33709 07:51:03.856520 logged pid 81212 in log/9/server/ftp_server.pid 07:51:03.856541 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.684219 Running IPv4 version 07:51:03.684263 Listening on port 33709 07:51:03.684293 Wrote pid 81252 to log/9/server/ftp_sockctrl.pid 07:51:03.684316 Wrote port 33709 to log/9/server/ftp_server.port 07:51:03.684331 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 ==82478== ==82478== Process terminating with default action of signal 4 (SIGILL) ==82478== Illegal opcode at address 0x4013DC0 ==82478== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82478== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82478== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82478== by 0x40037A4: main (tool_main.c:199) === End of file valgrind118 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:38789/ > 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/ dir 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:38789/ > log/15/stdout131 2> log/15/stderr131 === End of file commands.log === Start of file ftp_server.log 07:51:04.771111 ====> Client connect 07:51:04.771262 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.771546 < "USER anonymous" 07:51:04.771588 > "331 We are happy you popped in![CR][LF]" 07:51:04.771888 < "PASS ftp@example.com" 07:51:04.771937 > "230 Welcome you silly person[CR][LF]" 07:51:04.772249 < "PWD" 07:51:04.772292 > "257 "/" is current directory[CR][LF]" 07:51:04.772460 < "EPSV" 07:51:04.772486 ====> Passive DATA channel requested by client 07:51:04.772500 DATA sockfilt for passive data channel starting... 07:51:04.774349 DATA sockfilt for passive data channel started (pid 82353) 07:51:04.774458 DATA sockfilt for passive data channel listens on port 43559 07:51:04.774498 > "229 Entering Passive Mode (|||43559|)[CR][LF]" 07:51:04.774518 Client has been notified that DATA conn will be accepted on port 43559 07:51:04.774876 Client connects to port 43559 07:51:04.774906 ====> Client established passive DATA connection on port 43559 07:51:04.774977 < "TYPE I" 07:51:04.775009 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.775164 < "SIZE verifiedserver" 07:51:04.775200 > "213 17[CR][LF]" 07:51:04.775347 < "RETR verifiedserver" 07:51:04.775383 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.775561 =====> Closing passive DATA connection... 07:51:04.775579 Server disconnects passive DATA connection 07:51:04.775745 Server disconnected passive DATA connection 07:51:04.775769 DATA sockfilt for passive data channel quits (pid 82353) 07:51:04.775998 DATA sockfilt for passive data channel quit (pid 82353) 07:51:04.776022 =====> Closed passive DATA connection 07:51:04.776048 > "226 File transfer complete[CR][LF]" 07:51:04.819314 < "QUIT" 07:51:04.819361 > "221 bye bye baby[CR][LF]" 07:51:04.820385 MAIN sockfilt said DISC 07:51:04.820428 ====> Client disconnected 07:51:04.820506 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.598965 ====> Client connect 07:51:04.599226 Received DATA (on stdin) 07:51:04.599243 > 160 bytes data, server => client 07:51:04.599256 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.599268 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.599279 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.599354 < 16 bytes data, client => server 07:51:04.599366 'USER anonymous\r\n' 07:51:04.599547 Received DATA (on stdin) 07:51:04.599575 > 33 bytes data, server => client 07:51:04.599588 '331 We are happy you popped in!\r\n' 07:51:04.599669 < 22 bytes data, client => server 07:51:04.599703 'PASS ftp@example.com\r\n' 07:51:04.600002 Received DATA (on stdin) 07:51:04.600020 > 30 bytes data, server => client 07:51:04.600032 '230 Welcome you silly person\r\n' 07:51:04.600093 < 5 bytes data, client => server 07:51:04.600106 'PWD\r\n' 07:51:04.600242 Received DATA (on stdin) 07:51:04.600255 > 30 bytes data, server => client 07:51:04.600267 '257 "/" is current directory\r\n' 07: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/18/valgrind130 ../src/curl -q --output log/18/curl130.out --include --trace-ascii log/18/trace130 --trace-time --netrc-optional --netrc-file log/18/netrc130 ftp://127.0.0.1:34455/ > log/18/stdout130 2> log/18/stderr130 CMD (33792): ../libtool --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/valgrind137 ../src/curl -q --output log/16/curl137.out --include --trace-ascii log/16/trace137 --trace-time ftp://127.0.0.1:37855/blalbla/lululul/137 > log/16/stdout137 2> log/16/stderr137 1:04.600325 < 6 bytes data, client => server 07:51:04.600337 'EPSV\r\n' 07:51:04.602474 Received DATA (on stdin) 07:51:04.602489 > 39 bytes data, server => client 07:51:04.602500 '229 Entering Passive Mode (|||43559|)\r\n' 07:51:04.602770 < 8 bytes data, client => server 07:51:04.602783 'TYPE I\r\n' 07:51:04.602958 Received DATA (on stdin) 07:51:04.602970 > 33 bytes data, server => client 07:51:04.602981 '200 I modify TYPE as you wanted\r\n' 07:51:04.603030 < 21 bytes data, client => server 07:51:04.603042 'SIZE verifiedserver\r\n' 07:51:04.603148 Received DATA (on stdin) 07:51:04.603159 > 8 bytes data, server => client 07:51:04.603170 '213 17\r\n' 07:51:04.603215 < 21 bytes data, client => server 07:51:04.603227 'RETR verifiedserver\r\n' 07:51:04.603339 Received DATA (on stdin) 07:51:04.603355 > 29 bytes data, server => client 07:51:04.603366 '150 Binary junk (17 bytes).\r\n' 07:51:04.603997 Received DATA (on stdin) 07:51:04.604010 > 28 bytes data, server => client 07:51:04.604022 '226 File transfer complete\r\n' 07:51:04.647099 < 6 bytes data, client => server 07:51:04.647124 'QUIT\r\n' 07:51:04.647313 Received DATA (on stdin) 07:51:04.647325 > 18 bytes data, server => client 07:51:04.647338 '221 bye bye baby\r\n' 07:51:04.648274 ====> Client disconnect 07:51:04.648458 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.601968 Running IPv4 version 07:51:04.602032 Listening on port 43559 07:51:04.602073 Wrote pid 82353 to log/15/server/ftp_sockdata.pid 07:51:04.602237 Received PING (on stdin) 07:51:04.602320 Received PORT (on stdin) 07:51:04.602739 ====> Client connect 07:51:04.603530 Received DATA (on stdin) 07:51:04.603544 > 17 bytes data, server => client 07:51:04.603555 'WE ROOLZ: 80326\r\n' 07:51:04.603581 Received DISC (on stdin) 07:51:04.603593 ====> Client forcibly disconnected 07:51:04.603727 Received QUIT (on stdin) 07:51:04.603738 quits 07:51:04.603798 ============> 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 ==82464== ==82464== Process terminating with default action of signal 4 (SIGILL) ==82464== Illegal opcode at address 0x4013DC0 ==82464== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82464== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82464== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82464== by 0x40037A4: main (tool_main.c:199) === End of file valgrind131 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/18/valgrind130 ../src/curl -q --output log/18/curl130.out --include --trace-ascii log/18/trace130 --trace-time --netrc-optional --netrc-file log/18/netrc130 ftp://127.0.0.1:34455/ > log/18/stdout130 2> log/18/stderr130 130: 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/ dir 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/18/valgrind130 ../src/curl -q --output log/18/curl130.out --include --trace-ascii log/18/trace130 --trace-time --netrc-optional --netrc-file log/18/netrc130 ftp://127.0.0.1:34455/ > log/18/stdout130 2> log/18/stderr130 === End of file commands.log === Start of file ftp_server.log 07:51:04.762791 ====> Client connect 07:51:04.762950 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.763277 < "USER anonymous" 07:51:04.763315 > "331 We are happy you popped in![CR][LF]" 07:51:04.763522 < "PASS ftp@example.com" 07:51:04.763552 > "230 Welcome you silly person[CR][LF]" 07:51:04.763715 < "PWD" 07:51:04.763745 > "257 "/" is current directory[CR][LF]" 07:51:04.763920 < "EPSV" 07:51:04.763949 ====> Passive DATA channel requested by client 07:51:04.763964 DATA sockfilt for passive data channel starting... 07:51:04.766612 DATA sockfilt for passive data channel started (pid 82349) 07:51:04.766772 DATA sockfilt for passive data channel listens on port 42947 07:51:04.766833 > "229 Entering Passive Mode (|||42947|)[CR][LF]" 07:51:04.766856 Client has been notified that DATA conn will be accepted on port 42947 07:51:04.767140 Client connects to port 42947 07:51:04.767178 ====> Client established passive DATA connection on port 42947 07:51:04.767299 < "TYPE I" 07:51:04.767336 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.767512 < "SIZE verifiedserver" 07:51:04.767568 > "213 17[CR][LF]" 07:51:04.767717 < "RETR verifiedserver" 07:51:04.767748 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.768074 =====> Closing passive DATA connection... 07:51:04.768097 Server disconnects passive DATA connection 07:51:04.768120 Fancy that; client wants to DISC, too 07:51:04.768217 Server disconnected passive DATA connection 07:51:04.768250 DATA sockfilt for passive data channel quits (pid 82349) 07:51:04.768524 DATA sockfilt for passive data channel quit (pid 82349) 07:51:04.768553 =====> Closed passive DATA connection 07:51:04.768581 > "226 File transfer complete[CR][LF]" 07:51:04.811152 < "QUIT" 07:51:04.811204 > "221 bye bye baby[CR][LF]" 07:51:04.812006 MAIN sockfilt said DISC 07:51:04.812184 ====> Client disconnected 07:51:04.812332 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.590635 ====> Client connect 07:51:05.590910 Received DATA (on stdin) 07:51:05.590935 > 160 bytes data, server => client 07:51:05.590946 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.590956 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.590964 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.591041 < 16 bytes data, client => server 07:51:05.591056 'USER anonymous\r\n' 07:51:05.591268 Received DATA (on stdin) 07:51:05.591282 > 33 bytes data, server => client 07:51:05.591294 '331 We are happy you popped in!\r\n' 07:51:05.591368 < 22 bytes data, client => server 07:51:05.591381 'PASS ftp@example.com\r\n' 07:51:05.591500 Received DATA (on stdin) 07:51:05.591514 > 30 bytes data, server => client 07:51:05.591525 '230 Welcome you silly person\r\n' 07:51:05.591577 < 5 bytes data, client => server 07:51:05.591590 'PWD\r\n' 07:51:05.591694 Received DATA (on stdin) 07:51:05.591707 > 30 bytes data, server => client 07:51:05.591718 '257 "/" is current directory\r\n' 07:51:05.591780 < 6 bytes data, client => server 07:51:05.591794 'EPSV\r\n' 07:51:05.594840 Received DATA (on stdin) 07:51:05.594860 > 39 bytes data, server => client 07:51:05.594872 '229 Entering Passive Mode (|||42947|)\r\n' 07:51:05.595033 < 8 bytes data, client => server 07:51:05.595046 'TYPE I\r\n' 07:51:05.595284 Received DATA (on stdin) 07:51:05.595296 > 33 bytes data, server => client 07:51:05.595307 '200 I modify TYPE as you wanted\r\n' 07:51:05.595362 < 21 bytes data, client => server 07:51:05.595373 'SIZE verifiedserver\r\n' 07:51:05.595518 Received DATA (on stdin) 07:51:05.595530 > 8 bytes data, server => client 07:51:05.595540 '213 17\r\n' 07:51:05.595586 < 21 bytes data, client => server 07:51:05.595597 'RETR verifiedserver\r\n' 07:51:05.595763 Received DATA (on stdin) 07:51:05.595775 > 29 bytes data, server => client 07:51:05.595786 '150 Binary junk (17 bytes).\r\n' 07:51:05.596533 Received DATA (on stdin) 07:51:05.596546 > 28 bytes data, server => client 07:51:05.596558 '226 File transfer complete\r\n' 07:51:05.638940 < 6 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/8/valgrind133 ../src/curl -q --output log/8/curl133.out --include --trace-ascii log/8/trace133 --trace-time -n --netrc-file log/8/netrc133 ftp://mary:mark@127.0.0.1:35961/ > log/8/stdout133 2> log/8/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/22/valgrind132 ../src/curl -q --output log/22/curl132.out --include --trace-ascii log/22/trace132 --trace-time --netrc-optional --netrc-file log/22/netrc132 ftp://mary:mark@127.0.0.1:38231/ > log/22/stdout132 2> log/22/stderr132 CMD (33792): ../libtool --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/valgrind136 ../src/curl -q --output log/4/curl136.out --include --trace-ascii log/4/trace136 --trace-time -u user: ftp://127.0.0.1:37071/136 > log/4/stdout136 2> log/4/stderr136 t => server 07:51:05.638964 'QUIT\r\n' 07:51:05.639157 Received DATA (on stdin) 07:51:05.639170 > 18 bytes data, server => client 07:51:05.639183 '221 bye bye baby\r\n' 07:51:05.639855 ====> Client disconnect 07:51:05.640021 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.594331 Running IPv4 version 07:51:04.594404 Listening on port 42947 07:51:04.594467 Wrote pid 82349 to log/18/server/ftp_sockdata.pid 07:51:04.594491 Received PING (on stdin) 07:51:04.594612 Received PORT (on stdin) 07:51:04.595002 ====> Client connect 07:51:04.595812 Received DATA (on stdin) 07:51:04.595827 > 17 bytes data, server => client 07:51:04.595857 'WE ROOLZ: 80643\r\n' 07:51:04.595952 ====> Client disconnect 07:51:04.596067 Received DISC (on stdin) 07:51:04.596080 Crikey! Client also wants to disconnect 07:51:04.596093 Received ACKD (on stdin) 07:51:04.596205 Received QUIT (on stdin) 07:51:04.596216 quits 07:51:04.596277 ============> 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 ==82443== ==82443== Process terminating with default action of signal 4 (SIGILL) ==82443== Illegal opcode at address 0x4013DC0 ==82443== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82443== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82443== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82443== by 0x40037A4: main (tool_main.c:199) === End of file valgrind130 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/8/valgrind133 ../src/curl -q --output log/8/curl133.out --include --trace-ascii log/8/trace133 --trace-time -n --netrc-file log/8/netrc133 ftp://mary:mark@127.0.0.1:35961/ > log/8/stdout133 2> log/8/stderr133 133: 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/ dir 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/8/valgrind133 ../src/curl -q --output log/8/curl133.out --include --trace-ascii log/8/trace133 --trace-time -n --netrc-file log/8/netrc133 ftp://mary:mark@127.0.0.1:35961/ > log/8/stdout133 2> log/8/stderr133 === End of file commands.log === Start of file ftp_server.log 07:51:04.816500 ====> Client connect 07:51:04.816676 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.817005 < "USER anonymous" 07:51:04.817047 > "331 We are happy you popped in![CR][LF]" 07:51:04.817238 < "PASS ftp@example.com" 07:51:04.817272 > "230 Welcome you silly person[CR][LF]" 07:51:04.817442 < "PWD" 07:51:04.817480 > "257 "/" is current directory[CR][LF]" 07:51:04.817657 < "EPSV" 07:51:04.817689 ====> Passive DATA channel requested by client 07:51:04.817704 DATA sockfilt for passive data channel starting... 07:51:04.819712 DATA sockfilt for passive data channel started (pid 82428) 07:51:04.819851 DATA sockfilt for passive data channel listens on port 40965 07:51:04.819920 > "229 Entering Passive Mode (|||40965|)[CR][LF]" 07:51:04.819942 Client has been notified that DATA conn will be accepted on port 40965 07:51:04.820209 Client connects to port 40965 07:51:04.820240 ====> Client established passive DATA connection on port 40965 07:51:04.820342 < "TYPE I" 07:51:04.820376 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.820546 < "SIZE verifiedserver" 07:51:04.820582 > "213 17[CR][LF]" 07:51:04.820741 < "RETR verifiedserver" 07:51:04.820775 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.820857 =====> Closing passive DATA connection... 07:51:04.820875 Server disconnects passive DATA connection 07:51:04.821118 Server disconnected passive DATA connection 07:51:04.821144 DATA sockfilt for passive data channel quits (pid 82428) 07:51:04.821378 DATA sockfilt for passive data channel quit (pid 82428) 07:51:04.821409 =====> Closed passive DATA connection 07:51:04.821438 > "226 File transfer complete[CR][LF]" 07:51:04.865167 < "QUIT" 07:51:04.865222 > "221 bye bye baby[CR][LF]" 07:51:04.865941 MAIN sockfilt said DISC 07:51:04.865986 ====> Client disconnected 07:51:04.866053 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.644349 ====> Client connect 07:51:04.644644 Received DATA (on stdin) 07:51:04.644665 > 160 bytes data, server => client 07:51:04.644679 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.644692 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.644703 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.644783 < 16 bytes data, client => server 07:51:04.644798 'USER anonymous\r\n' 07:51:04.645001 Received DATA (on stdin) 07:51:04.645015 > 33 bytes data, server => client 07:51:04.645028 '331 We are happy you popped in!\r\n' 07:51:04.645081 < 22 bytes data, client => server 07:51:04.645095 'PASS ftp@example.com\r\n' 07:51:04.645222 Received DATA (on stdin) 07:51:04.645236 > 30 bytes data, server => client 07:51:04.645248 '230 Welcome you silly person\r\n' 07:51:04.645299 < 5 bytes data, client => server 07:51:04.645312 'PWD\r\n' 07:51:04.645431 Received DATA (on stdin) 07:51:04.645445 > 30 bytes data, server => client 07:51:04.645457 '257 "/" is current directory\r\n' 07:51:04.645515 < 6 bytes data, client => server 07:51:04.645528 'EPSV\r\n' 07:51:04.647905 Received DATA (on stdin) 07:51:04.647925 > 39 bytes data, server => client 07:51:04.647938 '229 Entering Passive Mode (|||40965|)\r\n' 07:51:04.648104 < 8 bytes data, client => server 07:51:04.648117 'TYPE I\r\n' 07:51:04.648327 Received DATA (on stdin) 07:51:04.648340 > 33 bytes data, server => client 07:51:04.648353 '200 I modify TYPE as you wanted\r\n' 07:51:04.648405 < 21 bytes data, client => server 07:51:04.648417 'SIZE verifiedserver\r\n' 07:51:04.648532 Received DATA (on stdin) 07:51:04.648544 > 8 bytes data, server => client 07:51:04.648555 '213 17\r\n' 07:51:04.648603 < 21 bytes data, client => server 07:51:04.648615 'RETR verifiedserver\r\n' 07:51:04.648826 Received DATA (on stdin) 07:51:04.648839 > 29 bytes data, server => client 07:51:04.648851 '150 Binary junk (17 bytes).\r\n' 07:51:04.649389 Received DATA (on stdin) 07:51:04.649403 > 28 bytes data, server => client 07:51:04.649415 '226 File transfer complete\r\n' 07:51:04.692942 < 6 bytes data, client => server 07:51:04.692966 'QUIT\r\n' 07:51:04.693186 Received DATA (on stdin) 07:51:04.693201 > 18 bytes data, server => client 07:51:04.693213 '221 bye bye baby\r\n' 07:51:04.693815 ====> Client disconnect 07:51:04.693926 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.647396 Running IPv4 version 07:51:04.647499 Listening on port 40965 07:51:04.647567 Wrote pid 82428 to log/8/server/ftp_sockdata.pid 07:51:04.647590 Received PING (on stdin) 07:51:04.647699 Received PORT (on stdin) 07:51:04.648074 ====> Client connect 07:51:04.648878 Received DATA (on stdin) 07:51:04.648892 > 17 bytes data, server => client 07:51:04.648904 'WE ROOLZ: 80636\r\n' 07:51:04.648928 Received DISC (on stdin) 07:51:04.648940 ====> Client forcibly disconnected 07:51:04.649101 Received QUIT (on stdin) 07:51:04.649114 quits 07:51:04.649175 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc133 # CMD (33792): ../libtool --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/valgrind117 ../src/curl -q --output log/6/curl117.out --include --trace-ascii log/6/trace117 --trace-time ftp://127.0.0.1:41051/117 > log/6/stdout117 2> log/6/stderr117 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 ==82658== ==82658== Process terminating with default action of signal 4 (SIGILL) ==82658== Illegal opcode at address 0x4013DC0 ==82658== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82658== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82658== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82658== by 0x40037A4: main (tool_main.c:199) === 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 --log-file=log/16/valgrind137 ../src/curl -q --output log/16/curl137.out --include --trace-ascii log/16/trace137 --trace-time ftp://127.0.0.1:37855/blalbla/lululul/137 > log/16/stdout137 2> log/16/stderr137 137: 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/ dir 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/16/valgrind137 ../src/curl -q --output log/16/curl137.out --include --trace-ascii log/16/trace137 --trace-time ftp://127.0.0.1:37855/blalbla/lululul/137 > log/16/stdout137 2> log/16/stderr137 === End of file commands.log === Start of file ftp_server.log 07:51:04.834714 ====> Client connect 07:51:04.834865 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.835135 < "USER anonymous" 07:51:04.835178 > "331 We are happy you popped in![CR][LF]" 07:51:04.835342 < "PASS ftp@example.com" 07:51:04.835371 > "230 Welcome you silly person[CR][LF]" 07:51:04.835517 < "PWD" 07:51:04.835551 > "257 "/" is current directory[CR][LF]" 07:51:04.835697 < "EPSV" 07:51:04.835718 ====> Passive DATA channel requested by client 07:51:04.835731 DATA sockfilt for passive data channel starting... 07:51:04.837838 DATA sockfilt for passive data channel started (pid 82484) 07:51:04.837979 DATA sockfilt for passive data channel listens on port 36801 07:51:04.838037 > "229 Entering Passive Mode (|||36801|)[CR][LF]" 07:51:04.838059 Client has been notified that DATA conn will be accepted on port 36801 07:51:04.838296 Client connects to port 36801 07:51:04.838333 ====> Client established passive DATA connection on port 36801 07:51:04.838436 < "TYPE I" 07:51:04.838475 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.838682 < "SIZE verifiedserver" 07:51:04.838730 > "213 17[CR][LF]" 07:51:04.838919 < "RETR verifiedserver" 07:51:04.838959 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.839051 =====> Closing passive DATA connection... 07:51:04.839070 Server disconnects passive DATA connection 07:51:04.839345 Server disconnected passive DATA connection 07:51:04.839376 DATA sockfilt for passive data channel quits (pid 82484) 07:51:04.839644 DATA sockfilt for passive data channel quit (pid 82484) 07:51:04.839673 =====> Closed passive DATA connection 07:51:04.839707 > "226 File transfer complete[CR][LF]" 07:51:04.881600 < "QUIT" 07:51:04.881660 > "221 bye bye baby[CR][LF]" 07:51:04.881972 MAIN sockfilt said DISC 07:51:04.882015 ====> Client disconnected 07:51:04.882088 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.662569 ====> Client connect 07:51:04.662797 Received DATA (on stdin) 07:51:04.662824 > 160 bytes data, server => client 07:51:04.662836 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.662846 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.662856 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.662934 < 16 bytes data, client => server 07:51:04.662945 'USER anonymous\r\n' 07:51:04.663129 Received DATA (on stdin) 07:51:04.663141 > 33 bytes data, server => client 07:51:04.663151 '331 We are happy you popped in!\r\n' 07:51:04.663199 < 22 bytes data, client => server 07:51:04.663210 'PASS ftp@example.com\r\n' 07:51:04.663318 Received DATA (on stdin) 07:51:04.663329 > 30 bytes data, server => client 07:51:04.663339 '230 Welcome you silly person\r\n' 07:51:04.663384 < 5 bytes data, client => server 07:51:04.663394 'PWD\r\n' 07:51:04.663497 Received DATA (on stdin) 07:51:04.663508 > 30 bytes data, server => client 07:51:04.663517 '257 "/" is current directory\r\n' 07:51:04.663568 < 6 bytes data, client => server 07:51:04.663578 'EPSV\r\n' 07:51:04.666020 Received DATA (on stdin) 07:51:04.666039 > 39 bytes data, server => client 07:51:04.666052 '229 Entering Passive Mode (|||36801|)\r\n' 07:51:04.666212 < 8 bytes data, client => server 07:51:04.666233 'TYPE I\r\n' 07:51:04.666430 Received DATA (on stdin) 07:51:04.666446 > 33 bytes data, server => client 07:51:04.666459 '200 I modify TYPE as you wanted\r\n' 07:51:04.666523 < 21 bytes data, client => server 07:51:04.666539 'SIZE verifiedserver\r\n' 07:51:04.666684 Received DATA (on stdin) 07:51:04.666698 > 8 bytes data, server => client 07:51:04.666710 '213 17\r\n' 07:51:04.666768 < 21 bytes data, client => server 07:51:04.666784 'RETR verifiedserver\r\n' 07:51:04.667023 Received DATA (on stdin) 07:51:04.667036 > 29 bytes data, server => client 07:51:04.667049 '150 Binary junk (17 bytes).\r\n' 07:51:04.667663 Received DATA (on stdin) 07:51:04.667678 > 28 bytes data, server => client 07:51:04.667690 '226 File transfer complete\r\n' 07:51:04.709373 < 6 bytes data, client => server 07:51:04.709396 'QUIT\r\n' 07:51:04.709621 Received DATA (on stdin) 07:51:04.709650 > 18 bytes data, server => client 07:51:04.709664 '221 bye bye baby\r\n' 07:51:04.709856 ====> Client disconnect 07:51:04.710041 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.665411 Running IPv4 version 07:51:04.665479 Listening on port 36801 07:51:04.665532 Wrote pid 82484 to log/16/server/ftp_sockdata.pid 07:51:04.665720 Received PING (on stdin) 07:51:04.665820 Received PORT (on stdin) 07:51:04.666185 ====> Client connect 07:51:04.667079 Received DATA (on stdin) 07:51:04.667094 > 17 bytes data, server => client 07:51:04.667105 'WE ROOLZ: 80324\r\n' 07:51:04.667131 Received DISC (on stdin) 07:51:04.667148 ====> Client forcibly disconnected 07:51:04.667338 Received QUIT (on stdin) 07:51:04.667353 quits 07:51:04.667414 ============> 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 ==82748== ==82748== Process terminating with default action of signal 4 (SIGILL) ==82748== Illegal opcode at address 0x4013DC0 ==82748== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82748== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82748== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82748== by 0x40037A4: main (tool_main.c:199) === End of file valgrind137 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/4/valgrind136 ../src/curl -q --output log/4/curl136.out --include --trace-ascii log/4/trace136 --trace-time -u user: ftp://127.0.0.1:37071/136 > log/4/stdout136 2> log/4/stderr136 136: 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/ dir 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/4/valgrind136 ../src/curl -q --output log/4/curl136.out --include --trace-ascii log/4/trace136 --trace-time -u user: ftp://127.0.0.1:37071/136 > log/4/stdout136 2> log/4/stderr136 === End of file commands.log === Start of file ftp_server.log 07:51:04.828007 ====> Client connect 07:51:04.828169 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.828481 < "USER anonymous" 07:51:04.828530 > "331 We are happy you popped in![CR][LF]" 07:51:04.828732 < "PASS ftp@example.com" 07:51:04.828786 > "230 Welcome you silly person[CR][LF]" 07:51:04.829231 < "PWD" 07:51:04.829279 > "257 "/" is current directory[CR][LF]" 07:51:04.829490 < "EPSV" 07:51:04.829536 ====> Passive DATA channel requested by client 07:51:04.829552 DATA sockfilt for passive data channel starting... 07:51:04.831505 DATA sockfilt for passive data channel started (pid 82460) 07:51:04.831630 DATA sockfilt for passive data channel listens on port 35443 07:51:04.831687 > "229 Entering Passive Mode (|||35443|)[CR][LF]" 07:51:04.831705 Client has been notified that DATA conn will be accepted on port 35443 07:51:04.831955 Client connects to port 35443 07:51:04.831990 ====> Client established passive DATA connection on port 35443 07:51:04.832132 < "TYPE I" 07:51:04.832168 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.832345 < "SIZE verifiedserver" 07:51:04.832387 > "213 17[CR][LF]" 07:51:04.832548 < "RETR verifiedserver" 07:51:04.832583 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.832662 =====> Closing passive DATA connection... 07:51:04.832679 Server disconnects passive DATA connection 07:51:04.832848 Server disconnected passive DATA connection 07:51:04.832870 DATA sockfilt for passive data channel quits (pid 82460) 07:51:04.833100 DATA sockfilt for passive data channel quit (pid 82460) 07:51:04.833143 =====> Closed passive DATA connection 07:51:04.833182 > "226 File transfer complete[CR][LF]" 07:51:04.874934 < "QUIT" 07:51:04.874977 > "221 bye bye baby[CR][LF]" 07:51:04.875426 MAIN sockfilt said DISC 07:51:04.875462 ====> Client disconnected 07:51:04.875521 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.655854 ====> Client connect 07:51:04.656131 Received DATA (on stdin) 07:51:04.656147 > 160 bytes data, server => client 07:51:04.656161 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.656172 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.656183 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.656262 < 16 bytes data, client => server 07:51:04.656274 'USER anonymous\r\n' 07:51:04.656481 Received DATA (on stdin) 07:51:04.656497 > 33 bytes data, server => client 07:51:04.656509 '331 We are happy you popped in!\r\n' 07:51:04.656562 < 22 bytes data, client => server 07:51:04.656575 'PASS ftp@example.com\r\n' 07:51:04.656990 Received DATA (on stdin) 07:51:04.657005 > 30 bytes data, server => client 07:51:04.657015 '230 Welcome you silly person\r\n' 07:51:04.657061 < 5 bytes data, client => server 07:51:04.657073 'PWD\r\n' 07:51:04.657225 Received DATA (on stdin) 07:51:04.657236 > 30 bytes data, server => client 07:51:04.657245 '257 "/" is current directory\r\n' 07:51:04.657304 < 6 bytes data, client => server 07:51:04.657318 'EPSV\r\n' 07:51:04.659665 Received DATA (on stdin) 07:51:04.659686 > 39 bytes data, server => client 07:51:04.659700 '229 Entering Passive Mode (|||35443|)\r\n' 07:51:04.659964 < 8 bytes data, client => server 07:51:04.659978 'TYPE I\r\n' 07:51:04.660118 Received DATA (on stdin) 07:51:04.660131 > 33 bytes data, server => client 07:51:04.660143 '200 I modify TYPE as you wanted\r\n' 07:51:04.660201 < 21 bytes data, client => server 07:51:04.660214 'SIZE verifiedserver\r\n' 07:51:04.660337 Received DATA (on stdin) 07:51:04.660349 > 8 bytes data, server => client 07:51:04.660361 '213 17\r\n' 07:51:04.660410 < 21 bytes data, client => server 07:51:04.660423 'RETR verifiedserver\r\n' 07:51:04.660630 Received DATA (on stdin) 07:51:04.660643 > 29 bytes data, server => client 07:51:04.660655 '150 Binary junk (17 bytes).\r\n' 07:51:04.661142 Received DATA (on stdin) 07:51:04.661161 > 28 bytes data, server => client 07:51:04.661174 '226 File transfer complete\r\n' 07:51:04.702729 < 6 bytes data, client => server 07:51:04.702752 'QUIT\r\n' 07:51:04.702905 Received DATA (on stdin) 07:51:04.702920 > 18 bytes data, server => client 07:51:04.702932 '221 bye bye baby\r\n' 07:51:04.703313 ====> Client disconnect 07:51:04.703471 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.659124 Running IPv4 version 07:51:04.659192 Listening on port 35443 07:51:04.659231 Wrote pid 82460 to log/4/server/ftp_sockdata.pid 07:51:04.659390 Received PING (on stdin) 07:51:04.659486 Received PORT (on stdin) 07:51:04.659852 ====> Client connect 07:51:04.660680 Received DATA (on stdin) 07:51:04.660695 > 17 bytes data, server => client 07:51:04.660707 'WE ROOLZ: 80637\r\n' 07:51:04.660732 Received DISC (on stdin) 07:51:04.660745 ====> Client forcibly disconnected 07:51:04.660825 Received QUIT (on stdin) 07:51:04.660837 quits 07:51:04.660894 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==82697== ==82697== Process terminating with default action of signal 4 (SIGILL) ==82697== Illegal opcode at address 0x4013DC0 ==82697== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82697== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82697== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82697== by 0x40037A4: main (tool_main.c:199) === End of file valgrind136 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 41051 (log/6/server/ftp_server.port) RUN: FTP server is PID 81211 port 41051 * pid ftp => 81211 81211 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/6/valgrind117 ../src/curl -q --output log/6/curl117.out --include --trace-ascii log/6/trace117 --trace-time ftp://127.0.0.1:41051/117 > log/6/stdout117 2> log/6/stderr117 117: 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/ dir 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/6/valgrind117 ../src/curl -q --output log/6/curl117.out --include --trace-ascii log/6/trace117 --trace-time ftp://127.0.0.1:41051/117 > log/6/stdout117 2> log/6/stderr117 === End of file commands.log === Start of file ftp_server.log 07:51:03.853345 FTP server listens on port IPv4/41051 07:51:03.853410 logged pid 81211 in log/6/server/ftp_server.pid 07:51:03.853432 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:03.680997 Running IPv4 version 07:51:03.681046 Listening on port 41051 07:51:03.681075 Wrote pid 81241 to log/6/server/ftp_sockctrl.pid 07:51:03.681098 Wrote port 41051 to log/6/server/ftp_server.port 07:51:03.681218 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 ==82474== ==82474== Process terminating with default action CMD (33792): ../libtool --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/valgrind139 ../src/curl -q --output log/13/curl139.out --include --trace-ascii log/13/trace139 --trace-time ftp://127.0.0.1:33699/blalbla/139 -z "1 jan 1989" > log/13/stdout139 2> log/13/stderr139 of signal 4 (SIGILL) ==82474== Illegal opcode at address 0x4013DC0 ==82474== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82474== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82474== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82474== by 0x40037A4: main (tool_main.c:199) === End of file valgrind117 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/22/valgrind132 ../src/curl -q --output log/22/curl132.out --include --trace-ascii log/22/trace132 --trace-time --netrc-optional --netrc-file log/22/netrc132 ftp://mary:mark@127.0.0.1:38231/ > log/22/stdout132 2> log/22/stderr132 132: 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/ dir 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/22/valgrind132 ../src/curl -q --output log/22/curl132.out --include --trace-ascii log/22/trace132 --trace-time --netrc-optional --netrc-file log/22/netrc132 ftp://mary:mark@127.0.0.1:38231/ > log/22/stdout132 2> log/22/stderr132 === End of file commands.log === Start of file ftp_server.log 07:51:04.811876 ====> Client connect 07:51:04.812048 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.812388 < "USER anonymous" 07:51:04.812432 > "331 We are happy you popped in![CR][LF]" 07:51:04.812624 < "PASS ftp@example.com" 07:51:04.812653 > "230 Welcome you silly person[CR][LF]" 07:51:04.812803 < "PWD" 07:51:04.812832 > "257 "/" is current directory[CR][LF]" 07:51:04.812984 < "EPSV" 07:51:04.813013 ====> Passive DATA channel requested by client 07:51:04.813026 DATA sockfilt for passive data channel starting... 07:51:04.815669 DATA sockfilt for passive data channel started (pid 82411) 07:51:04.815782 DATA sockfilt for passive data channel listens on port 39781 07:51:04.815827 > "229 Entering Passive Mode (|||39781|)[CR][LF]" 07:51:04.815846 Client has been notified that DATA conn will be accepted on port 39781 07:51:04.816049 Client connects to port 39781 07:51:04.816072 ====> Client established passive DATA connection on port 39781 07:51:04.816146 < "TYPE I" 07:51:04.816175 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.816342 < "SIZE verifiedserver" 07:51:04.816385 > "213 17[CR][LF]" 07:51:04.816539 < "RETR verifiedserver" 07:51:04.816571 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.816654 =====> Closing passive DATA connection... 07:51:04.816671 Server disconnects passive DATA connection 07:51:04.816807 Server disconnected passive DATA connection 07:51:04.816845 DATA sockfilt for passive data channel quits (pid 82411) 07:51:04.817124 DATA sockfilt for passive data channel quit (pid 82411) 07:51:04.817156 =====> Closed passive DATA connection 07:51:04.817185 > "226 File transfer complete[CR][LF]" 07:51:04.861606 < "QUIT" 07:51:04.861659 > "221 bye bye baby[CR][LF]" 07:51:04.861918 MAIN sockfilt said DISC 07:51:04.861964 ====> Client disconnected 07:51:04.862040 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.639725 ====> Client connect 07:51:04.640008 Received DATA (on stdin) 07:51:04.640024 > 160 bytes data, server => client 07:51:04.640038 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:04.640050 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:04.640061 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:04.640153 < 16 bytes data, client => server 07:51:04.640167 'USER anonymous\r\n' 07:51:04.640384 Received DATA (on stdin) 07:51:04.640398 > 33 bytes data, server => client 07:51:04.640415 '331 We are happy you popped in!\r\n' 07:51:04.640473 < 22 bytes data, client => server 07:51:04.640486 'PASS ftp@example.com\r\n' 07:51:04.640601 Received DATA (on stdin) 07:51:04.640613 > 30 bytes data, server => client 07:51:04.640625 '230 Welcome you silly person\r\n' 07:51:04.640671 < 5 bytes data, client => server 07:51:04.640683 'PWD\r\n' 07:51:04.640779 Received DATA (on stdin) 07:51:04.640791 > 30 bytes data, server => client 07:51:04.640802 '257 "/" is current directory\r\n' 07:51:04.640857 < 6 bytes data, client => server 07:51:04.640868 'EPSV\r\n' 07:51:04.643791 Received DATA (on stdin) 07:51:04.643814 > 39 bytes data, server => client 07:51:04.643828 '229 Entering Passive Mode (|||39781|)\r\n' 07:51:04.643980 < 8 bytes data, client => server 07:51:04.643993 'TYPE I\r\n' 07:51:04.644122 Received DATA (on stdin) 07:51:04.644137 > 33 bytes data, server => client 07:51:04.644149 '200 I modify TYPE as you wanted\r\n' 07:51:04.644198 < 21 bytes data, client => server 07:51:04.644210 'SIZE verifiedserver\r\n' 07:51:04.644335 Received DATA (on stdin) 07:51:04.644347 > 8 bytes data, server => client 07:51:04.644358 '213 17\r\n' 07:51:04.644405 < 21 bytes data, client => server 07:51:04.644417 'RETR verifiedserver\r\n' 07:51:04.644546 Received DATA (on stdin) 07:51:04.644569 > 29 bytes data, server => client 07:51:04.644582 '150 Binary junk (17 bytes).\r\n' 07:51:04.645139 Received DATA (on stdin) 07:51:04.645158 > 28 bytes data, server => client 07:51:04.645170 '226 File transfer complete\r\n' 07:51:04.689375 < 6 bytes data, client => server 07:51:04.689401 'QUIT\r\n' 07:51:04.689612 Received DATA (on stdin) 07:51:04.689627 > 18 bytes data, server => client 07:51:04.689638 '221 bye bye baby\r\n' 07:51:04.689792 ====> Client disconnect 07:51:04.689989 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.642860 Running IPv4 version 07:51:04.642931 Listening on port 39781 07:51:04.642965 Wrote pid 82411 to log/22/server/ftp_sockdata.pid 07:51:04.643551 Received PING (on stdin) 07:51:04.643645 Received PORT (on stdin) 07:51:04.643950 ====> Client connect 07:51:04.644590 Received DATA (on stdin) 07:51:04.644610 > 17 bytes data, server => client 07:51:04.644622 'WE ROOLZ: 80638\r\n' 07:51:04.644650 Received DISC (on stdin) 07:51:04.644665 ====> Client forcibly disconnected 07:51:04.644803 Received QUIT (on stdin) 07:51:04.644818 quits 07:51:04.644877 ============> 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 ==82648== ==82648== Process terminating with default action of signal 4 (SIGILL) ==82648== Illegal opcode at address 0x4013DC0 ==82648== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82648== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82648== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82648== by 0x40037A4: main (tool_main.c:199) === End of file valgrind132 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/13/valgrind139 ../src/curl -q --output log/13/curl139.out --include --trace-ascii log/13/trace139 --trace-time ftp://127.0.0.1:33699/blalbla/139 -z "1 jan 1989" > log/13/stdout139 2> log/13/stderr139 139: 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/ dir 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/CMD (33792): ../libtool --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/valgrind141 ../src/curl -q --include --trace-ascii log/17/trace141 --trace-time ftp://127.0.0.1:44771/blalbla/141 -I > log/17/stdout141 2> log/17/stderr141 CMD (33792): ../libtool --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/valgrind140 ../src/curl -q --output log/20/curl140.out --include --trace-ascii log/20/trace140 --trace-time ftp://127.0.0.1:33651/blalbla/140 -z "1 jan 2004" > log/20/stdout140 2> log/20/stderr140 valgrind.supp --num-callers=16 --log-file=log/13/valgrind139 ../src/curl -q --output log/13/curl139.out --include --trace-ascii log/13/trace139 --trace-time ftp://127.0.0.1:33699/blalbla/139 -z "1 jan 1989" > log/13/stdout139 2> log/13/stderr139 === End of file commands.log === Start of file ftp_server.log 07:51:04.985695 ====> Client connect 07:51:04.985885 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:04.986220 < "USER anonymous" 07:51:04.986262 > "331 We are happy you popped in![CR][LF]" 07:51:04.986448 < "PASS ftp@example.com" 07:51:04.986478 > "230 Welcome you silly person[CR][LF]" 07:51:04.986632 < "PWD" 07:51:04.986664 > "257 "/" is current directory[CR][LF]" 07:51:04.986826 < "EPSV" 07:51:04.986855 ====> Passive DATA channel requested by client 07:51:04.986868 DATA sockfilt for passive data channel starting... 07:51:04.989314 DATA sockfilt for passive data channel started (pid 82973) 07:51:04.989444 DATA sockfilt for passive data channel listens on port 44759 07:51:04.989498 > "229 Entering Passive Mode (|||44759|)[CR][LF]" 07:51:04.989515 Client has been notified that DATA conn will be accepted on port 44759 07:51:04.989778 Client connects to port 44759 07:51:04.989809 ====> Client established passive DATA connection on port 44759 07:51:04.989949 < "TYPE I" 07:51:04.989983 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:04.990148 < "SIZE verifiedserver" 07:51:04.990186 > "213 17[CR][LF]" 07:51:04.990338 < "RETR verifiedserver" 07:51:04.990369 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:04.990451 =====> Closing passive DATA connection... 07:51:04.990466 Server disconnects passive DATA connection 07:51:04.990699 Server disconnected passive DATA connection 07:51:04.990725 DATA sockfilt for passive data channel quits (pid 82973) 07:51:04.990979 DATA sockfilt for passive data channel quit (pid 82973) 07:51:04.991006 =====> Closed passive DATA connection 07:51:04.991032 > "226 File transfer complete[CR][LF]" 07:51:05.038159 < "QUIT" 07:51:05.038214 > "221 bye bye baby[CR][LF]" 07:51:05.038604 MAIN sockfilt said DISC 07:51:05.038664 ====> Client disconnected 07:51:05.038739 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.813527 ====> Client connect 07:51:05.813850 Received DATA (on stdin) 07:51:05.813868 > 160 bytes data, server => client 07:51:05.813881 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.813893 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.813904 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.813986 < 16 bytes data, client => server 07:51:05.814001 'USER anonymous\r\n' 07:51:05.814217 Received DATA (on stdin) 07:51:05.814230 > 33 bytes data, server => client 07:51:05.814242 '331 We are happy you popped in!\r\n' 07:51:05.814295 < 22 bytes data, client => server 07:51:05.814308 'PASS ftp@example.com\r\n' 07:51:05.814426 Received DATA (on stdin) 07:51:05.814439 > 30 bytes data, server => client 07:51:05.814450 '230 Welcome you silly person\r\n' 07:51:05.814496 < 5 bytes data, client => server 07:51:05.814508 'PWD\r\n' 07:51:05.814612 Received DATA (on stdin) 07:51:05.814624 > 30 bytes data, server => client 07:51:05.814636 '257 "/" is current directory\r\n' 07:51:05.814691 < 6 bytes data, client => server 07:51:05.814703 'EPSV\r\n' 07:51:05.817475 Received DATA (on stdin) 07:51:05.817493 > 39 bytes data, server => client 07:51:05.817505 '229 Entering Passive Mode (|||44759|)\r\n' 07:51:05.817783 < 8 bytes data, client => server 07:51:05.817797 'TYPE I\r\n' 07:51:05.817934 Received DATA (on stdin) 07:51:05.817946 > 33 bytes data, server => client 07:51:05.817957 '200 I modify TYPE as you wanted\r\n' 07:51:05.818010 < 21 bytes data, client => server 07:51:05.818022 'SIZE verifiedserver\r\n' 07:51:05.818135 Received DATA (on stdin) 07:51:05.818148 > 8 bytes data, server => client 07:51:05.818158 '213 17\r\n' 07:51:05.818204 < 21 bytes data, client => server 07:51:05.818216 'RETR verifiedserver\r\n' 07:51:05.818416 Received DATA (on stdin) 07:51:05.818428 > 29 bytes data, server => client 07:51:05.818439 '150 Binary junk (17 bytes).\r\n' 07:51:05.818982 Received DATA (on stdin) 07:51:05.818995 > 28 bytes data, server => client 07:51:05.819006 '226 File transfer complete\r\n' 07:51:05.865883 < 6 bytes data, client => server 07:51:05.865924 'QUIT\r\n' 07:51:05.866168 Received DATA (on stdin) 07:51:05.866182 > 18 bytes data, server => client 07:51:05.866194 '221 bye bye baby\r\n' 07:51:05.866461 ====> Client disconnect 07:51:05.866694 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:04.816884 Running IPv4 version 07:51:04.816989 Listening on port 44759 07:51:04.817027 Wrote pid 82973 to log/13/server/ftp_sockdata.pid 07:51:04.817201 Received PING (on stdin) 07:51:04.817295 Received PORT (on stdin) 07:51:04.817676 ====> Client connect 07:51:04.818464 Received DATA (on stdin) 07:51:04.818476 > 17 bytes data, server => client 07:51:04.818487 'WE ROOLZ: 80695\r\n' 07:51:04.818511 Received DISC (on stdin) 07:51:04.818522 ====> Client forcibly disconnected 07:51:04.818682 Received QUIT (on stdin) 07:51:04.818693 quits 07:51:04.818763 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==82982== ==82982== Process terminating with default action of signal 4 (SIGILL) ==82982== Illegal opcode at address 0x4013DC0 ==82982== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==82982== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82982== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==82982== by 0x40037A4: main (tool_main.c:199) === End of file valgrind139 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/20/valgrind140 ../src/curl -q --output log/20/curl140.out --include --trace-ascii log/20/trace140 --trace-time ftp://127.0.0.1:33651/blalbla/140 -z "1 jan 2004" > log/20/stdout140 2> log/20/stderr140 140: 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/ dir 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/20/valgrind140 ../src/curl -q --output log/20/curl140.out --include --trace-ascii log/20/trace140 --trace-time ftp://127.0.0.1:33651/blalbla/140 -z "1 jan 2004" > log/20/stdout140 2> log/20/stderr140 === End of file commands.log === Start of file ftp_server.log 07:51:05.178735 ====> Client connect 07:51:05.178896 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.179186 < "USER anonymous" 07:51:05.179223 > "331 We are happy you popped in![CR][LF]" 07:51:05.179406 < "PASS ftp@example.com" 07:51:05.179436 > "230 Welcome you silly person[CR][LF]" 07:51:05.179598 < "PWD" 07:51:05.179627 > "257 "/" is current directory[CR][LF]" 07:51:05.179799 < "EPSV" 07:51:05.179823 ====> Passive DATA channel requested by client 07:51:05.179837 DATA sockfilt for passive data channel starting... 07:51:05.183863 DATA sockfilt for passive data channel started (pid 83068) 07:51:05.183984 DATA sockfilt for passive data channel listens on port 38843 07:51:05.184035 > "229 Entering Passive Mode (|||38843|)[CR][LF]" 07:51:05.184059 Client has been notified that DATA conn will be accepted on port 38843 07:51:05.184336 Client connects to port 38843 07:51:05.184368 ====> Client established passive DATA connection on port 38843 07:51:05.184464 < "TYPE I" 07:51:05.184501 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.184696 < "SIZE verifiedserver" 07:51:05.184740 > "213 17[CR][LF]" 07:51:05.184943 < "RETR verifiedserver" 07:51:05.184978 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.185073 =====> Closing passive DATA connection... 07:51:05.185092 Server disconnects passive DATA connection 07:51:05.185357 Server disconnected passive DATA connection 07:51:05.185387 DATA sockfilt for passive data channel quits (pid 83068) 07:51:05.185686 DATA sockfilt for passive data channel quit (pid 83068) 07:51:05.185714 =====> Closed passive DATA connection 07:51:05.185743 > "226 File transfer complete[CR][LF]" 07:51:05.228272 < "QUIT" 07:51:05.228323 > "221 bye bye baby[CR][LF]" 07:51:05.229102 MAIN sockfilt said DISC 07:51:05.229141 ====> Client disconnected 07:51:05.229212 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.006551 ====> Client connect 07:51:05.006859 Received DATA (on stdin) 07:51:05.006876 > 160 bytes data, server => client 07:51:05.006890 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.006903 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.006914 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.006990 < 16 bytes data, client => server 07:51:05.007005 'USER anonymous\r\n' 07:51:05.007176 Received DATA (on stdin) 07:51:05.007190 > 33 bytes data, server => client 07:51:05.007203 '331 We are happy you popped in!\r\n' 07:51:05.007256 < 22 bytes data, client => server 07:51:05.007269 'PASS ftp@example.com\r\n' 07:51:05.007385 Received DATA (on stdin) 07:51:05.007398 > 30 bytes data, server => client 07:51:05.007410 '230 Welcome you silly person\r\n' 07:51:05.007460 < 5 bytes data, client => server 07:51:05.007472 'PWD\r\n' 07:51:05.007575 Received DATA (on stdin) 07:51:05.007588 > 30 bytes data, server => client 07:51:05.007600 '257 "/" is current directory\r\n' 07:51:05.007662 < 6 bytes data, client => server 07:51:05.007675 'EPSV\r\n' 07:51:05.012018 Received DATA (on stdin) 07:51:05.012034 > 39 bytes data, server => client 07:51:05.012047 '229 Entering Passive Mode (|||38843|)\r\n' 07:51:05.012227 < 8 bytes data, client => server 07:51:05.012241 'TYPE I\r\n' 07:51:05.012454 Received DATA (on stdin) 07:51:05.012469 > 33 bytes data, server => client 07:51:05.012482 '200 I modify TYPE as you wanted\r\n' 07:51:05.012544 < 21 bytes data, client => server 07:51:05.012560 'SIZE verifiedserver\r\n' 07:51:05.012709 Received DATA (on stdin) 07:51:05.012727 > 8 bytes data, server => client 07:51:05.012741 '213 17\r\n' 07:51:05.012796 < 21 bytes data, client => server 07:51:05.012811 'RETR verifiedserver\r\n' 07:51:05.013045 Received DATA (on stdin) 07:51:05.013059 > 29 bytes data, server => client 07:51:05.013072 '150 Binary junk (17 bytes).\r\n' 07:51:05.013696 Received DATA (on stdin) 07:51:05.013711 > 28 bytes data, server => client 07:51:05.013724 '226 File transfer complete\r\n' 07:51:05.056040 < 6 bytes data, client => server 07:51:05.056066 'QUIT\r\n' 07:51:05.056278 Received DATA (on stdin) 07:51:05.056293 > 18 bytes data, server => client 07:51:05.056304 '221 bye bye baby\r\n' 07:51:05.056993 ====> Client disconnect 07:51:05.057162 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.011410 Running IPv4 version 07:51:05.011472 Listening on port 38843 07:51:05.011506 Wrote pid 83068 to log/20/server/ftp_sockdata.pid 07:51:05.011733 Received PING (on stdin) 07:51:05.011842 Received PORT (on stdin) 07:51:05.012194 ====> Client connect 07:51:05.013102 Received DATA (on stdin) 07:51:05.013117 > 17 bytes data, server => client 07:51:05.013129 'WE ROOLZ: 80551\r\n' 07:51:05.013155 Received DISC (on stdin) 07:51:05.013169 ====> Client forcibly disconnected 07:51:05.013349 Received QUIT (on stdin) 07:51:05.013363 quits 07:51:05.013431 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==83094== ==83094== Process terminating with default action of signal 4 (SIGILL) ==83094== Illegal opcode at address 0x4013DC0 ==83094== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83094== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83094== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83094== by 0x40037A4: main (tool_main.c:199) === End of file valgrind140 CMD (33792): ../libtool --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/valgrind143 ../src/curl -q --output log/5/curl143.out --include --trace-ascii log/5/trace143 --trace-time "ftp://127.0.0.1:39251/%2ftmp/moo/143;type=a" > log/5/stdout143 2> log/5/stderr143 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/17/valgrind141 ../src/curl -q --include --trace-ascii log/17/trace141 --trace-time ftp://127.0.0.1:44771/blalbla/141 -I > log/17/stdout141 2> log/17/stderr141 141: stdout FAILED: --- log/17/check-expected 2025-11-07 07:51:06.174040099 +0000 +++ log/17/check-generated 2025-11-07 07:51:06.174040099 +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/17/ dir 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/17/valgrind141 ../src/curl -q --include --trace-ascii log/17/trace141 --trace-time ftp://127.0.0.1:44771/blalbla/141 -I > log/17/stdout141 2> log/17/stderr141 === End of file commands.log === Start of file ftp_server.log 07:51:05.190625 ====> Client connect 07:51:05.190810 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.191113 < "USER anonymous" 07:51:05.191151 > "331 We are happy you popped in![CR][LF]" 07:51:05.191347 < "PASS ftp@example.com" 07:51:05.191377 > "230 Welcome you silly person[CR][LF]" 07:51:05.191528 < "PWD" 07:51:05.191556 > "257 "/" is current directory[CR][LF]" 07:51:05.191711 < "EPSV" 07:51:05.191737 ====> Passive DATA channel requested by client 07:51:05.191751 DATA sockfilt for passive data channel starting... 07:51:05.193582 DATA sockfilt for passive data channel started (pid 83074) 07:51:05.193713 DATA sockfilt for passive data channel listens on port 44913 07:51:05.193763 > "229 Entering Passive Mode (|||44913|)[CR][LF]" 07:51:05.193790 Client has been notified that DATA conn will be accepted on port 44913 07:51:05.194055 Client connects to port 44913 07:51:05.194088 ====> Client established passive DATA connection on port 44913 07:51:05.194177 < "TYPE I" 07:51:05.194216 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.194411 < "SIZE verifiedserver" 07:51:05.194458 > "213 17[CR][LF]" 07:51:05.194654 < "RETR verifiedserver" 07:51:05.194705 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.194801 =====> Closing passive DATA connection... 07:51:05.194823 Server disconnects passive DATA connection 07:51:05.195022 Server disconnected passive DATA connection 07:51:05.195050 DATA sockfilt for passive data channel quits (pid 83074) 07:51:05.195439 DATA sockfilt for passive data channel quit (pid 83074) 07:51:05.195484 =====> Closed passive DATA connection 07:51:05.195524 > "226 File transfer complete[CR][LF]" 07:51:05.238812 < "QUIT" 07:51:05.238865 > "221 bye bye baby[CR][LF]" 07:51:05.239820 MAIN sockfilt said DISC 07:51:05.239858 ====> Client disconnected 07:51:05.239945 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.018457 ====> Client connect 07:51:05.018775 Received DATA (on stdin) 07:51:05.018794 > 160 bytes data, server => client 07:51:05.018809 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.018821 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.018833 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.018914 < 16 bytes data, client => server 07:51:05.018927 'USER anonymous\r\n' 07:51:05.019104 Received DATA (on stdin) 07:51:05.019117 > 33 bytes data, server => client 07:51:05.019130 '331 We are happy you popped in!\r\n' 07:51:05.019195 < 22 bytes data, client => server 07:51:05.019208 'PASS ftp@example.com\r\n' 07:51:05.019325 Received DATA (on stdin) 07:51:05.019338 > 30 bytes data, server => client 07:51:05.019350 '230 Welcome you silly person\r\n' 07:51:05.019397 < 5 bytes data, client => server 07:51:05.019408 'PWD\r\n' 07:51:05.019503 Received DATA (on stdin) 07:51:05.019515 > 30 bytes data, server => client 07:51:05.019527 '257 "/" is current directory\r\n' 07:51:05.019583 < 6 bytes data, client => server 07:51:05.019594 'EPSV\r\n' 07:51:05.021752 Received DATA (on stdin) 07:51:05.021770 > 39 bytes data, server => client 07:51:05.021785 '229 Entering Passive Mode (|||44913|)\r\n' 07:51:05.021945 < 8 bytes data, client => server 07:51:05.021960 'TYPE I\r\n' 07:51:05.022172 Received DATA (on stdin) 07:51:05.022188 > 33 bytes data, server => client 07:51:05.022201 '200 I modify TYPE as you wanted\r\n' 07:51:05.022260 < 21 bytes data, client => server 07:51:05.022274 'SIZE verifiedserver\r\n' 07:51:05.022413 Received DATA (on stdin) 07:51:05.022429 > 8 bytes data, server => client 07:51:05.022441 '213 17\r\n' 07:51:05.022498 < 21 bytes data, client => server 07:51:05.022519 'RETR verifiedserver\r\n' 07:51:05.022774 Received DATA (on stdin) 07:51:05.022790 > 29 bytes data, server => client 07:51:05.022803 '150 Binary junk (17 bytes).\r\n' 07:51:05.023487 Received DATA (on stdin) 07:51:05.023507 > 28 bytes data, server => client 07:51:05.023520 '226 File transfer complete\r\n' 07:51:05.066562 < 6 bytes data, client => server 07:51:05.066599 'QUIT\r\n' 07:51:05.066816 Received DATA (on stdin) 07:51:05.066829 > 18 bytes data, server => client 07:51:05.066841 '221 bye bye baby\r\n' 07:51:05.067710 ====> Client disconnect 07:51:05.067894 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.021317 Running IPv4 version 07:51:05.021393 Listening on port 44913 07:51:05.021442 Wrote pid 83074 to log/17/server/ftp_sockdata.pid 07:51:05.021467 Received PING (on stdin) 07:51:05.021561 Received PORT (on stdin) 07:51:05.021912 ====> Client connect 07:51:05.022835 Received DATA (on stdin) 07:51:05.022853 > 17 bytes data, server => client 07:51:05.022865 'WE ROOLZ: 80557\r\n' 07:51:05.022897 Received DISC (on stdin) 07:51:05.022916 ====> Client forcibly disconnected 07:51:05.023016 Received QUIT (on stdin) 07:51:05.023031 quits 07:51:05.023093 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==83110== ==83110== Process terminating with default action of signal 4 (SIGILL) ==83110== Illegal opcode at address 0x4013DC0 ==83110== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83110== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83110== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83110== by 0x40037A4: main (tool_main.c:199) === 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/5/valgrind143 ../src/curl -q --output log/5/curl143.out --include --trace-ascii log/5/trace143 --trace-time "ftp://127.0.0.1:39251/%2ftmp/moo/143;type=a" > log/5/stdout143 2> log/5/stderr143 143: 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/ dir 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/5/valgrind143 ../src/curl -q --output log/5/curl143.out --include --trace-ascii log/5/trace143 --trace-time "ftp://127.0.0.1:39251/%2ftmp/moo/143;type=a" > log/5/stdout143 2> log/5/stderr143 === End of file commands.log === Start of file ftp_server.log 07:51:05.210779 ====> Client connect 07:51:05.210920 > "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/10/valgrind145 ../src/curl -q --output log/10/curl145.out --include --trace-ascii log/10/trace145 --trace-time ftp://127.0.0.1:36851/ -P - -l > log/10/stdout145 2> log/10/stderr145 / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.211199 < "USER anonymous" 07:51:05.211237 > "331 We are happy you popped in![CR][LF]" 07:51:05.211596 < "PASS ftp@example.com" 07:51:05.211625 > "230 Welcome you silly person[CR][LF]" 07:51:05.211754 < "PWD" 07:51:05.211779 > "257 "/" is current directory[CR][LF]" 07:51:05.211906 < "EPSV" 07:51:05.211925 ====> Passive DATA channel requested by client 07:51:05.211936 DATA sockfilt for passive data channel starting... 07:51:05.213187 DATA sockfilt for passive data channel started (pid 83092) 07:51:05.213274 DATA sockfilt for passive data channel listens on port 46333 07:51:05.213308 > "229 Entering Passive Mode (|||46333|)[CR][LF]" 07:51:05.213323 Client has been notified that DATA conn will be accepted on port 46333 07:51:05.213508 Client connects to port 46333 07:51:05.213531 ====> Client established passive DATA connection on port 46333 07:51:05.213589 < "TYPE I" 07:51:05.213610 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.213731 < "SIZE verifiedserver" 07:51:05.213762 > "213 17[CR][LF]" 07:51:05.213875 < "RETR verifiedserver" 07:51:05.213899 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.213960 =====> Closing passive DATA connection... 07:51:05.213972 Server disconnects passive DATA connection 07:51:05.214157 Server disconnected passive DATA connection 07:51:05.214179 DATA sockfilt for passive data channel quits (pid 83092) 07:51:05.214347 DATA sockfilt for passive data channel quit (pid 83092) 07:51:05.214365 =====> Closed passive DATA connection 07:51:05.214387 > "226 File transfer complete[CR][LF]" 07:51:05.258314 < "QUIT" 07:51:05.258370 > "221 bye bye baby[CR][LF]" 07:51:05.259357 MAIN sockfilt said DISC 07:51:05.259398 ====> Client disconnected 07:51:05.259489 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.038629 ====> Client connect 07:51:05.038879 Received DATA (on stdin) 07:51:05.038895 > 160 bytes data, server => client 07:51:05.038909 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.038921 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.038932 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.039011 < 16 bytes data, client => server 07:51:05.039024 'USER anonymous\r\n' 07:51:05.039357 Received DATA (on stdin) 07:51:05.039374 > 33 bytes data, server => client 07:51:05.039386 '331 We are happy you popped in!\r\n' 07:51:05.039440 < 22 bytes data, client => server 07:51:05.039452 'PASS ftp@example.com\r\n' 07:51:05.039569 Received DATA (on stdin) 07:51:05.039579 > 30 bytes data, server => client 07:51:05.039588 '230 Welcome you silly person\r\n' 07:51:05.039629 < 5 bytes data, client => server 07:51:05.039638 'PWD\r\n' 07:51:05.039722 Received DATA (on stdin) 07:51:05.039731 > 30 bytes data, server => client 07:51:05.039740 '257 "/" is current directory\r\n' 07:51:05.039786 < 6 bytes data, client => server 07:51:05.039795 'EPSV\r\n' 07:51:05.041271 Received DATA (on stdin) 07:51:05.041283 > 39 bytes data, server => client 07:51:05.041292 '229 Entering Passive Mode (|||46333|)\r\n' 07:51:05.041410 < 8 bytes data, client => server 07:51:05.041419 'TYPE I\r\n' 07:51:05.041554 Received DATA (on stdin) 07:51:05.041564 > 33 bytes data, server => client 07:51:05.041573 '200 I modify TYPE as you wanted\r\n' 07:51:05.041611 < 21 bytes data, client => server 07:51:05.041620 'SIZE verifiedserver\r\n' 07:51:05.041704 Received DATA (on stdin) 07:51:05.041714 > 8 bytes data, server => client 07:51:05.041722 '213 17\r\n' 07:51:05.041758 < 21 bytes data, client => server 07:51:05.041766 'RETR verifiedserver\r\n' 07:51:05.041917 Received DATA (on stdin) 07:51:05.041927 > 29 bytes data, server => client 07:51:05.041936 '150 Binary junk (17 bytes).\r\n' 07:51:05.042331 Received DATA (on stdin) 07:51:05.042343 > 28 bytes data, server => client 07:51:05.042352 '226 File transfer complete\r\n' 07:51:05.086066 < 6 bytes data, client => server 07:51:05.086099 'QUIT\r\n' 07:51:05.086326 Received DATA (on stdin) 07:51:05.086340 > 18 bytes data, server => client 07:51:05.086353 '221 bye bye baby\r\n' 07:51:05.087243 ====> Client disconnect 07:51:05.087440 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.040989 Running IPv4 version 07:51:05.041038 Listening on port 46333 07:51:05.041066 Wrote pid 83092 to log/5/server/ftp_sockdata.pid 07:51:05.041082 Received PING (on stdin) 07:51:05.041149 Received PORT (on stdin) 07:51:05.041387 ====> Client connect 07:51:05.041955 Received DATA (on stdin) 07:51:05.041966 > 17 bytes data, server => client 07:51:05.041975 'WE ROOLZ: 80550\r\n' 07:51:05.041993 Received DISC (on stdin) 07:51:05.042002 ====> Client forcibly disconnected 07:51:05.042130 Received QUIT (on stdin) 07:51:05.042139 quits 07:51:05.042191 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==83151== ==83151== Process terminating with default action of signal 4 (SIGILL) ==83151== Illegal opcode at address 0x4013DC0 ==83151== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83151== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83151== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83151== by 0x40037A4: main (tool_main.c:199) === End of file valgrind143 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/10/valgrind145 ../src/curl -q --output log/10/curl145.out --include --trace-ascii log/10/trace145 --trace-time ftp://127.0.0.1:36851/ -P - -l > log/10/stdout145 2> log/10/stderr145 145: 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/ dir 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/10/valgrind145 ../src/curl -q --output log/10/curl145.out --include --trace-ascii log/10/trace145 --trace-time ftp://127.0.0.1:36851/ -P - -l > log/10/stdout145 2> log/10/stderr145 === End of file commands.log === Start of file ftp_server.log 07:51:05.466359 ====> Client connect 07:51:05.466502 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.466792 < "USER anonymous" 07:51:05.466835 > "331 We are happy you popped in![CR][LF]" 07:51:05.467015 < "PASS ftp@example.com" 07:51:05.467047 > "230 Welcome you silly person[CR][LF]" 07:51:05.467218 < "PWD" 07:51:05.467252 > "257 "/" is current directory[CR][LF]" 07:51:05.467386 < "EPSV" 07:51:05.467408 ====> Passive DATA channel requested by client 07:51:05.467418 DATA sockfilt for passive data channel starting... 07:51:05.469399 DATA sockfilt for passive data channel started (pid 83308) 07:51:05.469517 DATA sockfilt for passive data channel listens on port 37265 07:51:05.469555 > "229 Entering Passive Mode (|||37265|)[CR][LF]" 07:51:05.469573 Client has been notified that DATA conn will be accepted on port 37265 07:51:05.469829 Client connects to port 37265 07:51:05.469869 ====> Client established passive DATA connection on port 37265 07:51:05.469950 < "TYPE I" 07:51:05.469979 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.470136 < "SIZE verifiedserver" 07:51:05.470183 > "213 17[CR][LF]" 07:51:05.470333 < "RETR verifiedserver" 07:51:05.470379 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.470481 =====> Closing passive DATA connection... 07:51:05.470497 Server disconnects passive DATA connection 07:51:05.470735 Server disconnected passive DATA 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/7/valgrind144 ../src/curl -q --output log/7/curl144.out --include --trace-ascii log/7/trace144 --trace-time ftp://127.0.0.1:36413/ -P - -l > log/7/stdout144 2> log/7/stderr144 CMD (33792): ../libtool --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/valgrind147 ../src/curl -q --output log/12/curl147.out --include --trace-ascii log/12/trace147 --trace-time ftp://127.0.0.1:46141/first/dir/here/147 --ftp-create-dirs > log/12/stdout147 2> log/12/stderr147 07:51:05.470767 DATA sockfilt for passive data channel quits (pid 83308) 07:51:05.471001 DATA sockfilt for passive data channel quit (pid 83308) 07:51:05.471023 =====> Closed passive DATA connection 07:51:05.471053 > "226 File transfer complete[CR][LF]" 07:51:05.511571 < "QUIT" 07:51:05.511632 > "221 bye bye baby[CR][LF]" 07:51:05.512619 MAIN sockfilt said DISC 07:51:05.512664 ====> Client disconnected 07:51:05.512748 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.294173 ====> Client connect 07:51:05.294465 Received DATA (on stdin) 07:51:05.294483 > 160 bytes data, server => client 07:51:05.294496 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.294508 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.294519 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.294588 < 16 bytes data, client => server 07:51:05.294601 'USER anonymous\r\n' 07:51:05.294788 Received DATA (on stdin) 07:51:05.294802 > 33 bytes data, server => client 07:51:05.294814 '331 We are happy you popped in!\r\n' 07:51:05.294863 < 22 bytes data, client => server 07:51:05.294874 'PASS ftp@example.com\r\n' 07:51:05.294999 Received DATA (on stdin) 07:51:05.295012 > 30 bytes data, server => client 07:51:05.295024 '230 Welcome you silly person\r\n' 07:51:05.295077 < 5 bytes data, client => server 07:51:05.295087 'PWD\r\n' 07:51:05.295197 Received DATA (on stdin) 07:51:05.295207 > 30 bytes data, server => client 07:51:05.295216 '257 "/" is current directory\r\n' 07:51:05.295263 < 6 bytes data, client => server 07:51:05.295272 'EPSV\r\n' 07:51:05.297527 Received DATA (on stdin) 07:51:05.297542 > 39 bytes data, server => client 07:51:05.297554 '229 Entering Passive Mode (|||37265|)\r\n' 07:51:05.297718 < 8 bytes data, client => server 07:51:05.297732 'TYPE I\r\n' 07:51:05.297928 Received DATA (on stdin) 07:51:05.297941 > 33 bytes data, server => client 07:51:05.297952 '200 I modify TYPE as you wanted\r\n' 07:51:05.298002 < 21 bytes data, client => server 07:51:05.298013 'SIZE verifiedserver\r\n' 07:51:05.298131 Received DATA (on stdin) 07:51:05.298143 > 8 bytes data, server => client 07:51:05.298154 '213 17\r\n' 07:51:05.298201 < 21 bytes data, client => server 07:51:05.298212 'RETR verifiedserver\r\n' 07:51:05.298447 Received DATA (on stdin) 07:51:05.298459 > 29 bytes data, server => client 07:51:05.298470 '150 Binary junk (17 bytes).\r\n' 07:51:05.299004 Received DATA (on stdin) 07:51:05.299018 > 28 bytes data, server => client 07:51:05.299031 '226 File transfer complete\r\n' 07:51:05.339315 < 6 bytes data, client => server 07:51:05.339358 'QUIT\r\n' 07:51:05.339586 Received DATA (on stdin) 07:51:05.339599 > 18 bytes data, server => client 07:51:05.339611 '221 bye bye baby\r\n' 07:51:05.340501 ====> Client disconnect 07:51:05.340698 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.297165 Running IPv4 version 07:51:05.297228 Listening on port 37265 07:51:05.297263 Wrote pid 83308 to log/10/server/ftp_sockdata.pid 07:51:05.297286 Received PING (on stdin) 07:51:05.297373 Received PORT (on stdin) 07:51:05.297680 ====> Client connect 07:51:05.298495 Received DATA (on stdin) 07:51:05.298509 > 17 bytes data, server => client 07:51:05.298521 'WE ROOLZ: 80620\r\n' 07:51:05.298549 Received DISC (on stdin) 07:51:05.298561 ====> Client forcibly disconnected 07:51:05.298724 Received QUIT (on stdin) 07:51:05.298736 quits 07:51:05.298799 ============> 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 ==83325== ==83325== Process terminating with default action of signal 4 (SIGILL) ==83325== Illegal opcode at address 0x4013DC0 ==83325== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83325== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83325== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83325== by 0x40037A4: main (tool_main.c:199) === End of file valgrind145 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/7/valgrind144 ../src/curl -q --output log/7/curl144.out --include --trace-ascii log/7/trace144 --trace-time ftp://127.0.0.1:36413/ -P - -l > log/7/stdout144 2> log/7/stderr144 144: 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/ dir 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/7/valgrind144 ../src/curl -q --output log/7/curl144.out --include --trace-ascii log/7/trace144 --trace-time ftp://127.0.0.1:36413/ -P - -l > log/7/stdout144 2> log/7/stderr144 === End of file commands.log === Start of file ftp_server.log 07:51:05.459702 ====> Client connect 07:51:05.459886 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.460233 < "USER anonymous" 07:51:05.460281 > "331 We are happy you popped in![CR][LF]" 07:51:05.460479 < "PASS ftp@example.com" 07:51:05.460511 > "230 Welcome you silly person[CR][LF]" 07:51:05.460675 < "PWD" 07:51:05.460708 > "257 "/" is current directory[CR][LF]" 07:51:05.460874 < "EPSV" 07:51:05.460901 ====> Passive DATA channel requested by client 07:51:05.460916 DATA sockfilt for passive data channel starting... 07:51:05.465154 DATA sockfilt for passive data channel started (pid 83302) 07:51:05.465290 DATA sockfilt for passive data channel listens on port 34919 07:51:05.465340 > "229 Entering Passive Mode (|||34919|)[CR][LF]" 07:51:05.465361 Client has been notified that DATA conn will be accepted on port 34919 07:51:05.465685 Client connects to port 34919 07:51:05.465722 ====> Client established passive DATA connection on port 34919 07:51:05.465827 < "TYPE I" 07:51:05.465870 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.466076 < "SIZE verifiedserver" 07:51:05.466122 > "213 17[CR][LF]" 07:51:05.466313 < "RETR verifiedserver" 07:51:05.466356 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.466452 =====> Closing passive DATA connection... 07:51:05.466470 Server disconnects passive DATA connection 07:51:05.466736 Server disconnected passive DATA connection 07:51:05.466763 DATA sockfilt for passive data channel quits (pid 83302) 07:51:05.467034 DATA sockfilt for passive data channel quit (pid 83302) 07:51:05.467062 =====> Closed passive DATA connection 07:51:05.467098 > "226 File transfer complete[CR][LF]" 07:51:05.510048 < "QUIT" 07:51:05.510094 > "221 bye bye baby[CR][LF]" 07:51:05.510921 MAIN sockfilt said DISC 07:51:05.510963 ====> Client disconnected 07:51:05.511042 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.287517 ====> Client connect 07:51:05.287854 Received DATA (on stdin) 07:51:05.287874 > 160 bytes data, server => client 07:51:05.287888 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.287901 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.287912 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.287999 < 16 bytes data, client => server 07:51:05.288012 'USER anonymous\r\n' 07:51:05.288238 Received DATA (on stdin) 07:51:05.288253 > 33 bytes data, server => client 07:51:05.288265 '331 We are happy you popped in!\r\n' 07:51:05.288320 < 22 bytes data, client => server 07:51:05.288333 'PASS ftp@example.com\r\n' 07:51:05.288460 Received DATA (on stdin) 07:51:05.288473 > 30 bytes data, server => client 07:51:05.288485 '230 Welcome you silly person\r\n' 07:51:05.288534 < 5 bytes data, client => server 07:51:05.288546 'PWD\r\n' 07:51:05.288655 Received DATA (on stdin) 07:51:05.288668 > 30 bytes data, server => client 07:51:05.288680 '257 "/" is current directory\r\n' 07:51:05.288737 < 6 bytes data, client => server 07:51:05.288750 'EPSV\r\n' 07:51:05.293321 Received DATA (on stdin) 07:51:05.293339 > 39 bytes data, server => client 07:51:05.293352 '229 Entering Passive Mode (|||34919|)\r\n' 07:51:05.293571 < 8 bytes data, client => server 07:51:05.293586 'TYPE I\r\n' 07:51:05.293822 Received DATA (on stdin) 07:51:05.293837 > 33 bytes data, server => client 07:51:05.293850 '200 I modify TYPE as you wanted\r\n' 07:51:05.293914 < 21 bytes data, client => server 07:51:05.293928 'SIZE verifiedserver\r\n' 07:51:05.294074 Received DATA (on stdin) 07:51:05.294089 > 8 bytes data, server => client 07:51:05.294100 '213 17\r\n' 07:51:05.294158 < 21 bytes data, client => server 07:51:05.294172 'RETR verifiedserver\r\n' 07:51:05.294420 Received DATA (on stdin) 07:51:05.294435 > 29 bytes data, server => client 07:51:05.294447 '150 Binary junk (17 bytes).\r\n' 07:51:05.295049 Received DATA (on stdin) 07:51:05.295064 > 28 bytes data, server => client 07:51:05.295077 '226 File transfer complete\r\n' 07:51:05.337844 < 6 bytes data, client => server 07:51:05.337866 'QUIT\r\n' 07:51:05.338044 Received DATA (on stdin) 07:51:05.338056 > 18 bytes data, server => client 07:51:05.338066 '221 bye bye baby\r\n' 07:51:05.338810 ====> Client disconnect 07:51:05.338994 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.292191 Running IPv4 version 07:51:05.292264 Listening on port 34919 07:51:05.292304 Wrote pid 83302 to log/7/server/ftp_sockdata.pid 07:51:05.293023 Received PING (on stdin) 07:51:05.293140 Received PORT (on stdin) 07:51:05.293534 ====> Client connect 07:51:05.294476 Received DATA (on stdin) 07:51:05.294491 > 17 bytes data, server => client 07:51:05.294503 'WE ROOLZ: 80622\r\n' 07:51:05.294531 Received DISC (on stdin) 07:51:05.294543 ====> Client forcibly disconnected 07:51:05.294722 Received QUIT (on stdin) 07:51:05.294736 quits 07:51:05.294800 ============> 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 ==83320== ==83320== Process terminating with default action of signal 4 (SIGILL) ==83320== Illegal opcode at address 0x4013DC0 ==83320== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83320== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83320== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83320== by 0x40037A4: main (tool_main.c:199) === 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/12/valgrind147 ../src/curl -q --output log/12/curl147.out --include --trace-ascii log/12/trace147 --trace-time ftp://127.0.0.1:46141/first/dir/here/147 --ftp-create-dirs > log/12/stdout147 2> log/12/stderr147 147: 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/ dir 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/12/valgrind147 ../src/curl -q --output log/12/curl147.out --include --trace-ascii log/12/trace147 --trace-time ftp://127.0.0.1:46141/first/dir/here/147 --ftp-create-dirs > log/12/stdout147 2> log/12/stderr147 === End of file commands.log === Start of file ftp_server.log 07:51:05.470844 ====> Client connect 07:51:05.471008 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.471342 < "USER anonymous" 07:51:05.471391 > "331 We are happy you popped in![CR][LF]" 07:51:05.471589 < "PASS ftp@example.com" 07:51:05.471619 > "230 Welcome you silly person[CR][LF]" 07:51:05.471773 < "PWD" 07:51:05.471807 > "257 "/" is current directory[CR][LF]" 07:51:05.471955 < "EPSV" 07:51:05.471977 ====> Passive DATA channel requested by client 07:51:05.471991 DATA sockfilt for passive data channel starting... 07:51:05.474506 DATA sockfilt for passive data channel started (pid 83309) 07:51:05.474638 DATA sockfilt for passive data channel listens on port 36103 07:51:05.474684 > "229 Entering Passive Mode (|||36103|)[CR][LF]" 07:51:05.474702 Client has been notified that DATA conn will be accepted on port 36103 07:51:05.474987 Client connects to port 36103 07:51:05.475018 ====> Client established passive DATA connection on port 36103 07:51:05.475117 < "TYPE I" 07:51:05.475150 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.475313 < "SIZE verifiedserver" 07:51:05.475353 > "213 17[CR][LF]" 07:51:05.475516 < "RETR verifiedserver" 07:51:05.475554 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.475671 =====> Closing passive DATA connection... 07:51:05.475687 Server disconnects passive DATA connection 07:51:05.475965 Server disconnected passive DATA connection 07:51:05.476005 DATA sockfilt for passive data channel quits (pid 83309) 07:51:05.476266 DATA sockfilt for passive data channel quit (pid 83309) 07:51:05.476290 =====> Closed passive DATA connection 07:51:05.476320 > "226 File transfer complete[CR][LF]" 07:51:05.518626 < "QUIT" 07:51:05.518676 > "221 bye bye baby[CR][LF]" 07:51:05.519499 MAIN sockfilt said DISC 07:51:05.519540 ====> Client disconnected 07:51:05.519607 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.298686 ====> Client connect 07:51:05.298973 Received DATA (on stdin) 07:51:05.298990 > 160 bytes data, server => client 07:51:05.299004 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.299016 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.299028 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.299117 < 16 bytes data, client => server 07:51:05.299131 'USER anonymous\r\n' 07:51:05.299346 Received DATA (on stdin) 07:51:05.299360 > 33 bytes data, server => client 07:51:05.299372 '331 We are happy you popped in!\r\n' 07:51:05.299428 < 22 bytes data, client => server 07:51:05.299440 'PASS ftp@example.com\r\n' 07:51:05.299566 Received DATA (on stdin) 07:51:05.299577 > 30 bytes data, server => client 07:51:05.299589 '230 Welcome you silly person\r\n' 07:51:05.299634 < 5 bytes data, client => server 07:51:05.299645 'PWD\r\n' 07:51:05.299753 Received DATA (on stdin) 07:51:05.299764 > 30 bytes data, server => client 07:51:05.299774 '257 "/" is current directory\r\n' 07:51:05.299826 < 6 bytes data, client => server 07:51:05.299837 'EPSV\r\n' 07:51:05.302658 Received DATA (on stdin) 07:51:05.302680 > 39 bytes data, server => client 07:51:05.302693 '229 Entering Passive Mode (|||36103|)\r\n' 07:51:05.302882 < 8 bytes data, client => server 07:51:05.302894 'TYPE I\r\n' 07:51:05.303100 Received DATA (on stdin) 07:51:05.303113 > 33 bytes data, server => client 07:51:05.303125 '200 I modify TYPE as you wanted\r\n' 07:51:05.303178 < 21 bytes data, client => server 07:51:05.303189 'SIZE verifiedserver\r\n' 07:51:05.303301 Received DATA (on stdin) 07:51:05.303313 > 8 bytes data, server => client 07:51:05.303325 '213 17\r\n' 07:51:05.303373 < 21 bytes data, client => server 07:51:05.303385 'RETR verifiedserver\r\n' 07:51:05.303643 Received DATA (on stdin) 07:51:05.303656 > 29 bytes data, server => client 07:51:05.303670 '150 Binary junk (17 bytes).\r\n' 07:51:05.304272 Received DATA (on stdin) 07:51:05.304287 > 28 bytes data, server => client 07:51:05.304299 '226 File transfer complete\r\n' 07:51:05.346448 < 6 bytes data, client => server 07:51:05.346484 'QUIT\r\n' 07:51:05.346633 Received DATA (on stdin) 07:51CMD (33792): ../libtool --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/valgrind150 ../src/curl -q --output log/2/curl150.out --include --trace-ascii log/2/trace150 --trace-time http://127.0.0.1:43955/150 -u testuser:testpass --ntlm --fail > log/2/stdout150 2> log/2/stderr150 CMD (33792): ../libtool --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/valgrind151 ../src/curl -q --output log/14/curl151.out --include --trace-ascii log/14/trace151 --trace-time http://127.0.0.1:34115/151 > log/14/stdout151 2> log/14/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/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-time http://127.0.0.1:36147/162 --proxy http://127.0.0.1:36147 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 :05.346652 > 18 bytes data, server => client 07:51:05.346663 '221 bye bye baby\r\n' 07:51:05.347386 ====> Client disconnect 07:51:05.347553 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.302066 Running IPv4 version 07:51:05.302148 Listening on port 36103 07:51:05.302189 Wrote pid 83309 to log/12/server/ftp_sockdata.pid 07:51:05.302399 Received PING (on stdin) 07:51:05.302482 Received PORT (on stdin) 07:51:05.302852 ====> Client connect 07:51:05.303702 Received DATA (on stdin) 07:51:05.303736 > 17 bytes data, server => client 07:51:05.303749 'WE ROOLZ: 80617\r\n' 07:51:05.303792 Received DISC (on stdin) 07:51:05.303807 ====> Client forcibly disconnected 07:51:05.303970 Received QUIT (on stdin) 07:51:05.303986 quits 07:51:05.304056 ============> 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 ==83344== ==83344== Process terminating with default action of signal 4 (SIGILL) ==83344== Illegal opcode at address 0x4013DC0 ==83344== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83344== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83344== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83344== by 0x40037A4: main (tool_main.c:199) === End of file valgrind147 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/2/valgrind150 ../src/curl -q --output log/2/curl150.out --include --trace-ascii log/2/trace150 --trace-time http://127.0.0.1:43955/150 -u testuser:testpass --ntlm --fail > log/2/stdout150 2> log/2/stderr150 150: 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/ dir 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/2/valgrind150 ../src/curl -q --output log/2/curl150.out --include --trace-ascii log/2/trace150 --trace-time http://127.0.0.1:43955/150 -u testuser:testpass --ntlm --fail > log/2/stdout150 2> log/2/stderr150 === End of file commands.log === Start of file http_server.log 07:51:06.436810 ====> Client connect 07:51:06.436845 accept_connection 3 returned 4 07:51:06.436864 accept_connection 3 returned 0 07:51:06.436880 Read 93 bytes 07:51:06.436898 Process 93 bytes request 07:51:06.436914 Got request: GET /verifiedserver HTTP/1.1 07:51:06.436925 Are-we-friendly question received 07:51:06.436957 Wrote request (93 bytes) input to log/2/server.input 07:51:06.436981 Identifying ourselves as friends 07:51:06.437049 Response sent (56 bytes) and written to log/2/server.response 07:51:06.437067 special request received, no persistency 07:51:06.437078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind150 ==83505== ==83505== Process terminating with default action of signal 4 (SIGILL) ==83505== Illegal opcode at address 0x4013DC0 ==83505== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83505== by 0x40037A4: main (tool_main.c:199) === 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/14/valgrind151 ../src/curl -q --output log/14/curl151.out --include --trace-ascii log/14/trace151 --trace-time http://127.0.0.1:34115/151 > log/14/stdout151 2> log/14/stderr151 151: 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/ dir 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/14/valgrind151 ../src/curl -q --output log/14/curl151.out --include --trace-ascii log/14/trace151 --trace-time http://127.0.0.1:34115/151 > log/14/stdout151 2> log/14/stderr151 === End of file commands.log === Start of file http_server.log 07:51:05.436547 ====> Client connect 07:51:05.436584 accept_connection 3 returned 4 07:51:05.436604 accept_connection 3 returned 0 07:51:05.436620 Read 93 bytes 07:51:05.436632 Process 93 bytes request 07:51:05.436647 Got request: GET /verifiedserver HTTP/1.1 07:51:05.436658 Are-we-friendly question received 07:51:05.436695 Wrote request (93 bytes) input to log/14/server.input 07:51:05.436716 Identifying ourselves as friends 07:51:05.436779 Response sent (56 bytes) and written to log/14/server.response 07:51:05.436793 special request received, no persistency 07:51:05.436803 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind151 ==83498== ==83498== Process terminating with default action of signal 4 (SIGILL) ==83498== Illegal opcode at address 0x4013DC0 ==83498== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83498== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83498== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83498== by 0x40037A4: main (tool_main.c:199) === End of file valgrind151 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/8/valgrind162 ../src/curl -q --output log/8/curl162.out --include --trace-ascii log/8/trace162 --trace-time http://127.0.0.1:36147/162 --proxy http://127.0.0.1:36147 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 162: 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/ dir 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/8/valgrind162 ../src/curl -q --output log/8/curl162.out CMD (33792): ../libtool --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/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:34835/1530001 -u testuser:testpass --digest http://127.0.0.1:34835/1530002 > log/19/stdout153 2> log/19/stderr153 --include --trace-ascii log/8/trace162 --trace-time http://127.0.0.1:36147/162 --proxy http://127.0.0.1:36147 --proxy-user foo:bar --proxy-ntlm --fail > log/8/stdout162 2> log/8/stderr162 === End of file commands.log === Start of file http_server.log 07:51:05.731795 ====> Client connect 07:51:05.731827 accept_connection 3 returned 4 07:51:05.731843 accept_connection 3 returned 0 07:51:05.731856 Read 93 bytes 07:51:05.731866 Process 93 bytes request 07:51:05.731879 Got request: GET /verifiedserver HTTP/1.1 07:51:05.731888 Are-we-friendly question received 07:51:05.731914 Wrote request (93 bytes) input to log/8/server.input 07:51:05.731931 Identifying ourselves as friends 07:51:05.731981 Response sent (56 bytes) and written to log/8/server.response 07:51:05.731991 special request received, no persistency 07:51:05.732001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 45160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind162 ==84052== ==84052== Process terminating with default action of signal 4 (SIGILL) ==84052== Illegal opcode at address 0x4013DC0 ==84052== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84052== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84052== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84052== by 0x40037A4: main (tool_main.c:199) === End of file valgrind162 CMD (33792): ../libtool --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/valgrind138 ../src/curl -q --output log/23/curl138.out --include --trace-ascii log/23/trace138 --trace-time ftp://127.0.0.1:39237/blalbla/lululul/138 > log/23/stdout138 2> log/23/stderr138 CMD (33792): ../libtool --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/valgrind152 ../src/curl -q --output log/3/curl152.out --include --trace-ascii log/3/trace152 --trace-time http://127.0.0.1:34059/152 --fail > log/3/stdout152 2> log/3/stderr152 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/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:34835/1530001 -u testuser:testpass --digest http://127.0.0.1:34835/1530002 > log/19/stdout153 2> log/19/stderr153 153: stdout FAILED: --- log/19/check-expected 2025-11-07 07:51:06.787373437 +0000 +++ log/19/check-generated 2025-11-07 07:51:06.787373437 +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/19/ dir 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/19/valgrind153 ../src/curl -q --include --trace-ascii log/19/trace153 --trace-time http://127.0.0.1:34835/1530001 -u testuser:testpass --digest http://127.0.0.1:34835/1530002 > log/19/stdout153 2> log/19/stderr153 === End of file commands.log === Start of file http_server.log 07:51:05.612153 ====> Client connect 07:51:05.612186 accept_connection 3 returned 4 07:51:05.612202 accept_connection 3 returned 0 07:51:05.612215 Read 93 bytes 07:51:05.612224 Process 93 bytes request 07:51:05.612237 Got request: GET /verifiedserver HTTP/1.1 07:51:05.612247 Are-we-friendly question received 07:51:05.612271 Wrote request (93 bytes) input to log/19/server.input 07:51:05.612291 Identifying ourselves as friends 07:51:05.612351 Response sent (56 bytes) and written to log/19/server.response 07:51:05.612361 special request received, no persistency 07:51:05.612371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 52906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind153 ==83644== ==83644== Process terminating with default action of signal 4 (SIGILL) ==83644== Illegal opcode at address 0x4013DC0 ==83644== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83644== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83644== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83644== by 0x40037A4: main (tool_main.c:199) === End of file valgrind153 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 39237 (log/23/server/ftp_server.port) RUN: FTP server is PID 82431 port 39237 * pid ftp => 82431 82431 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/23/valgrind138 ../src/curl -q --output log/23/curl138.out --include --trace-ascii log/23/trace138 --trace-time ftp://127.0.0.1:39237/blalbla/lululul/138 > log/23/stdout138 2> log/23/stderr138 138: 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/ dir 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/23/valgrind138 ../src/curl -q --output log/23/curl138.out --include --trace-ascii log/23/trace138 --trace-time ftp://127.0.0.1:39237/blalbla/lululul/138 > log/23/stdout138 2> log/23/stderr138 === End of file commands.log === Start of file ftp_server.log 07:51:04.853596 FTP server listens on port IPv4/39237 07:51:04.853668 logged pid 82431 in log/23/server/ftp_server.pid 07:51:04.853691 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:04.681206 Running IPv4 version 07:51:04.681311 Listening on port 39237 07:51:04.681354 Wrote pid 82555 to log/23/server/ftp_sockctrl.pid 07:51:04.681383 Wrote port 39237 to log/23/server/ftp_server.port 07:51:04.681461 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd RETRNOSIZE REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 ==83710== ==83710== Process terminating with default action of signal 4 (SIGILL) ==83710== Illegal opcode at address 0x4013DC0 ==83710== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83710== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83710== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83710== by 0x40037A4: main (tool_main.c:199) === End of file valgrind138 test 0152...[HTTP GET with an error code that might trick authentication 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/18/valgrind156 ../src/curl -q --output log/18/curl156.out --include --trace-ascii log/18/trace156 --trace-time http://127.0.0.1:46763/156 -T log/18/put156 -u testuser:testpass --anyauth > log/18/stdout156 2> log/18/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/15/valgrind155 ../src/curl -q --output log/15/curl155.out --include --trace-ascii log/15/trace155 --trace-time http://127.0.0.1:43789/155 -T log/15/put155 -u testuser:testpass --anyauth > log/15/stdout155 2> log/15/stderr155 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/3/valgrind152 ../src/curl -q --output log/3/curl152.out --include --trace-ascii log/3/trace152 --trace-time http://127.0.0.1:34059/152 --fail > log/3/stdout152 2> log/3/stderr152 152: 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/ dir 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/3/valgrind152 ../src/curl -q --output log/3/curl152.out --include --trace-ascii log/3/trace152 --trace-time http://127.0.0.1:34059/152 --fail > log/3/stdout152 2> log/3/stderr152 === End of file commands.log === Start of file http_server.log 07:51:06.611462 ====> Client connect 07:51:06.611493 accept_connection 3 returned 4 07:51:06.611509 accept_connection 3 returned 0 07:51:06.611524 Read 93 bytes 07:51:06.611534 Process 93 bytes request 07:51:06.611548 Got request: GET /verifiedserver HTTP/1.1 07:51:06.611558 Are-we-friendly question received 07:51:06.611580 Wrote request (93 bytes) input to log/3/server.input 07:51:06.611596 Identifying ourselves as friends 07:51:06.611648 Response sent (56 bytes) and written to log/3/server.response 07:51:06.611659 special request received, no persistency 07:51:06.611668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 36236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind152 ==83635== ==83635== Process terminating with default action of signal 4 (SIGILL) ==83635== Illegal opcode at address 0x4013DC0 ==83635== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83635== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83635== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83635== by 0x40037A4: main (tool_main.c:199) === End of file valgrind152 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/18/valgrind156 ../src/curl -q --output log/18/curl156.out --include --trace-ascii log/18/trace156 --trace-time http://127.0.0.1:46763/156 -T log/18/put156 -u testuser:testpass --anyauth > log/18/stdout156 2> log/18/stderr156 156: 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/ dir 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/18/valgrind156 ../src/curl -q --output log/18/curl156.out --include --trace-ascii log/18/trace156 --trace-time http://127.0.0.1:46763/156 -T log/18/put156 -u testuser:testpass --anyauth > log/18/stdout156 2> log/18/stderr156 === End of file commands.log === Start of file http_server.log 07:51:06.704202 ====> Client connect 07:51:06.704235 accept_connection 3 returned 4 07:51:06.704253 accept_connection 3 returned 0 07:51:06.704267 Read 93 bytes 07:51:06.704279 Process 93 bytes request 07:51:06.704290 Got request: GET /verifiedserver HTTP/1.1 07:51:06.704301 Are-we-friendly question received 07:51:06.704326 Wrote request (93 bytes) input to log/18/server.input 07:51:06.704343 Identifying ourselves as friends 07:51:06.704400 Response sent (56 bytes) and written to log/18/server.response 07:51:06.704411 special request received, no persistency 07:51:06.704421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 48210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind156 ==83865== ==83865== Process terminating with default action of signal 4 (SIGILL) ==83865== Illegal opcode at address 0x4013DC0 ==83865== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83865== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83865== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83865== by 0x40037A4: main (tool_main.c:199) === End of file valgrind156 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/15/valgrind155 ../src/curl -q --output log/15/curl155.out --include --trace-ascii log/15/trace155 --trace-time http://127.0.0.1:43789/155 -T log/15/put155 -u testuser:testpass --anyauth > log/15/stdout155 2> log/15/stderr155 155: 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/ dir after test 155 === Start of file commands.log ../libtool --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/valgrind155 ../src/curl -q --output log/15/curl155.out --include --trace-ascii log/15/trace155 --trace-time http://127.0.0.1:43789/155 -T log/15/put155 -u testuser:testpass --anyauth > log/15/stdout155 2> log/15/stderr155 === End of file commands.log === Start of file http_server.log 07:51:05.695530 ====> Client connect 07:51:05.695565 accept_connection 3 returned 4 07:51:05.695583 accept_connection 3 returned 0 07:51:05.695598 Read 93 bytes 07:51:05.695609 Process 93 bytes request 07:51:05.695622 Got request: GET /verifiedserver HTTP/1.1 07:51:05.695632 Are-we-friendly question received 07:51:05.695656 Wrote request (93 bytes) input to log/15/server.input 07:51:05.695673 Identifying ourselves as friends 07:51:05.695731 Response sent (56 bytes) and written to log/15/server.response 07:51:05.695742 special request received, no persistency 07:51:05.695752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 47198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.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/16/valgrind157 ../src/curl -q --output log/16/curl157.out --include --trace-ascii log/16/trace157 --trace-time http://127.0.0.1:44351/157 -u testuser:testpass --anyauth > log/16/stdout157 2> log/16/stderr157 CMD (33792): ../libtool --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/valgrind154 ../src/curl -q --output log/9/curl154.out --include --trace-ascii log/9/trace154 --trace-time http://127.0.0.1:42717/154 -T log/9/put154 -u testuser:testpass --anyauth > log/9/stdout154 2> log/9/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/22/valgrind158 ../src/curl -q --output log/22/curl158.out --include --trace-ascii log/22/trace158 --trace-time http://127.0.0.1:40377/158 -F name=daniel > log/22/stdout158 2> log/22/stderr158 _verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind155 ==83884== ==83884== Process terminating with default action of signal 4 (SIGILL) ==83884== Illegal opcode at address 0x4013DC0 ==83884== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83884== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83884== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83884== by 0x40037A4: main (tool_main.c:199) === End of file valgrind155 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/16/valgrind157 ../src/curl -q --output log/16/curl157.out --include --trace-ascii log/16/trace157 --trace-time http://127.0.0.1:44351/157 -u testuser:testpass --anyauth > log/16/stdout157 2> log/16/stderr157 157: 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/ dir 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/16/valgrind157 ../src/curl -q --output log/16/curl157.out --include --trace-ascii log/16/trace157 --trace-time http://127.0.0.1:44351/157 -u testuser:testpass --anyauth > log/16/stdout157 2> log/16/stderr157 === End of file commands.log === Start of file http_server.log 07:51:05.701610 ====> Client connect 07:51:05.701641 accept_connection 3 returned 4 07:51:05.701658 accept_connection 3 returned 0 07:51:05.701673 Read 93 bytes 07:51:05.701685 Process 93 bytes request 07:51:05.701697 Got request: GET /verifiedserver HTTP/1.1 07:51:05.701708 Are-we-friendly question received 07:51:05.701734 Wrote request (93 bytes) input to log/16/server.input 07:51:05.701751 Identifying ourselves as friends 07:51:05.701804 Response sent (56 bytes) and written to log/16/server.response 07:51:05.701816 special request received, no persistency 07:51:05.701826 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 59046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind157 ==83862== ==83862== Process terminating with default action of signal 4 (SIGILL) ==83862== Illegal opcode at address 0x4013DC0 ==83862== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83862== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83862== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83862== by 0x40037A4: main (tool_main.c:199) === End of file valgrind157 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/9/valgrind154 ../src/curl -q --output log/9/curl154.out --include --trace-ascii log/9/trace154 --trace-time http://127.0.0.1:42717/154 -T log/9/put154 -u testuser:testpass --anyauth > log/9/stdout154 2> log/9/stderr154 154: 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/ dir 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/9/valgrind154 ../src/curl -q --output log/9/curl154.out --include --trace-ascii log/9/trace154 --trace-time http://127.0.0.1:42717/154 -T log/9/put154 -u testuser:testpass --anyauth > log/9/stdout154 2> log/9/stderr154 === End of file commands.log === Start of file http_server.log 07:51:05.689863 ====> Client connect 07:51:05.689923 accept_connection 3 returned 4 07:51:05.689940 accept_connection 3 returned 0 07:51:05.689952 Read 93 bytes 07:51:05.689965 Process 93 bytes request 07:51:05.690582 Got request: GET /verifiedserver HTTP/1.1 07:51:05.690597 Are-we-friendly question received 07:51:05.690630 Wrote request (93 bytes) input to log/9/server.input 07:51:05.690653 Identifying ourselves as friends 07:51:05.690815 Response sent (56 bytes) and written to log/9/server.response 07:51:05.690831 special request received, no persistency 07:51:05.690849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind154 ==83855== ==83855== Process terminating with default action of signal 4 (SIGILL) ==83855== Illegal opcode at address 0x4013DC0 ==83855== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83855== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83855== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83855== by 0x40037A4: main (tool_main.c:199) === End of file valgrind154 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/22/valgrind158 ../src/curl -q --output log/22/curl158.out --include --trace-ascii log/22/trace158 --trace-time http://127.0.0.1:40377/158 -F name=daniel > log/22/stdout158 2> log/22/stderr158 158: 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/ dir 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/22/valgrind158 ../src/curl -q --output log/22/curl158.out --include --trace-ascii log/22/trace158 --trace-time http://127.0.0.1:40377/158 -F name=daniel > log/22/stdout158 2> log/22/stderr158 === End of file commands.log === Start of file http_server.log 07:51:05.706554 ====> Client connect 07:51:05.706592 accept_connection 3 returned 4 07:51:05.706612 accept_connection 3 returned 0 07:51:05.706625 Read 93 bytes 07:51:05.706639 Process 93 bytes request 07:51:05.706655 Got request: GET /verifiedserver HTTP/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/valgrind161 ../src/curl -q --output log/4/curl161.out --include --trace-ascii log/4/trace161 --trace-time ftp://127.0.0.1:37071/161 > log/4/stdout161 2> log/4/stderr161 CMD (33792): ../libtool --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/valgrind163 ../src/curl -q --output log/13/curl163.out --include --trace-ascii log/13/trace163 --trace-time http://127.0.0.1:35041/we/want/163 -F "name= log/13/stdout163 2> log/13/stderr163 .1 07:51:05.706665 Are-we-friendly question received 07:51:05.706691 Wrote request (93 bytes) input to log/22/server.input 07:51:05.706714 Identifying ourselves as friends 07:51:05.706777 Response sent (56 bytes) and written to log/22/server.response 07:51:05.706791 special request received, no persistency 07:51:05.706801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 36092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind158 ==83898== ==83898== Process terminating with default action of signal 4 (SIGILL) ==83898== Illegal opcode at address 0x4013DC0 ==83898== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==83898== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83898== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==83898== by 0x40037A4: main (tool_main.c:199) === End of file valgrind158 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/4/valgrind161 ../src/curl -q --output log/4/curl161.out --include --trace-ascii log/4/trace161 --trace-time ftp://127.0.0.1:37071/161 > log/4/stdout161 2> log/4/stderr161 161: 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/ dir 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/4/valgrind161 ../src/curl -q --output log/4/curl161.out --include --trace-ascii log/4/trace161 --trace-time ftp://127.0.0.1:37071/161 > log/4/stdout161 2> log/4/stderr161 === End of file commands.log === Start of file ftp_server.log 07:51:05.901653 ====> Client connect 07:51:05.901809 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:05.902062 < "USER anonymous" 07:51:05.902095 > "331 We are happy you popped in![CR][LF]" 07:51:05.902237 < "PASS ftp@example.com" 07:51:05.902257 > "230 Welcome you silly person[CR][LF]" 07:51:05.902407 < "PWD" 07:51:05.902446 > "257 "/" is current directory[CR][LF]" 07:51:05.902632 < "EPSV" 07:51:05.902657 ====> Passive DATA channel requested by client 07:51:05.902672 DATA sockfilt for passive data channel starting... 07:51:05.904596 DATA sockfilt for passive data channel started (pid 83980) 07:51:05.904749 DATA sockfilt for passive data channel listens on port 35063 07:51:05.904802 > "229 Entering Passive Mode (|||35063|)[CR][LF]" 07:51:05.904827 Client has been notified that DATA conn will be accepted on port 35063 07:51:05.905250 Client connects to port 35063 07:51:05.905273 ====> Client established passive DATA connection on port 35063 07:51:05.905365 < "TYPE I" 07:51:05.905399 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:05.905614 < "SIZE verifiedserver" 07:51:05.905661 > "213 17[CR][LF]" 07:51:05.905825 < "RETR verifiedserver" 07:51:05.905861 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:05.905949 =====> Closing passive DATA connection... 07:51:05.905966 Server disconnects passive DATA connection 07:51:05.906130 Server disconnected passive DATA connection 07:51:05.906157 DATA sockfilt for passive data channel quits (pid 83980) 07:51:05.906604 DATA sockfilt for passive data channel quit (pid 83980) 07:51:05.906636 =====> Closed passive DATA connection 07:51:05.906669 > "226 File transfer complete[CR][LF]" 07:51:05.950412 < "QUIT" 07:51:05.950468 > "221 bye bye baby[CR][LF]" 07:51:05.951305 MAIN sockfilt said DISC 07:51:05.951348 ====> Client disconnected 07:51:05.951422 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.729514 ====> Client connect 07:51:05.729775 Received DATA (on stdin) 07:51:05.729793 > 160 bytes data, server => client 07:51:05.729807 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:05.729817 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:05.729825 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:05.729888 < 16 bytes data, client => server 07:51:05.729898 'USER anonymous\r\n' 07:51:05.730043 Received DATA (on stdin) 07:51:05.730053 > 33 bytes data, server => client 07:51:05.730062 '331 We are happy you popped in!\r\n' 07:51:05.730105 < 22 bytes data, client => server 07:51:05.730115 'PASS ftp@example.com\r\n' 07:51:05.730201 Received DATA (on stdin) 07:51:05.730210 > 30 bytes data, server => client 07:51:05.730219 '230 Welcome you silly person\r\n' 07:51:05.730256 < 5 bytes data, client => server 07:51:05.730265 'PWD\r\n' 07:51:05.730397 Received DATA (on stdin) 07:51:05.730411 > 30 bytes data, server => client 07:51:05.730424 '257 "/" is current directory\r\n' 07:51:05.730489 < 6 bytes data, client => server 07:51:05.730503 'EPSV\r\n' 07:51:05.732996 Received DATA (on stdin) 07:51:05.733015 > 39 bytes data, server => client 07:51:05.733027 '229 Entering Passive Mode (|||35063|)\r\n' 07:51:05.733177 < 8 bytes data, client => server 07:51:05.733188 'TYPE I\r\n' 07:51:05.733350 Received DATA (on stdin) 07:51:05.733366 > 33 bytes data, server => client 07:51:05.733375 '200 I modify TYPE as you wanted\r\n' 07:51:05.733459 < 21 bytes data, client => server 07:51:05.733471 'SIZE verifiedserver\r\n' 07:51:05.733609 Received DATA (on stdin) 07:51:05.733622 > 8 bytes data, server => client 07:51:05.733633 '213 17\r\n' 07:51:05.733686 < 21 bytes data, client => server 07:51:05.733698 'RETR verifiedserver\r\n' 07:51:05.733918 Received DATA (on stdin) 07:51:05.733932 > 29 bytes data, server => client 07:51:05.733943 '150 Binary junk (17 bytes).\r\n' 07:51:05.734622 Received DATA (on stdin) 07:51:05.734637 > 28 bytes data, server => client 07:51:05.734650 '226 File transfer complete\r\n' 07:51:05.778131 < 6 bytes data, client => server 07:51:05.778161 'QUIT\r\n' 07:51:05.778423 Received DATA (on stdin) 07:51:05.778438 > 18 bytes data, server => client 07:51:05.778451 '221 bye bye baby\r\n' 07:51:05.779190 ====> Client disconnect 07:51:05.779375 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:05.732314 Running IPv4 version 07:51:05.732399 Listening on port 35063 07:51:05.732434 Wrote pid 83980 to log/4/server/ftp_sockdata.pid 07:51:05.732456 Received PING (on stdin) 07:51:05.732594 Received PORT (on stdin) 07:51:05.733144 ====> Client connect 07:51:05.733851 Received DATA (on stdin) 07:51:05.733876 > 17 bytes data, server => client 07:51:05.733888 'WE ROOLZ: 80637\r\n' 07:51:05.733919 Received DISC (on stdin) 07:51:05.733933 ====> Client forcibly disconnected 07:51:05.734118 Received QUIT (on stdin) 07:51:05.734133 quits 07:51:05.734182 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==84207== ==84207== Process terminating with default action of signal 4 (SIGILL) ==84207== Illegal opcode at address 0x4013DC0 ==84207== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84207== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84207== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84207=CMD (33792): ../libtool --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/valgrind166 ../src/curl -q --output log/5/curl166.out --include --trace-ascii log/5/trace166 --trace-time http://127.0.0.1:42797/we/want/166 -F "name=@log/5/fie ld 166" > log/5/stdout166 2> log/5/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/20/valgrind164 ../src/curl -q --output log/20/curl164.out --include --trace-ascii log/20/trace164 --trace-time http://127.0.0.1:40357/want/164 -r 0-10,12-15 > log/20/stdout164 2> log/20/stderr164 CMD (33792): ../libtool --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/valgrind142 ../src/curl -q --output log/21/curl142.out --include --trace-ascii log/21/trace142 --trace-time ftp://127.0.0.1:32857/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/21/stdout142 2> log/21/stderr142 = by 0x40037A4: main (tool_main.c:199) === End of file valgrind161 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/13/valgrind163 ../src/curl -q --output log/13/curl163.out --include --trace-ascii log/13/trace163 --trace-time http://127.0.0.1:35041/we/want/163 -F "name= log/13/stdout163 2> log/13/stderr163 163: 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/ dir 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/13/valgrind163 ../src/curl -q --output log/13/curl163.out --include --trace-ascii log/13/trace163 --trace-time http://127.0.0.1:35041/we/want/163 -F "name= log/13/stdout163 2> log/13/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 07:51:05.778692 ====> Client connect 07:51:05.778728 accept_connection 3 returned 4 07:51:05.778746 accept_connection 3 returned 0 07:51:05.778762 Read 93 bytes 07:51:05.778773 Process 93 bytes request 07:51:05.778787 Got request: GET /verifiedserver HTTP/1.1 07:51:05.778797 Are-we-friendly question received 07:51:05.778826 Wrote request (93 bytes) input to log/13/server.input 07:51:05.778844 Identifying ourselves as friends 07:51:05.778905 Response sent (56 bytes) and written to log/13/server.response 07:51:05.778917 special request received, no persistency 07:51:05.778928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 58156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind163 ==84218== ==84218== Process terminating with default action of signal 4 (SIGILL) ==84218== Illegal opcode at address 0x4013DC0 ==84218== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84218== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84218== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84218== by 0x40037A4: main (tool_main.c:199) === End of file valgrind163 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/5/valgrind166 ../src/curl -q --output log/5/curl166.out --include --trace-ascii log/5/trace166 --trace-time http://127.0.0.1:42797/we/want/166 -F "name=@log/5/fie ld 166" > log/5/stdout166 2> log/5/stderr166 166: 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/ dir 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/5/valgrind166 ../src/curl -q --output log/5/curl166.out --include --trace-ascii log/5/trace166 --trace-time http://127.0.0.1:42797/we/want/166 -F "name=@log/5/fie ld 166" > log/5/stdout166 2> log/5/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 07:51:06.029228 ====> Client connect 07:51:06.029262 accept_connection 3 returned 4 07:51:06.029280 accept_connection 3 returned 0 07:51:06.029296 Read 93 bytes 07:51:06.029308 Process 93 bytes request 07:51:06.029322 Got request: GET /verifiedserver HTTP/1.1 07:51:06.029333 Are-we-friendly question received 07:51:06.029360 Wrote request (93 bytes) input to log/5/server.input 07:51:06.029378 Identifying ourselves as friends 07:51:06.029435 Response sent (56 bytes) and written to log/5/server.response 07:51:06.029448 special request received, no persistency 07:51:06.029458 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39070 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind166 ==84420== ==84420== Process terminating with default action of signal 4 (SIGILL) ==84420== Illegal opcode at address 0x4013DC0 ==84420== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84420== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84420== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84420== by 0x40037A4: main (tool_main.c:199) === End of file valgrind166 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/20/valgrind164 ../src/curl -q --output log/20/curl164.out --include --trace-ascii log/20/trace164 --trace-time http://127.0.0.1:40357/want/164 -r 0-10,12-15 > log/20/stdout164 2> log/20/stderr164 164: 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/ dir 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/20/valgrind164 ../src/curl -q --output log/20/curl164.out --include --trace-ascii log/20/trace164 --trace-time http://127.0.0.1:40357/want/164 -r 0-10,12-15 > log/20/stdout164 2> log/20/stderr164 === End of file commands.log === Start of file http_server.log 07:51:06.022934 ====> Client connect 07:51:06.022969 accept_connection 3 returned 4 07:51:06.022988 accept_connection 3 returned 0 07:51:06.023005 Read 93 bytes 07:51:06.023016 Process 93 bytes request 07:51:06.023031 Got request: GET /verifiedserver HTTP/1.1 07:51:06.023042 Are-we-friendly question received 07:51:06.023068 Wrote request (93 bytes) input to log/20/server.input 07:51:06.023085 Identifying ourselves as friends 07:51:06.023160 Response sent (56 bytes) and written to log/20/server.response 07:51:06.023171 special request received, no persistency 07:51:06.023181 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 log/17/stdout165 2> log/17/stderr165 { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind164 ==84393== ==84393== Process terminating with default action of signal 4 (SIGILL) ==84393== Illegal opcode at address 0x4013DC0 ==84393== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84393== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84393== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84393== by 0x40037A4: main (tool_main.c:199) === End of file valgrind164 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 32857 (log/21/server/ftp_server.port) RUN: FTP server is PID 83057 port 32857 * pid ftp => 83057 83057 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/21/valgrind142 ../src/curl -q --output log/21/curl142.out --include --trace-ascii log/21/trace142 --trace-time ftp://127.0.0.1:32857/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/21/stdout142 2> log/21/stderr142 142: 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/ dir 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/21/valgrind142 ../src/curl -q --output log/21/curl142.out --include --trace-ascii log/21/trace142 --trace-time ftp://127.0.0.1:32857/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/21/stdout142 2> log/21/stderr142 === End of file commands.log === Start of file ftp_server.log 07:51:05.208345 FTP server listens on port IPv4/32857 07:51:05.208431 logged pid 83057 in log/21/server/ftp_server.pid 07:51:05.208458 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.036000 Running IPv4 version 07:51:05.036090 Listening on port 32857 07:51:05.036131 Wrote pid 83091 to log/21/server/ftp_sockctrl.pid 07:51:05.036170 Wrote port 32857 to log/21/server/ftp_server.port 07:51:05.036194 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==84365== ==84365== Process terminating with default action of signal 4 (SIGILL) ==84365== Illegal opcode at address 0x4013DC0 ==84365== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84365== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84365== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84365== by 0x40037A4: main (tool_main.c:199) === End of file valgrind142 setenv LC_ALL = C.UTF-8 test 0165...[HTTP over proxy with IDN host 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/17/valgrind165 ../src/curl -q --output log/17/curl165.out --include --trace-ascii log/17/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:42601 http://www.große.de/page/165 > log/17/stdout165 2> log/17/stderr165 165: 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/ dir 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/17/valgrind165 ../src/curl -q --output log/17/curl165.out --include --trace-ascii log/17/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:42601 http://www.große.de/page/165 > log/17/stdout165 2> log/17/stderr165 === End of file commands.log === Start of file http_server.log 07:51:07.028495 ====> Client connect 07:51:07.028532 accept_connection 3 returned 4 07:51:07.028550 accept_connection 3 returned 0 07:51:07.028566 Read 93 bytes 07:51:07.028578 Process 93 bytes request 07:51:07.028591 Got request: GET /verifiedserver HTTP/1.1 07:51:07.028601 Are-we-friendly question received 07:51:07.028629 Wrote request (93 bytes) input to log/17/server.input 07:51:07.028647 Identifying ourselves as friends 07:51:07.028713 Response sent (56 bytes) and written to log/17/server.response 07:51:07.028726 special request received, no persistency 07:51:07.028737 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 53792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.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:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind165 ==84413== ==84413== Process terminating with default action of signal 4 (SIGILL) ==84413== Illegal opcode at address 0x4013DC0 ==84413==CMD (33792): ../libtool --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/valgrind146 ../src/curl -q --output log/11/curl146.out --include --trace-ascii log/11/trace146 --trace-time ftp://127.0.0.1:46223/first/dir/here/146 ftp://127.0.0.1:46223/146 > log/11/stdout146 2> log/11/stderr146 CMD (33792): ../libtool --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/valgrind148 ../src/curl -q --output log/1/curl148.out --include --trace-ascii log/1/trace148 --trace-time ftp://127.0.0.1:42965/attempt/to/get/this/148 --ftp-create-dirs > log/1/stdout148 2> log/1/stderr148 CMD (33792): ../libtool --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/valgrind167 ../src/curl -q --output log/10/curl167.out --include --trace-ascii log/10/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:34041 --proxy-user foo:bar --digest --user digest:a-lot > log/10/stdout167 2> log/10/stderr167 at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84413== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84413== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84413== by 0x40037A4: main (tool_main.c:199) === End of file valgrind165 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 46223 (log/11/server/ftp_server.port) RUN: FTP server is PID 83264 port 46223 * pid ftp => 83264 83264 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/11/valgrind146 ../src/curl -q --output log/11/curl146.out --include --trace-ascii log/11/trace146 --trace-time ftp://127.0.0.1:46223/first/dir/here/146 ftp://127.0.0.1:46223/146 > log/11/stdout146 2> log/11/stderr146 146: 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/ dir 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/11/valgrind146 ../src/curl -q --output log/11/curl146.out --include --trace-ascii log/11/trace146 --trace-time ftp://127.0.0.1:46223/first/dir/here/146 ftp://127.0.0.1:46223/146 > log/11/stdout146 2> log/11/stderr146 === End of file commands.log === Start of file ftp_server.log 07:51:05.482612 FTP server listens on port IPv4/46223 07:51:05.482697 logged pid 83264 in log/11/server/ftp_server.pid 07:51:05.482726 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.310262 Running IPv4 version 07:51:05.310371 Listening on port 46223 07:51:05.310415 Wrote pid 83311 to log/11/server/ftp_sockctrl.pid 07:51:05.310446 Wrote port 46223 to log/11/server/ftp_server.port 07:51:05.310468 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==84607== ==84607== Process terminating with default action of signal 4 (SIGILL) ==84607== Illegal opcode at address 0x4013DC0 ==84607== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84607== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84607== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84607== by 0x40037A4: main (tool_main.c:199) === End of file valgrind146 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 42965 (log/1/server/ftp_server.port) RUN: FTP server is PID 83307 port 42965 * pid ftp => 83307 83307 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/1/valgrind148 ../src/curl -q --output log/1/curl148.out --include --trace-ascii log/1/trace148 --trace-time ftp://127.0.0.1:42965/attempt/to/get/this/148 --ftp-create-dirs > log/1/stdout148 2> log/1/stderr148 148: 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/ dir 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/1/valgrind148 ../src/curl -q --output log/1/curl148.out --include --trace-ascii log/1/trace148 --trace-time ftp://127.0.0.1:42965/attempt/to/get/this/148 --ftp-create-dirs > log/1/stdout148 2> log/1/stderr148 === End of file commands.log === Start of file ftp_server.log 07:51:05.505249 FTP server listens on port IPv4/42965 07:51:05.505320 logged pid 83307 in log/1/server/ftp_server.pid 07:51:05.505347 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.332932 Running IPv4 version 07:51:05.333017 Listening on port 42965 07:51:05.333051 Wrote pid 83316 to log/1/server/ftp_sockctrl.pid 07:51:05.333079 Wrote port 42965 to log/1/server/ftp_server.port 07:51:05.333100 Received PING (on stdin) === End of file ftp_sockctrl.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 ==84676== ==84676== Process terminating with default action of signal 4 (SIGILL) ==84676== Illegal opcode at address 0x4013DC0 ==84676== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84676== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84676== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84676== by 0x40037A4: main (tool_main.c:199) === End of file valgrind148 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/10/valgrind167 ../src/curl -q --output log/10/curl167.out --include --trace-ascii log/10/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:34041 --proxy-user foo:bar --digest --user digest:a-lot > log/10/stdout167 2> log/10/stderr167 167: 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/ dir after test 167 === Start of file commands.log ../libtool --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/valgrind167 ../src/curl -q --output log/10/curl167.out --include --trace-ascii log/10/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:34041 --proxy-user foo:bar --digest --user digest:a-lot > log/10/stdout167 2> log/10/stderr167 === End of file commands.log === Start of file http_server.log 07:51:06.298363 ====> Client connect 07:51:06.298397 accept_connection 3 returned 4 07:51:06.298414 accept_connection 3 returned 0 07:51:06.298431 Read 93 bytes 07:51:06.298446 Process 93 bytes request 07:51:06.298466 Got request: GET /verifiedserver HTTP/1.1 07:51:06.298475 Are-we-friendly question received 07:51:06.298506 Wrote request (93 bytes) input to log/10/server.input 07:51:06.298532 Identifying ourselves as friends 07:51:06.298597 Response sent (56 bytes) and written to log/10/server.response 07:51:06.298610 special request received, no persistency 07:51:06.298620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 41582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind167 ==84691== ==84691== 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/7/valgrind168 ../src/curl -q --output log/7/curl168.out --include --trace-ascii log/7/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:39661 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/7/stdout168 2> log/7/stderr168 CMD (33792): ../libtool --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/valgrind170 ../src/curl -q --output log/2/curl170.out --include --trace-ascii log/2/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43955 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/2/stdout170 2> log/2/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/12/valgrind169 ../src/curl -q --output log/12/curl169.out --include --trace-ascii log/12/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:38023 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/12/stdout169 2> log/12/stderr169 inating with default action of signal 4 (SIGILL) ==84691== Illegal opcode at address 0x4013DC0 ==84691== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84691== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84691== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84691== by 0x40037A4: main (tool_main.c:199) === End of file valgrind167 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/7/valgrind168 ../src/curl -q --output log/7/curl168.out --include --trace-ascii log/7/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:39661 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/7/stdout168 2> log/7/stderr168 168: 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/ dir 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/7/valgrind168 ../src/curl -q --output log/7/curl168.out --include --trace-ascii log/7/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:39661 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/7/stdout168 2> log/7/stderr168 === End of file commands.log === Start of file http_server.log 07:51:07.300155 ====> Client connect 07:51:07.300187 accept_connection 3 returned 4 07:51:07.300203 accept_connection 3 returned 0 07:51:07.300217 Read 93 bytes 07:51:07.300228 Process 93 bytes request 07:51:07.300239 Got request: GET /verifiedserver HTTP/1.1 07:51:07.300249 Are-we-friendly question received 07:51:07.300271 Wrote request (93 bytes) input to log/7/server.input 07:51:07.300288 Identifying ourselves as friends 07:51:07.300340 Response sent (56 bytes) and written to log/7/server.response 07:51:07.300350 special request received, no persistency 07:51:07.300360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 41120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind168 ==84711== ==84711== Process terminating with default action of signal 4 (SIGILL) ==84711== Illegal opcode at address 0x4013DC0 ==84711== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84711== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84711== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84711== by 0x40037A4: main (tool_main.c:199) === End of file valgrind168 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/2/valgrind170 ../src/curl -q --output log/2/curl170.out --include --trace-ascii log/2/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43955 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/2/stdout170 2> log/2/stderr170 170: 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/ dir 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/2/valgrind170 ../src/curl -q --output log/2/curl170.out --include --trace-ascii log/2/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:43955 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/2/stdout170 2> log/2/stderr170 === End of file commands.log === Start of file http_server.log 07:51:07.315307 ====> Client connect 07:51:07.315345 accept_connection 3 returned 4 07:51:07.315364 accept_connection 3 returned 0 07:51:07.315380 Read 93 bytes 07:51:07.315391 Process 93 bytes request 07:51:07.315405 Got request: GET /verifiedserver HTTP/1.1 07:51:07.315415 Are-we-friendly question received 07:51:07.315441 Wrote request (93 bytes) input to log/2/server.input 07:51:07.315459 Identifying ourselves as friends 07:51:07.315514 Response sent (56 bytes) and written to log/2/server.response 07:51:07.315525 special request received, no persistency 07:51:07.315536 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind170 ==84766== ==84766== Process terminating with default action of signal 4 (SIGILL) ==84766== Illegal opcode at address 0x4013DC0 ==84766== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84766== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84766== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84766== by 0x40037A4: main (tool_main.c:199) === End of file valgrind170 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/12/valgrind169 ../src/curl -q --output log/12/curl169.out --include --trace-ascii log/12/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:38023 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/12/stdout169 2> log/12/stderr169 169: 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/ dir 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/12/valgrind169 ../src/curl -q --output log/12/curl169.out --include --trace-ascii log/12/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:38023 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/12/stdout169 2> log/12/stderr169 === End of file commands.log === Start of file http_server.log 07:51:06.300574 ====> Client connect 07:51:06.300612 accept_connection 3 returned 4 07:51:06.300630 accept_connection 3 returned 0 07:51:06.300645 Read 93 bytes 07:51:06.300656 Process 93 bytes request 07:51:06.300670 Got request: GET /verifiedserver HTTP/1.1 07:51:06.300681 Are-we-friendly question received 07:51:06.300708 Wrote requestCMD (33792): ../libtool --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/valgrind171 ../src/curl -q --output log/14/curl171.out --include --trace-ascii log/14/trace171 --trace-time -c log/14/jar171 -x 127.0.0.1:34115 http://z.x.com/171 > log/14/stdout171 2> log/14/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/24/valgrind149 ../src/curl -q --output log/24/curl149.out --include --trace-ascii log/24/trace149 --trace-time -T log/24/upload149 ftp://127.0.0.1:36707/dir1/149 -T log/24/upload149 ftp://127.0.0.1:36707/dir2/149 > log/24/stdout149 2> log/24/stderr149 CMD (33792): ../libtool --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/valgrind178 ../src/curl -q --output log/16/curl178.out --include --trace-ascii log/16/trace178 --trace-time http://127.0.0.1:44351/178 > log/16/stdout178 2> log/16/stderr178 (93 bytes) input to log/12/server.input 07:51:06.300725 Identifying ourselves as friends 07:51:06.300783 Response sent (56 bytes) and written to log/12/server.response 07:51:06.300794 special request received, no persistency 07:51:06.300804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 52064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind169 ==84731== ==84731== Process terminating with default action of signal 4 (SIGILL) ==84731== Illegal opcode at address 0x4013DC0 ==84731== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84731== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84731== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84731== by 0x40037A4: main (tool_main.c:199) === End of file valgrind169 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/14/valgrind171 ../src/curl -q --output log/14/curl171.out --include --trace-ascii log/14/trace171 --trace-time -c log/14/jar171 -x 127.0.0.1:34115 http://z.x.com/171 > log/14/stdout171 2> log/14/stderr171 171: 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/ dir 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/14/valgrind171 ../src/curl -q --output log/14/curl171.out --include --trace-ascii log/14/trace171 --trace-time -c log/14/jar171 -x 127.0.0.1:34115 http://z.x.com/171 > log/14/stdout171 2> log/14/stderr171 === End of file commands.log === Start of file http_server.log 07:51:06.324962 ====> Client connect 07:51:06.324996 accept_connection 3 returned 4 07:51:06.325014 accept_connection 3 returned 0 07:51:06.325030 Read 93 bytes 07:51:06.325041 Process 93 bytes request 07:51:06.325054 Got request: GET /verifiedserver HTTP/1.1 07:51:06.325065 Are-we-friendly question received 07:51:06.325090 Wrote request (93 bytes) input to log/14/server.input 07:51:06.325108 Identifying ourselves as friends 07:51:06.325169 Response sent (56 bytes) and written to log/14/server.response 07:51:06.325180 special request received, no persistency 07:51:06.325191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind171 ==84835== ==84835== Process terminating with default action of signal 4 (SIGILL) ==84835== Illegal opcode at address 0x4013DC0 ==84835== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==84835== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84835== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==84835== by 0x40037A4: main (tool_main.c:199) === End of file valgrind171 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 36707 (log/24/server/ftp_server.port) RUN: FTP server is PID 83461 port 36707 * pid ftp => 83461 83461 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/24/valgrind149 ../src/curl -q --output log/24/curl149.out --include --trace-ascii log/24/trace149 --trace-time -T log/24/upload149 ftp://127.0.0.1:36707/dir1/149 -T log/24/upload149 ftp://127.0.0.1:36707/dir2/149 > log/24/stdout149 2> log/24/stderr149 149: 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/ dir 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/24/valgrind149 ../src/curl -q --output log/24/curl149.out --include --trace-ascii log/24/trace149 --trace-time -T log/24/upload149 ftp://127.0.0.1:36707/dir1/149 -T log/24/upload149 ftp://127.0.0.1:36707/dir2/149 > log/24/stdout149 2> log/24/stderr149 === End of file commands.log === Start of file ftp_server.log 07:51:05.617728 FTP server listens on port IPv4/36707 07:51:05.617827 logged pid 83461 in log/24/server/ftp_server.pid 07:51:05.617860 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:05.445391 Running IPv4 version 07:51:05.445462 Listening on port 36707 07:51:05.445500 Wrote pid 83496 to log/24/server/ftp_sockctrl.pid 07:51:05.445530 Wrote port 36707 to log/24/server/ftp_server.port 07:51:05.445555 Received PING (on stdin) === End of file ftp_sockctrl.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 ==85020== ==85020== Process terminating with default action of signal 4 (SIGILL) ==85020== Illegal opcode at address 0x4013DC0 ==85020== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85020== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85020== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85020== by 0x40037A4: main (tool_main.c:199) === End of file valgrind149 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/16/valgrind178 ../src/curl -q --output log/16/curl178.out --include --trace-ascii log/16/trace178 --trace-time http://127.0.0.1:44351/178 > log/16/stdout178 2> log/16/stderr178 178: 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/ dir 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/16/valgrind178 ../src/curl -q --output log/16/curl178.out --include --trace-ascii log/16/trace178 --trace-time http://127.0.0.1:44351/178 > log/16/stdout178 2> log/16/stderr178 === End of file commands.log === Start of file http_server.log 07:51:06.706313 ====> Client connect 07:51:06.70CMD (33792): ../libtool --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/valgrind180 ../src/curl -q --output log/22/curl180.out --include --trace-ascii log/22/trace180 --trace-time http://127.0.0.1:40377/we/want/180 -T log/22/test180.txt --http1.0 > log/22/stdout180 2> log/22/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/4/valgrind181 ../src/curl -q --output log/4/curl181.out --include --trace-ascii log/4/trace181 --trace-time http://127.0.0.1:43573/we/want/181 --data-binary @log/4/test181.txt --http1.0 > log/4/stdout181 2> log/4/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/19/valgrind173 ../src/curl -q --output log/19/curl173.out --include --trace-ascii log/19/trace173 --trace-time http://127.0.0.1:34835/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/19/stdout173 2> log/19/stderr173 6343 accept_connection 3 returned 4 07:51:06.706359 accept_connection 3 returned 0 07:51:06.706373 Read 93 bytes 07:51:06.706383 Process 93 bytes request 07:51:06.706395 Got request: GET /verifiedserver HTTP/1.1 07:51:06.706404 Are-we-friendly question received 07:51:06.706431 Wrote request (93 bytes) input to log/16/server.input 07:51:06.706448 Identifying ourselves as friends 07:51:06.706497 Response sent (56 bytes) and written to log/16/server.response 07:51:06.706508 special request received, no persistency 07:51:06.706517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 59060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind178 ==85431== ==85431== Process terminating with default action of signal 4 (SIGILL) ==85431== Illegal opcode at address 0x4013DC0 ==85431== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85431== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85431== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85431== by 0x40037A4: main (tool_main.c:199) === End of file valgrind178 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/22/valgrind180 ../src/curl -q --output log/22/curl180.out --include --trace-ascii log/22/trace180 --trace-time http://127.0.0.1:40377/we/want/180 -T log/22/test180.txt --http1.0 > log/22/stdout180 2> log/22/stderr180 180: 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/ dir 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/22/valgrind180 ../src/curl -q --output log/22/curl180.out --include --trace-ascii log/22/trace180 --trace-time http://127.0.0.1:40377/we/want/180 -T log/22/test180.txt --http1.0 > log/22/stdout180 2> log/22/stderr180 === End of file commands.log === Start of file http_server.log 07:51:06.711728 ====> Client connect 07:51:06.711762 accept_connection 3 returned 4 07:51:06.711779 accept_connection 3 returned 0 07:51:06.711794 Read 93 bytes 07:51:06.711807 Process 93 bytes request 07:51:06.711820 Got request: GET /verifiedserver HTTP/1.1 07:51:06.711831 Are-we-friendly question received 07:51:06.711859 Wrote request (93 bytes) input to log/22/server.input 07:51:06.711877 Identifying ourselves as friends 07:51:06.711931 Response sent (56 bytes) and written to log/22/server.response 07:51:06.711942 special request received, no persistency 07:51:06.711952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 36094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === 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 ==85458== ==85458== Process terminating with default action of signal 4 (SIGILL) ==85458== Illegal opcode at address 0x4013DC0 ==85458== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85458== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85458== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85458== by 0x40037A4: main (tool_main.c:199) === End of file valgrind180 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/4/valgrind181 ../src/curl -q --output log/4/curl181.out --include --trace-ascii log/4/trace181 --trace-time http://127.0.0.1:43573/we/want/181 --data-binary @log/4/test181.txt --http1.0 > log/4/stdout181 2> log/4/stderr181 181: 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/ dir 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/4/valgrind181 ../src/curl -q --output log/4/curl181.out --include --trace-ascii log/4/trace181 --trace-time http://127.0.0.1:43573/we/want/181 --data-binary @log/4/test181.txt --http1.0 > log/4/stdout181 2> log/4/stderr181 === End of file commands.log === Start of file http_server.log 07:51:07.755833 ====> Client connect 07:51:07.756206 accept_connection 3 returned 4 07:51:07.756227 accept_connection 3 returned 0 07:51:07.756244 Read 93 bytes 07:51:07.756255 Process 93 bytes request 07:51:07.756270 Got request: GET /verifiedserver HTTP/1.1 07:51:07.756281 Are-we-friendly question received 07:51:07.756309 Wrote request (93 bytes) input to log/4/server.input 07:51:07.756329 Identifying ourselves as friends 07:51:07.756391 Response sent (56 bytes) and written to log/4/server.response 07:51:07.756402 special request received, no persistency 07:51:07.756412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === 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 ==85740== ==85740== Process terminating with default action of signal 4 (SIGILL) ==85740== Illegal opcode at address 0x4013DC0 ==85740== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85740== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85740== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85740== by 0x40037A4: main (tool_main.c:199) === End of file valgrind181 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/19/valgrind173 ../src/curl -q --output log/19/curl173CMD (33792): ../libtool --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/valgrind172 ../src/curl -q --output log/8/curl172.out --include --trace-ascii log/8/trace172 --trace-time http://127.0.0.1:36147/we/want/172 -b log/8/jar172.txt -b "tool=curl; name=fool" > log/8/stdout172 2> log/8/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/23/valgrind174 ../src/curl -q --output log/23/curl174.out --include --trace-ascii log/23/trace174 --trace-time http://127.0.0.1:41029/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/23/stdout174 2> log/23/stderr174 .out --include --trace-ascii log/19/trace173 --trace-time http://127.0.0.1:34835/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/19/stdout173 2> log/19/stderr173 173: 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/ dir 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/19/valgrind173 ../src/curl -q --output log/19/curl173.out --include --trace-ascii log/19/trace173 --trace-time http://127.0.0.1:34835/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/19/stdout173 2> log/19/stderr173 === End of file commands.log === Start of file http_server.log 07:51:06.648845 ====> Client connect 07:51:06.648880 accept_connection 3 returned 4 07:51:06.648897 accept_connection 3 returned 0 07:51:06.648912 Read 93 bytes 07:51:06.648923 Process 93 bytes request 07:51:06.648935 Got request: GET /verifiedserver HTTP/1.1 07:51:06.648946 Are-we-friendly question received 07:51:06.648970 Wrote request (93 bytes) input to log/19/server.input 07:51:06.648987 Identifying ourselves as friends 07:51:06.649040 Response sent (56 bytes) and written to log/19/server.response 07:51:06.649051 special request received, no persistency 07:51:06.649062 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 52912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === 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 ==85182== ==85182== Process terminating with default action of signal 4 (SIGILL) ==85182== Illegal opcode at address 0x4013DC0 ==85182== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85182== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85182== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85182== by 0x40037A4: main (tool_main.c:199) === End of file valgrind173 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/8/valgrind172 ../src/curl -q --output log/8/curl172.out --include --trace-ascii log/8/trace172 --trace-time http://127.0.0.1:36147/we/want/172 -b log/8/jar172.txt -b "tool=curl; name=fool" > log/8/stdout172 2> log/8/stderr172 172: 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/ dir 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/8/valgrind172 ../src/curl -q --output log/8/curl172.out --include --trace-ascii log/8/trace172 --trace-time http://127.0.0.1:36147/we/want/172 -b log/8/jar172.txt -b "tool=curl; name=fool" > log/8/stdout172 2> log/8/stderr172 === End of file commands.log === Start of file http_server.log 07:51:06.628755 ====> Client connect 07:51:06.628791 accept_connection 3 returned 4 07:51:06.628810 accept_connection 3 returned 0 07:51:06.628826 Read 93 bytes 07:51:06.628838 Process 93 bytes request 07:51:06.628853 Got request: GET /verifiedserver HTTP/1.1 07:51:06.628863 Are-we-friendly question received 07:51:06.628890 Wrote request (93 bytes) input to log/8/server.input 07:51:06.628908 Identifying ourselves as friends 07:51:06.628966 Response sent (56 bytes) and written to log/8/server.response 07:51:06.628977 special request received, no persistency 07:51:06.628988 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 45172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind172 ==85139== ==85139== Process terminating with default action of signal 4 (SIGILL) ==85139== Illegal opcode at address 0x4013DC0 ==85139== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85139== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85139== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85139== by 0x40037A4: main (tool_main.c:199) === End of file valgrind172 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/23/valgrind174 ../src/curl -q --output log/23/curl174.out --include --trace-ascii log/23/trace174 --trace-time http://127.0.0.1:41029/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/23/stdout174 2> log/23/stderr174 174: 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/ dir 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/23/valgrind174 ../src/curl -q --output log/23/curl174.out --include --trace-ascii log/23/trace174 --trace-time http://127.0.0.1:41029/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/23/stdout174 2> log/23/stderr174 === End of file commands.log === Start of file http_server.log 07:51:06.646977 ====> Client connect 07:51:06.647010 accept_connection 3 returned 4 07:51:06.647027 accept_connection 3 returned 0 07:51:06.647042 Read 93 bytes 07:51:06.647057 Process 93 bytes request 07:51:06.647076 Got request: GET /verifiedserver HTTP/1.1 07:51:06.647086 Are-we-friendly question received 07:51:06.647111 Wrote request (93 bytes) input to log/23/server.input 07:51:06.647131 Identifying ourselves as friends 07:51:06.647190 Response sent (56 bytes) and written to log/23/server.response 07:51:06.647204 special request received, no persistency 07:51:06.647214 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 46226CMD (33792): ../libtool --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/valgrind177 ../src/curl -q --output log/15/curl177.out --include --trace-ascii log/15/trace177 --trace-time http://127.0.0.1:43789/177 -u auser:apasswd --digest -d "junkelijunk" > log/15/stdout177 2> log/15/stderr177 CMD (33792): ../libtool --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/valgrind176 ../src/curl -q --output log/18/curl176.out --include --trace-ascii log/18/trace176 --trace-time http://127.0.0.1:46763/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/18/stdout176 2> log/18/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/6/valgrind160 ../src/curl -q --include --trace-ascii log/6/trace160 --trace-time http://127.0.0.1:45933/want/160 http://127.0.0.1:45933/wantmore/1600001 > log/6/stdout160 2> log/6/stderr160 CMD (33792): ../libtool --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/valgrind179 ../src/curl -q --output log/9/curl179.out --include --trace-ascii log/9/trace179 --trace-time http://supertrooper.fake/c/179 -b log/9/injar179 -x 127.0.0.1:42717 > log/9/stdout179 2> log/9/stderr179 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind174 ==85173== ==85173== Process terminating with default action of signal 4 (SIGILL) ==85173== Illegal opcode at address 0x4013DC0 ==85173== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85173== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85173== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85173== by 0x40037A4: main (tool_main.c:199) === End of file valgrind174 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/15/valgrind177 ../src/curl -q --output log/15/curl177.out --include --trace-ascii log/15/trace177 --trace-time http://127.0.0.1:43789/177 -u auser:apasswd --digest -d "junkelijunk" > log/15/stdout177 2> log/15/stderr177 177: 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/ dir 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/15/valgrind177 ../src/curl -q --output log/15/curl177.out --include --trace-ascii log/15/trace177 --trace-time http://127.0.0.1:43789/177 -u auser:apasswd --digest -d "junkelijunk" > log/15/stdout177 2> log/15/stderr177 === End of file commands.log === Start of file http_server.log 07:51:06.698904 ====> Client connect 07:51:06.698941 accept_connection 3 returned 4 07:51:06.698959 accept_connection 3 returned 0 07:51:06.698975 Read 93 bytes 07:51:06.698986 Process 93 bytes request 07:51:06.698998 Got request: GET /verifiedserver HTTP/1.1 07:51:06.699009 Are-we-friendly question received 07:51:06.699032 Wrote request (93 bytes) input to log/15/server.input 07:51:06.699051 Identifying ourselves as friends 07:51:06.699115 Response sent (56 bytes) and written to log/15/server.response 07:51:06.699126 special request received, no persistency 07:51:06.699135 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 47206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind177 ==85386== ==85386== Process terminating with default action of signal 4 (SIGILL) ==85386== Illegal opcode at address 0x4013DC0 ==85386== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85386== by 0x40037A4: main (tool_main.c:199) === End of file valgrind177 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/18/valgrind176 ../src/curl -q --output log/18/curl176.out --include --trace-ascii log/18/trace176 --trace-time http://127.0.0.1:46763/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/18/stdout176 2> log/18/stderr176 176: 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/ dir 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/18/valgrind176 ../src/curl -q --output log/18/curl176.out --include --trace-ascii log/18/trace176 --trace-time http://127.0.0.1:46763/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/18/stdout176 2> log/18/stderr176 === End of file commands.log === Start of file http_server.log 07:51:07.687954 ====> Client connect 07:51:07.687988 accept_connection 3 returned 4 07:51:07.688007 accept_connection 3 returned 0 07:51:07.688023 Read 93 bytes 07:51:07.688034 Process 93 bytes request 07:51:07.688049 Got request: GET /verifiedserver HTTP/1.1 07:51:07.688059 Are-we-friendly question received 07:51:07.688154 Wrote request (93 bytes) input to log/18/server.input 07:51:07.688172 Identifying ourselves as friends 07:51:07.688228 Response sent (56 bytes) and written to log/18/server.response 07:51:07.688240 special request received, no persistency 07:51:07.688250 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 48222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind176 ==85384== ==85384== Process terminating with default action of signal 4 (SIGILL) ==85384== Illegal opcode at address 0x4013DC0 ==85384== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85384== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85384== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85384== by 0x40037A4: main (tool_main.c:199) === End of file valgrind176 CMD (33792): ../libtool --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/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-time http://127.0.0.1:34059/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 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 83854 port 45933 * pid http => 83854 83854 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/6/valgrind160 ../src/curl -q --include --trace-ascii log/6/trace160 --trace-time http://127.0.0.1:45933/want/160 http://127.0.0.1:45933/wantmore/1600001 > log/6/stdout160 2> log/6/stderr160 160: stdout FAILED: --- log/6/check-expected 2025-11-07 07:51:07.954040116 +0000 +++ log/6/check-generated 2025-11-07 07:51:07.954040116 +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/6/ dir 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/6/valgrind160 ../src/curl -q --include --trace-ascii log/6/trace160 --trace-time http://127.0.0.1:45933/want/160 http://127.0.0.1:45933/wantmore/1600001 > log/6/stdout160 2> log/6/stderr160 === End of file commands.log === Start of file http_server.log 07:51:05.728226 Running HTTP IPv4 version on port 45933 07:51:05.728319 Wrote pid 83854 to log/6/server/http_server.pid 07:51:05.728356 Wrote port 45933 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 160 === End of file server.cmd === Start of file valgrind160 ==85436== ==85436== Process terminating with default action of signal 4 (SIGILL) ==85436== Illegal opcode at address 0x4013DC0 ==85436== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85436== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85436== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85436== by 0x40037A4: main (tool_main.c:199) === End of file valgrind160 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/9/valgrind179 ../src/curl -q --output log/9/curl179.out --include --trace-ascii log/9/trace179 --trace-time http://supertrooper.fake/c/179 -b log/9/injar179 -x 127.0.0.1:42717 > log/9/stdout179 2> log/9/stderr179 179: 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/ dir 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/9/valgrind179 ../src/curl -q --output log/9/curl179.out --include --trace-ascii log/9/trace179 --trace-time http://supertrooper.fake/c/179 -b log/9/injar179 -x 127.0.0.1:42717 > log/9/stdout179 2> log/9/stderr179 === End of file commands.log === Start of file http_server.log 07:51:06.701080 ====> Client connect 07:51:06.701113 accept_connection 3 returned 4 07:51:06.701129 accept_connection 3 returned 0 07:51:06.701145 Read 93 bytes 07:51:06.701155 Process 93 bytes request 07:51:06.701167 Got request: GET /verifiedserver HTTP/1.1 07:51:06.701177 Are-we-friendly question received 07:51:06.701203 Wrote request (93 bytes) input to log/9/server.input 07:51:06.701220 Identifying ourselves as friends 07:51:06.701273 Response sent (56 bytes) and written to log/9/server.response 07:51:06.701284 special request received, no persistency 07:51:06.701293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind179 ==85389== ==85389== Process terminating with default action of signal 4 (SIGILL) ==85389== Illegal opcode at address 0x4013DC0 ==85389== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85389== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85389== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85389== by 0x40037A4: main (tool_main.c:199) === End of file valgrind179 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/3/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-time http://127.0.0.1:34059/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 175: 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/ dir 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/3/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-time http://127.0.0.1:34059/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 === End of file commands.log === Start of file http_server.log 07:51:07.680940 ====> Client connect 07:51:07.680973 accept_connection 3 returned 4 07:51:07.680989 accept_connection 3 returned 0 07:51:07.681005 Read 93 bytes 07:51:07.681016 Process 93 bytes request 07:51:07.681031 Got request: GET /verifiedserver HTTP/1.1 07:51:07.681040 Are-we-friendly question received 07:51:07.681064 Wrote request (93 bytes) input to log/3/server.input 07:51:07.681080 Identifying ourselves as friends 07:51:07.681235 Response sent (56 bytes) and written to log/3/server.response 07:51:07.681312 special request received, no persistency 07:51:07.681328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 36250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End 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/13/valgrind182 ../src/curl -q --output log/13/curl182.out --include --trace-ascii log/13/trace182 --trace-time ftp://127.0.0.1:33699/182 > log/13/stdout182 2> log/13/stderr182 CMD (33792): ../libtool --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/valgrind185 ../src/curl -q --output log/21/curl185.out --include --trace-ascii log/21/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:45761 > log/21/stdout185 2> log/21/stderr185 _verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind175 ==85334== ==85334== Process terminating with default action of signal 4 (SIGILL) ==85334== Illegal opcode at address 0x4013DC0 ==85334== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85334== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85334== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85334== by 0x40037A4: main (tool_main.c:199) === End of file valgrind175 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/13/valgrind182 ../src/curl -q --output log/13/curl182.out --include --trace-ascii log/13/trace182 --trace-time ftp://127.0.0.1:33699/182 > log/13/stdout182 2> log/13/stderr182 182: 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/ dir 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/13/valgrind182 ../src/curl -q --output log/13/curl182.out --include --trace-ascii log/13/trace182 --trace-time ftp://127.0.0.1:33699/182 > log/13/stdout182 2> log/13/stderr182 === End of file commands.log === Start of file ftp_server.log 07:51:06.933581 ====> Client connect 07:51:06.933728 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:06.934022 < "USER anonymous" 07:51:06.934060 > "331 We are happy you popped in![CR][LF]" 07:51:06.934232 < "PASS ftp@example.com" 07:51:06.934257 > "230 Welcome you silly person[CR][LF]" 07:51:06.934409 < "PWD" 07:51:06.934439 > "257 "/" is current directory[CR][LF]" 07:51:06.934610 < "EPSV" 07:51:06.934635 ====> Passive DATA channel requested by client 07:51:06.934650 DATA sockfilt for passive data channel starting... 07:51:06.936791 DATA sockfilt for passive data channel started (pid 85689) 07:51:06.936961 DATA sockfilt for passive data channel listens on port 44447 07:51:06.937017 > "229 Entering Passive Mode (|||44447|)[CR][LF]" 07:51:06.937040 Client has been notified that DATA conn will be accepted on port 44447 07:51:06.937325 Client connects to port 44447 07:51:06.937361 ====> Client established passive DATA connection on port 44447 07:51:06.937467 < "TYPE I" 07:51:06.937505 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:06.937706 < "SIZE verifiedserver" 07:51:06.937749 > "213 17[CR][LF]" 07:51:06.937938 < "RETR verifiedserver" 07:51:06.937975 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:06.938072 =====> Closing passive DATA connection... 07:51:06.938089 Server disconnects passive DATA connection 07:51:06.938356 Server disconnected passive DATA connection 07:51:06.938389 DATA sockfilt for passive data channel quits (pid 85689) 07:51:06.938611 DATA sockfilt for passive data channel quit (pid 85689) 07:51:06.938638 =====> Closed passive DATA connection 07:51:06.938667 > "226 File transfer complete[CR][LF]" 07:51:06.984929 < "QUIT" 07:51:06.984987 > "221 bye bye baby[CR][LF]" 07:51:06.986269 MAIN sockfilt said DISC 07:51:06.986316 ====> Client disconnected 07:51:06.986406 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:07.761421 ====> Client connect 07:51:07.761692 Received DATA (on stdin) 07:51:07.761710 > 160 bytes data, server => client 07:51:07.761724 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:07.761736 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:07.761748 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:07.761826 < 16 bytes data, client => server 07:51:07.761840 'USER anonymous\r\n' 07:51:07.762012 Received DATA (on stdin) 07:51:07.762026 > 33 bytes data, server => client 07:51:07.762038 '331 We are happy you popped in!\r\n' 07:51:07.762088 < 22 bytes data, client => server 07:51:07.762101 'PASS ftp@example.com\r\n' 07:51:07.762204 Received DATA (on stdin) 07:51:07.762216 > 30 bytes data, server => client 07:51:07.762228 '230 Welcome you silly person\r\n' 07:51:07.762275 < 5 bytes data, client => server 07:51:07.762287 'PWD\r\n' 07:51:07.762386 Received DATA (on stdin) 07:51:07.762398 > 30 bytes data, server => client 07:51:07.762410 '257 "/" is current directory\r\n' 07:51:07.762465 < 6 bytes data, client => server 07:51:07.762477 'EPSV\r\n' 07:51:07.765001 Received DATA (on stdin) 07:51:07.765020 > 39 bytes data, server => client 07:51:07.765033 '229 Entering Passive Mode (|||44447|)\r\n' 07:51:07.765216 < 8 bytes data, client => server 07:51:07.765231 'TYPE I\r\n' 07:51:07.765460 Received DATA (on stdin) 07:51:07.765475 > 33 bytes data, server => client 07:51:07.765487 '200 I modify TYPE as you wanted\r\n' 07:51:07.765550 < 21 bytes data, client => server 07:51:07.765565 'SIZE verifiedserver\r\n' 07:51:07.765700 Received DATA (on stdin) 07:51:07.765713 > 8 bytes data, server => client 07:51:07.765725 '213 17\r\n' 07:51:07.765782 < 21 bytes data, client => server 07:51:07.765796 'RETR verifiedserver\r\n' 07:51:07.766143 Received DATA (on stdin) 07:51:07.766158 > 29 bytes data, server => client 07:51:07.766171 '150 Binary junk (17 bytes).\r\n' 07:51:07.766618 Received DATA (on stdin) 07:51:07.766633 > 28 bytes data, server => client 07:51:07.766646 '226 File transfer complete\r\n' 07:51:07.812637 < 6 bytes data, client => server 07:51:07.812674 'QUIT\r\n' 07:51:07.812946 Received DATA (on stdin) 07:51:07.812962 > 18 bytes data, server => client 07:51:07.812975 '221 bye bye baby\r\n' 07:51:07.813732 ====> Client disconnect 07:51:07.814357 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:06.764526 Running IPv4 version 07:51:06.764597 Listening on port 44447 07:51:06.764636 Wrote pid 85689 to log/13/server/ftp_sockdata.pid 07:51:06.764663 Received PING (on stdin) 07:51:06.764795 Received PORT (on stdin) 07:51:06.765183 ====> Client connect 07:51:06.766042 Received DATA (on stdin) 07:51:06.766058 > 17 bytes data, server => client 07:51:06.766071 'WE ROOLZ: 80695\r\n' 07:51:06.766100 Received DISC (on stdin) 07:51:06.766114 ====> Client forcibly disconnected 07:51:06.766348 Received QUIT (on stdin) 07:51:06.766362 quits 07:51:06.766419 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==85824== ==85824== Process terminating with default action of signal 4 (SIGILL) ==85824== Illegal opcode at address 0x4013DC0 ==85824== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85824== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85824== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85824== by 0x40037A4: main (tool_main.c:199) === 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/21/valgrind185 ../src/curl -q --output log/21/curl185.out --include --trace-ascii log/21/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:45761 > log/21/stdout185 2> log/21/stderr185 185: 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/ dir after test 185 === Start of file 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/5/valgrind183 ../src/curl -q --output log/5/curl183.out --include --trace-ascii log/5/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:42797 > log/5/stdout183 2> log/5/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/20/valgrind184 ../src/curl -q --output log/20/curl184.out --include --trace-ascii log/20/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:40357 > log/20/stdout184 2> log/20/stderr184 ommands.log ../libtool --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/valgrind185 ../src/curl -q --output log/21/curl185.out --include --trace-ascii log/21/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:45761 > log/21/stdout185 2> log/21/stderr185 === End of file commands.log === Start of file http_server.log 07:51:07.054107 ====> Client connect 07:51:07.054141 accept_connection 3 returned 4 07:51:07.054159 accept_connection 3 returned 0 07:51:07.054173 Read 93 bytes 07:51:07.054188 Process 93 bytes request 07:51:07.054203 Got request: GET /verifiedserver HTTP/1.1 07:51:07.054214 Are-we-friendly question received 07:51:07.054241 Wrote request (93 bytes) input to log/21/server.input 07:51:07.054264 Identifying ourselves as friends 07:51:07.054327 Response sent (56 bytes) and written to log/21/server.response 07:51:07.054342 special request received, no persistency 07:51:07.054352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 59920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind185 ==85962== ==85962== Process terminating with default action of signal 4 (SIGILL) ==85962== Illegal opcode at address 0x4013DC0 ==85962== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85962== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85962== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85962== by 0x40037A4: main (tool_main.c:199) === End of file valgrind185 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/5/valgrind183 ../src/curl -q --output log/5/curl183.out --include --trace-ascii log/5/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:42797 > log/5/stdout183 2> log/5/stderr183 183: 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/ dir 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/5/valgrind183 ../src/curl -q --output log/5/curl183.out --include --trace-ascii log/5/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:42797 > log/5/stdout183 2> log/5/stderr183 === End of file commands.log === Start of file http_server.log 07:51:07.048936 ====> Client connect 07:51:07.048970 accept_connection 3 returned 4 07:51:07.048988 accept_connection 3 returned 0 07:51:07.049004 Read 93 bytes 07:51:07.049015 Process 93 bytes request 07:51:07.049033 Got request: GET /verifiedserver HTTP/1.1 07:51:07.049043 Are-we-friendly question received 07:51:07.049069 Wrote request (93 bytes) input to log/5/server.input 07:51:07.049087 Identifying ourselves as friends 07:51:07.049148 Response sent (56 bytes) and written to log/5/server.response 07:51:07.049160 special request received, no persistency 07:51:07.049171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind183 ==85947== ==85947== Process terminating with default action of signal 4 (SIGILL) ==85947== Illegal opcode at address 0x4013DC0 ==85947== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==85947== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85947== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85947== by 0x40037A4: main (tool_main.c:199) === End of file valgrind183 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/20/valgrind184 ../src/curl -q --output log/20/curl184.out --include --trace-ascii log/20/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:40357 > log/20/stdout184 2> log/20/stderr184 184: 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/ dir 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/20/valgrind184 ../src/curl -q --output log/20/curl184.out --include --trace-ascii log/20/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:40357 > log/20/stdout184 2> log/20/stderr184 === End of file commands.log === Start of file http_server.log 07:51:07.047295 ====> Client connect 07:51:07.047336 accept_connection 3 returned 4 07:51:07.047357 accept_connection 3 returned 0 07:51:07.047376 Read 93 bytes 07:51:07.047388 Process 93 bytes request 07:51:07.047403 Got request: GET /verifiedserver HTTP/1.1 07:51:07.047414 Are-we-friendly question received 07:51:07.047444 Wrote request (93 bytes) input to log/20/server.input 07:51:07.047465 Identifying ourselves as friends 07:51:07.047546 Response sent (56 bytes) and written to log/20/server.response 07:51:07.047560 special request received, no persistency 07:51:07.047572 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind184 ==85945== ==85945== Process terminating with default action of signal 4 (SIGILL) ==85945== Illegal opcode at address 0x4013DC0 ==85945== at 0x4013DC0: getparaCMD (33792): ../libtool --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/valgrind186 ../src/curl -q --output log/17/curl186.out --include --trace-ascii log/17/trace186 --trace-time http://127.0.0.1:42601/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/17/stdout186 2> log/17/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/1/valgrind188 ../src/curl -q --output log/1/curl188.out --include --trace-ascii log/1/trace188 --trace-time http://127.0.0.1:35709/188 -C 50 -L > log/1/stdout188 2> log/1/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/11/valgrind187 ../src/curl -q --output log/11/curl187.out --include --trace-ascii log/11/trace187 --trace-time http://127.0.0.1:38169?oh=what-weird=test/187 -L > log/11/stdout187 2> log/11/stderr187 meter (tool_getparam.c:2846) ==85945== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85945== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==85945== by 0x40037A4: main (tool_main.c:199) === End of file valgrind184 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/17/valgrind186 ../src/curl -q --output log/17/curl186.out --include --trace-ascii log/17/trace186 --trace-time http://127.0.0.1:42601/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/17/stdout186 2> log/17/stderr186 186: 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/ dir 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/17/valgrind186 ../src/curl -q --output log/17/curl186.out --include --trace-ascii log/17/trace186 --trace-time http://127.0.0.1:42601/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/17/stdout186 2> log/17/stderr186 === End of file commands.log === Start of file http_server.log 07:51:08.074737 ====> Client connect 07:51:08.074774 accept_connection 3 returned 4 07:51:08.074794 accept_connection 3 returned 0 07:51:08.074970 Read 93 bytes 07:51:08.074986 Process 93 bytes request 07:51:08.075000 Got request: GET /verifiedserver HTTP/1.1 07:51:08.075011 Are-we-friendly question received 07:51:08.075042 Wrote request (93 bytes) input to log/17/server.input 07:51:08.075061 Identifying ourselves as friends 07:51:08.075120 Response sent (56 bytes) and written to log/17/server.response 07:51:08.075131 special request received, no persistency 07:51:08.075141 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 53796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind186 ==86002== ==86002== Process terminating with default action of signal 4 (SIGILL) ==86002== Illegal opcode at address 0x4013DC0 ==86002== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind186 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/1/valgrind188 ../src/curl -q --output log/1/curl188.out --include --trace-ascii log/1/trace188 --trace-time http://127.0.0.1:35709/188 -C 50 -L > log/1/stdout188 2> log/1/stderr188 188: 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/ dir 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/1/valgrind188 ../src/curl -q --output log/1/curl188.out --include --trace-ascii log/1/trace188 --trace-time http://127.0.0.1:35709/188 -C 50 -L > log/1/stdout188 2> log/1/stderr188 === End of file commands.log === Start of file http_server.log 07:51:07.340481 ====> Client connect 07:51:07.340544 accept_connection 3 returned 4 07:51:07.340564 accept_connection 3 returned 0 07:51:07.340579 Read 93 bytes 07:51:07.340596 Process 93 bytes request 07:51:07.340615 Got request: GET /verifiedserver HTTP/1.1 07:51:07.340625 Are-we-friendly question received 07:51:07.340650 Wrote request (93 bytes) input to log/1/server.input 07:51:07.340670 Identifying ourselves as friends 07:51:07.340731 Response sent (56 bytes) and written to log/1/server.response 07:51:07.340746 special request received, no persistency 07:51:07.340756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 55030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind188 ==86221== ==86221== Process terminating with default action of signal 4 (SIGILL) ==86221== Illegal opcode at address 0x4013DC0 ==86221== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86221== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86221== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86221== by 0x40037A4: main (tool_main.c:199) === End of file valgrind188 test 0187...[HTTP redirect with bad host name 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/11/valgrind187 ../src/curl -q --output log/11/curl187.out --include --trace-ascii log/11/trace187 --trace-time http://127.0.0.1:38169?oh=what-weird=test/187 -L > log/11/stdout187 2> log/11/stderr187 187: 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/ dir 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/11/valgrind187 ../src/curl -q --output log/11/curl187.out --include --trace-ascii log/11/trace187 --trace-time http://127.0.0.1:38169?oh=what-weird=test/187 -L > log/11/stdout187 2> log/11/stderr187 === End of file commands.log === Start of file http_server.log 07:51:07.319160 ====> Client connect 07:51:07.319233 accept_connection 3 returned 4 07:51:07.319268 accept_connection 3 returned 0 07:51:07.319284 Read 93 bytes 07:51:07.319300 Process 93 bytes request 07:51:07.319318 Got request: GET /verifiedserver HTTP/1.1 07:51:07.319328 Are-we-friendly question received 07:51:07.319355 Wrote request (93 bytes) input to log/11/server.input 07:51:07.319378 Identifying ourselves as friends 07:51:07.319439 Response sent (56 bytes) and written to log/11/server.response 07:51:07.319454 special request received, no persistency 07:51:07.319462 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 42310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.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/14/valgrind193 ../src/curl -q --include --trace-ascii log/14/trace193 --trace-time http://127.0.0.1:34115/193 -w "%{num_connects}\n" -L > log/14/stdout193 2> log/14/stderr193 7.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind187 ==86202== ==86202== Process terminating with default action of signal 4 (SIGILL) ==86202== Illegal opcode at address 0x4013DC0 ==86202== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86202== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86202== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86202== by 0x40037A4: main (tool_main.c:199) === End of file valgrind187 CMD (33792): ../libtool --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/valgrind189 ../src/curl -q --output log/10/curl189.out --include --trace-ascii log/10/trace189 --trace-time http://127.0.0.1:34041/189 -C 50 -L > log/10/stdout189 2> log/10/stderr189 CMD (33792): ../libtool --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/valgrind194 ../src/curl -q --output log/24/curl194.out --include --trace-ascii log/24/trace194 --trace-time http://127.0.0.1:41843/want/194 -C 87 --fail > log/24/stdout194 2> log/24/stderr194 CMD (33792): ../libtool --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/valgrind192 ../src/curl -q --include --trace-ascii log/12/trace192 --trace-time http://127.0.0.1:38023/192 -w "%{num_connects}\n" > log/12/stdout192 2> log/12/stderr192 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/14/valgrind193 ../src/curl -q --include --trace-ascii log/14/trace193 --trace-time http://127.0.0.1:34115/193 -w "%{num_connects}\n" -L > log/14/stdout193 2> log/14/stderr193 193: stdout FAILED: --- log/14/check-expected 2025-11-07 07:51:08.554040121 +0000 +++ log/14/check-generated 2025-11-07 07:51:08.554040121 +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/14/ dir 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/14/valgrind193 ../src/curl -q --include --trace-ascii log/14/trace193 --trace-time http://127.0.0.1:34115/193 -w "%{num_connects}\n" -L > log/14/stdout193 2> log/14/stderr193 === End of file commands.log === Start of file http_server.log 07:51:07.406298 ====> Client connect 07:51:07.406341 accept_connection 3 returned 4 07:51:07.406360 accept_connection 3 returned 0 07:51:07.406376 Read 93 bytes 07:51:07.406388 Process 93 bytes request 07:51:07.406402 Got request: GET /verifiedserver HTTP/1.1 07:51:07.406412 Are-we-friendly question received 07:51:07.406440 Wrote request (93 bytes) input to log/14/server.input 07:51:07.406458 Identifying ourselves as friends 07:51:07.406518 Response sent (56 bytes) and written to log/14/server.response 07:51:07.406531 special request received, no persistency 07:51:07.406541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind193 ==86435== ==86435== Process terminating with default action of signal 4 (SIGILL) ==86435== Illegal opcode at address 0x4013DC0 ==86435== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86435== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86435== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86435== by 0x40037A4: main (tool_main.c:199) === End of file valgrind193 test 0189...[HTTP GET with resume and redirect (to a page that doesn't 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/10/valgrind189 ../src/curl -q --output log/10/curl189.out --include --trace-ascii log/10/trace189 --trace-time http://127.0.0.1:34041/189 -C 50 -L > log/10/stdout189 2> log/10/stderr189 189: 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/ dir 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/10/valgrind189 ../src/curl -q --output log/10/curl189.out --include --trace-ascii log/10/trace189 --trace-time http://127.0.0.1:34041/189 -C 50 -L > log/10/stdout189 2> log/10/stderr189 === End of file commands.log === Start of file http_server.log 07:51:07.389671 ====> Client connect 07:51:07.389711 accept_connection 3 returned 4 07:51:07.389730 accept_connection 3 returned 0 07:51:07.389746 Read 93 bytes 07:51:07.389757 Process 93 bytes request 07:51:07.389773 Got request: GET /verifiedserver HTTP/1.1 07:51:07.389784 Are-we-friendly question received 07:51:07.389811 Wrote request (93 bytes) input to log/10/server.input 07:51:07.389829 Identifying ourselves as friends 07:51:07.389886 Response sent (56 bytes) and written to log/10/server.response 07:51:07.389898 special request received, no persistency 07:51:07.389908 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 41586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind189 ==86380== ==86380== Process terminating with default action of signal 4 (SIGILL) ==86380== Illegal opcode at address 0x4013DC0 ==86380== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86380== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86380== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86380== by 0x40037A4: main (tool_main.c:199) === End of file valgrind189 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/24/valgrind194 ../src/curl -q --output log/24/curl194.out --include --trace-ascii log/24/trace194 --trace-time http://127.0.0.1:41843/want/194 -C 87 --fail > log/24/stdout194 2> log/24/stderr194 194: 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/ dir 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/24/valgrind194 ../src/curl -q --output log/24/curl194.out --include --trace-ascii log/24/trace194 --trace-time http://127.0.0.1:41843/want/194 -C 87 --fail > log/24/stdout194 2> log/24/stderr194 === End of file commands.log === Start of file http_server.log 07:51:07.412889 ====> Client connect 07:51:07.412919 accept_connection 3 returned 4 07:51:07.412934 accept_connection 3 returned 0 07:51:07.412948 Read 93 bytes 07:51:07.412958 Process 93 bytes request 07:51:07.412969 Got request: GET /verifiedserver HTTP/1.1 07:51:07.412978 Are-we-friendly question received 07:51:07.413000 Wrote request (93 bytes) input to log/24/server.input 07:51:07.413015 Identifying ourselves as friends 07:51:07.413064 Response sent (56 bytes) and written to log/24/server.response 07:51:07.413074 special request received, no persistency 07:51:07.413083 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 55446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind194 ==86452== ==86452== Process terminating with default action of signal 4 (SIGILL) ==86452== Illegal opcode at address 0x4013DC0 ==86452== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86452== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86452== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86452== by 0x40037A4: main (tool_main.c:199) === End of file valgrind194 CMD (33792): ../libtool --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/valgrind191 ../src/curl -q --output log/2/curl191.out --include --trace-ascii log/2/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:38579/191" > log/2/stdout191 2> log/2/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/12/valgrind192 ../src/curl -q --include --trace-ascii log/12/trace192 --trace-time http://127.0.0.1:38023/192 -w "%{num_connects}\n" > log/12/stdout192 2> log/12/stderr192 192: stdout FAILED: --- log/12/check-expected 2025-11-07 07:51:08.574040121 +0000 +++ log/12/check-generated 2025-11-07 07:51:08.574040121 +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/12/ dir 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/12/valgrind192 ../src/curl -q --include --trace-ascii log/12/trace192 --trace-time http://127.0.0.1:38023/192 -w "%{num_connects}\n" > log/12/stdout192 2> log/12/stderr192 === End of file commands.log === Start of file http_server.log 07:51:07.397389 ====> Client connect 07:51:07.397425 accept_connection 3 returned 4 07:51:07.397443 accept_connection 3 returned 0 07:51:07.397458 Read 93 bytes 07:51:07.397470 Process 93 bytes request 07:51:07.397484 Got request: GET /verifiedserver HTTP/1.1 07:51:07.397494 Are-we-friendly question received 07:51:07.397522 Wrote request (93 bytes) input to log/12/server.input 07:51:07.397540 Identifying ourselves as friends 07:51:07.397600 Response sent (56 bytes) and written to log/12/server.response 07:51:07.397612 special request received, no persistency 07:51:07.397623 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 52080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind192 ==86401== ==86401== Process terminating with default action of signal 4 (SIGILL) ==86401== Illegal opcode at address 0x4013DC0 ==86401== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86401== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86401== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86401== by 0x40037A4: main (tool_main.c:199) === End of file valgrind192 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/2/valgrind191 ../src/curl -q --output log/2/curl191.out --include --trace-ascii log/2/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:38579/191" > log/2/stdout191 2> log/2/stderr191 191: 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/ dir 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/2/valgrind191 ../src/curl -q --output log/2/curl191.out --include --trace-ascii log/2/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:38579/191" > log/2/stdout191 2> log/2/stderr191 === End of file commands.log === Start of file ftp_server.log 07:51:07.567267 ====> Client connect 07:51:07.567415 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:07.567710 < "USER anonymous" 07:51:07.567752 > "331 We are happy you popped in![CR][LF]" 07:51:07.567950 < "PASS ftp@example.com" 07:51:07.567981 > "230 Welcome you silly person[CR][LF]" 07:51:07.568149 < "PWD" 07:51:07.568180 > "257 "/" is current directory[CR][LF]" 07:51:07.568350 < "EPSV" 07:51:07.568374 ====> Passive DATA channel requested by client 07:51:07.568387 DATA sockfilt for passive data channel starting... 07:51:07.570248 DATA sockfilt for passive data channel started (pid 86357) 07:51:07.570359 DATA sockfilt for passive data channel listens on port 41525 07:51:07.570407 > "229 Entering Passive Mode (|||41525|)[CR][LF]" 07:51:07.570425 Client has been notified that DATA conn will be accepted on port 41525 07:51:07.570646 Client connects to port 41525 07:51:07.570678 ====> Client established passive DATA connection on port 41525 07:51:07.570754 < "TYPE I" 07:51:07.570784 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:07.570933 < "SIZE verifiedserver" 07:51:07.570972 > "213 17[CR][LF]" 07:51:07.571112 < "RETR verifiedserver" 07:51:07.571142 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:07.571220 =====> Closing passive DATA connection... 07:51:07.571235 Server disconnects passive DATA connection 07:51:07.571474 Server disconnected passive DATA connection 07:51:07.571499 DATA sockfilt for passive data channel quits (pid 86357) 07:51:07.571706 DATA sockfilt for passive data channel quit (pid 86357) 07:51:07.571728 =====> Closed passive DATA connection 07:51:07.571753 > "226 File transfer complete[CR][LF]" 07:51:07.618234 < "QUIT" 07:51:07.618289 > "221 bye bye baby[CR][LF]" 07:51:07.619174 MAIN sockfilt said DISC 07:51:07.619214 ====> Client disconnected 07:51:07.619302 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:07.395118 ====> Client connect 07:51:07.395381 Received DATA (on stdin) 07:51:07.395398 > 160 bytes data, server => client 07:51:07.395411 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:07.395423 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:07.395433 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:07.395510 < 16 bytes data, client => server 07:51:07.395523 'USER anonymous\r\n' 07:51:07.395705 Received DATA (on stdin) 07:51:07.395719 > 33 bytes data, server => client 07:51:07.395732 '331 We are happy you popped in!\r\n' 07:51:07.395785 < 22 bytes data, client => server 07:51:07.395797 'PASS ftp@example.com\r\n' 07:51:07.395930 Received DATA (on stdin) 07:51:07.395944 > 30 bytes data, server => client 07:51:07.395956 '230 Welcome you silly person\r\n' 07:51:07.396008 < 5 bytes data, client => server 07:51:07.396021 'PWD\r\n' 07:51:07.396127 Received DATA (on stdin) 07:51:07.396139 > 30 bytes data, server => client 07:51:07.396151 '257 "/" is current directory\r\n' 07:51:07.396212 < 6 bytes data, client => server 07:51:07.396224 'EPSV\r\n' 07:51:07.398379 Received DATA (on stdin) 07:51:07.398394 > 39 bytes data, server => client 07:51:07.398405 '229 Entering Passive Mode (|||41525|)\r\n' 07:51:07.398511 < 8 bytes data, client => server 07:51:07.398526 'TYPE I\r\n' 07:51:07.398730 Received DATA (on stdin) 07:51:07.398742 > 33 bytes data, server => client 07:51:07.398754 '200 I modify TYPE as you wanted\r\n' 07:51:07.398801 < 21 bytes data, client => server 07:51:07.398813 'SIZE verifiedserver\r\n' 07:51:07.398918 Received DATA (on stdin) 07:51:07.398930 > 8 bytes data, server => client 07:51:07.398940 '213 17\r\n' 07:51:07.398982 < 21 bytes data, client => server 07:51:07.398995 'RETR verifiedservCMD (33792): ../libtool --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/valgrind190 ../src/curl -q --output log/7/curl190.out --include --trace-ascii log/7/trace190 --trace-time ftp://127.0.0.1:36413/path/to/file/190 -m 10 > log/7/stdout190 2> log/7/stderr190 * kill pid for ftp-ctrl => 80627 RUN: Process with pid 80622 signalled to die RUN: Process with pid 80622 gracefully died er\r\n' 07:51:07.399191 Received DATA (on stdin) 07:51:07.399203 > 29 bytes data, server => client 07:51:07.399214 '150 Binary junk (17 bytes).\r\n' 07:51:07.399705 Received DATA (on stdin) 07:51:07.399718 > 28 bytes data, server => client 07:51:07.399728 '226 File transfer complete\r\n' 07:51:07.445978 < 6 bytes data, client => server 07:51:07.446013 'QUIT\r\n' 07:51:07.446244 Received DATA (on stdin) 07:51:07.446258 > 18 bytes data, server => client 07:51:07.446271 '221 bye bye baby\r\n' 07:51:07.447065 ====> Client disconnect 07:51:07.447252 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:07.397882 Running IPv4 version 07:51:07.397939 Listening on port 41525 07:51:07.397981 Wrote pid 86357 to log/2/server/ftp_sockdata.pid 07:51:07.398135 Received PING (on stdin) 07:51:07.398213 Received PORT (on stdin) 07:51:07.398545 ====> Client connect 07:51:07.399264 Received DATA (on stdin) 07:51:07.399278 > 17 bytes data, server => client 07:51:07.399289 'WE ROOLZ: 80630\r\n' 07:51:07.399314 Received DISC (on stdin) 07:51:07.399326 ====> Client forcibly disconnected 07:51:07.399453 Received QUIT (on stdin) 07:51:07.399465 quits 07:51:07.399520 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==86579== ==86579== Process terminating with default action of signal 4 (SIGILL) ==86579== Illegal opcode at address 0x4013DC0 ==86579== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86579== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86579== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86579== by 0x40037A4: main (tool_main.c:199) === End of file valgrind191 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/7/valgrind190 ../src/curl -q --output log/7/curl190.out --include --trace-ascii log/7/trace190 --trace-time ftp://127.0.0.1:36413/path/to/file/190 -m 10 > log/7/stdout190 2> log/7/stderr190 190: 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/ dir 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/7/valgrind190 ../src/curl -q --output log/7/curl190.out --include --trace-ascii log/7/trace190 --trace-time ftp://127.0.0.1:36413/path/to/file/190 -m 10 > log/7/stdout190 2> log/7/stderr190 === End of file commands.log === Start of file ftp_server.log 07:51:07.569886 ====> Client connect 07:51:07.570093 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:07.570543 < "USER anonymous" 07:51:07.570606 > "331 We are happy you popped in![CR][LF]" 07:51:07.570834 < "PASS ftp@example.com" 07:51:07.570876 > "230 Welcome you silly person[CR][LF]" 07:51:07.571050 < "PWD" 07:51:07.571085 > "257 "/" is current directory[CR][LF]" 07:51:07.571407 < "EPSV" 07:51:07.571442 ====> Passive DATA channel requested by client 07:51:07.571458 DATA sockfilt for passive data channel starting... 07:51:07.573420 DATA sockfilt for passive data channel started (pid 86365) 07:51:07.573588 DATA sockfilt for passive data channel listens on port 37475 07:51:07.573638 > "229 Entering Passive Mode (|||37475|)[CR][LF]" 07:51:07.573662 Client has been notified that DATA conn will be accepted on port 37475 07:51:07.573954 Client connects to port 37475 07:51:07.573986 ====> Client established passive DATA connection on port 37475 07:51:07.574078 < "TYPE I" 07:51:07.574108 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:07.574518 < "SIZE verifiedserver" 07:51:07.574567 > "213 17[CR][LF]" 07:51:07.575079 < "RETR verifiedserver" 07:51:07.575120 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:07.575226 =====> Closing passive DATA connection... 07:51:07.575243 Server disconnects passive DATA connection 07:51:07.575796 Server disconnected passive DATA connection 07:51:07.575826 DATA sockfilt for passive data channel quits (pid 86365) 07:51:07.576140 DATA sockfilt for passive data channel quit (pid 86365) 07:51:07.576164 =====> Closed passive DATA connection 07:51:07.576193 > "226 File transfer complete[CR][LF]" 07:51:07.621384 < "QUIT" 07:51:07.621449 > "221 bye bye baby[CR][LF]" 07:51:07.623144 MAIN sockfilt said DISC 07:51:07.623198 ====> Client disconnected 07:51:07.623300 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:07.397704 ====> Client connect 07:51:07.398067 Received DATA (on stdin) 07:51:07.398087 > 160 bytes data, server => client 07:51:07.398101 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:07.398114 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:07.398126 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:07.398231 < 16 bytes data, client => server 07:51:07.398248 'USER anonymous\r\n' 07:51:07.398566 Received DATA (on stdin) 07:51:07.398583 > 33 bytes data, server => client 07:51:07.398597 '331 We are happy you popped in!\r\n' 07:51:07.398660 < 22 bytes data, client => server 07:51:07.398674 'PASS ftp@example.com\r\n' 07:51:07.398829 Received DATA (on stdin) 07:51:07.398842 > 30 bytes data, server => client 07:51:07.398854 '230 Welcome you silly person\r\n' 07:51:07.398907 < 5 bytes data, client => server 07:51:07.398919 'PWD\r\n' 07:51:07.399034 Received DATA (on stdin) 07:51:07.399047 > 30 bytes data, server => client 07:51:07.399060 '257 "/" is current directory\r\n' 07:51:07.399117 < 6 bytes data, client => server 07:51:07.399130 'EPSV\r\n' 07:51:07.401620 Received DATA (on stdin) 07:51:07.401636 > 39 bytes data, server => client 07:51:07.401649 '229 Entering Passive Mode (|||37475|)\r\n' 07:51:07.401833 < 8 bytes data, client => server 07:51:07.401846 'TYPE I\r\n' 07:51:07.402057 Received DATA (on stdin) 07:51:07.402070 > 33 bytes data, server => client 07:51:07.402082 '200 I modify TYPE as you wanted\r\n' 07:51:07.402135 < 21 bytes data, client => server 07:51:07.402150 'SIZE verifiedserver\r\n' 07:51:07.402526 Received DATA (on stdin) 07:51:07.402541 > 8 bytes data, server => client 07:51:07.402552 '213 17\r\n' 07:51:07.402926 < 21 bytes data, client => server 07:51:07.402945 'RETR verifiedserver\r\n' 07:51:07.403194 Received DATA (on stdin) 07:51:07.403208 > 29 bytes data, server => client 07:51:07.403220 '150 Binary junk (17 bytes).\r\n' 07:51:07.404143 Received DATA (on stdin) 07:51:07.404157 > 28 bytes data, server => client 07:51:07.404170 '226 File transfer complete\r\n' 07:51:07.446048 < 6 bytes data, client => server 07:51:07.446095 'QUIT\r\n' 07:51:07.449415 Received DATA (on stdin) 07:51:07.449435 > 18 bytes data, server => client 07:51:07.449449 '221 bye bye baby\r\n' 07:51:07.450665 ====> Client disconnect 07:51:07.451259 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:07.401103 Running IPv4 version 07:51:07.401167 Listening on port 37475 07:51:07.401205 Wrote pid 86365 to log/7/server/ftp_sockdata.pid 07:51:07.401283 Received PING (on stdin) 07:51:07.401407 Received PORT (on stdin) 07:51:07.401803 ====> Client connect 07:51:07.403504 Received DATA (on stdin) 07:51:07.403527 > 17 bytes data, server => client 07:51:07.403540 'WE ROOLZ: 80622\r\n' 07:51:07.403579 Received DISC (on stdin) 07:51:07.403593 ====> Client forcibly disconnected 07:51:07.403789 Received QUIT (on stdin) 07:51:07.403802 quits 07:51:07.403885 ============> 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 ==86580==CMD (33792): ../libtool --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/valgrind199 ../src/curl -q --output log/8/curl199.out --include --trace-ascii log/8/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:36147/{199,199}" -G > log/8/stdout199 2> log/8/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/3/valgrind204 ../src/curl -q --output log/3/curl204.out --trace-ascii log/3/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/3/result204.txt -T log/3/upload204.txt > log/3/stdout204 2> log/3/stderr204 ==86580== Process terminating with default action of signal 4 (SIGILL) ==86580== Illegal opcode at address 0x4013DC0 ==86580== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86580== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86580== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86580== by 0x40037A4: main (tool_main.c:199) === End of file valgrind190 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/8/valgrind199 ../src/curl -q --output log/8/curl199.out --include --trace-ascii log/8/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:36147/{199,199}" -G > log/8/stdout199 2> log/8/stderr199 199: 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/ dir 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/8/valgrind199 ../src/curl -q --output log/8/curl199.out --include --trace-ascii log/8/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:36147/{199,199}" -G > log/8/stdout199 2> log/8/stderr199 === End of file commands.log === Start of file http_server.log 07:51:07.801554 ====> Client connect 07:51:07.801588 accept_connection 3 returned 4 07:51:07.801606 accept_connection 3 returned 0 07:51:07.801622 Read 93 bytes 07:51:07.801634 Process 93 bytes request 07:51:07.801649 Got request: GET /verifiedserver HTTP/1.1 07:51:07.801659 Are-we-friendly question received 07:51:07.801709 Wrote request (93 bytes) input to log/8/server.input 07:51:07.801728 Identifying ourselves as friends 07:51:07.801786 Response sent (56 bytes) and written to log/8/server.response 07:51:07.801796 special request received, no persistency 07:51:07.801805 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 45188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind199 ==87022== ==87022== Process terminating with default action of signal 4 (SIGILL) ==87022== Illegal opcode at address 0x4013DC0 ==87022== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87022== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87022== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87022== by 0x40037A4: main (tool_main.c:199) === 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/9/valgrind203 ../src/curl -q --output log/9/curl203.out --trace-ascii log/9/trace203 --trace-time file:/startdir/src/build-curl/tests/log/9/test203.txt > log/9/stdout203 2> log/9/stderr203 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/3/valgrind204 ../src/curl -q --output log/3/curl204.out --trace-ascii log/3/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/3/result204.txt -T log/3/upload204.txt > log/3/stdout204 2> log/3/stderr204 204: output (log/3/result204.txt) FAILED: --- log/3/check-expected 2025-11-07 07:51:08.934040125 +0000 +++ log/3/check-generated 2025-11-07 07:51:08.934040125 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/3/ dir 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/3/valgrind204 ../src/curl -q --output log/3/curl204.out --trace-ascii log/3/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/3/result204.txt -T log/3/upload204.txt > log/3/stdout204 2> log/3/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 ==86969== ==86969== Process terminating with default action of signal 4 (SIGILL) ==86969== Illegal opcode at address 0x4013DC0 ==86969== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86969== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86969== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86969== by 0x40037A4: main (tool_main.c:199) === End of file valgrind204 CMD (33792): ../libtool --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/valgrind197 ../src/curl -q --include --trace-ascii log/4/trace197 --trace-time http://127.0.0.1:43573/197 --retry 1000 > log/4/stdout197 2> log/4/stderr197 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/9/valgrind203 ../src/curl -q --output log/9/curl203.out --trace-ascii log/9/trace203 --trace-time file:/startdir/src/build-curl/tests/log/9/test203.txt > log/9/stdout203 2> log/9/stderr203 203: data FAILED: --- log/9/check-expected 2025-11-07 07:51:08.940706791 +0000 +++ log/9/check-generated 2025-11-07 07:51:08.940706791 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/9/ dir 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/9/valgrind203 ../src/curl -q --output log/9/curl203.out --trace-ascii log/9/trace203 --trace-time file:/startdir/src/build-curl/tests/log/9/test203.txt > log/9/stdout203 2> log/9/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 ==86946== ==86946== Process terminating with default action of signal 4 (SIGILL) ==86946== Illegal opcode at address 0x4013DC0 ==86946== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86946== by 0x40037A4: main (tool_main.c:199) === End of file valgrind203 CMD (33792): ../libtool --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/valgrind196 ../src/curl -q --include --trace-ascii log/22/trace196 --trace-time ftp://127.0.0.1:38231/196 --retry 1 -w '%{num_retries}\n' > log/22/stdout196 2> log/22/stderr196 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/4/valgrind197 ../src/curl -q --include --trace-ascii log/4/trace197 --trace-time http://127.0.0.1:43573/197 --retry 1000 > log/4/stdout197 2> log/4/stderr197 197: stdout FAILED: --- log/4/check-expected 2025-11-07 07:51:08.947373458 +0000 +++ log/4/check-generated 2025-11-07 07:51:08.947373458 +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/4/ dir 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/4/valgrind197 ../src/curl -q --include --trace-ascii log/4/trace197 --trace-time http://127.0.0.1:43573/197 --retry 1000 > log/4/stdout197 2> log/4/stderr197 === End of file commands.log === Start of file http_server.log 07:51:08.719439 ====> Client connect 07:51:08.719476 accept_connection 3 returned 4 07:51:08.719494 accept_connection 3 returned 0 07:51:08.719510 Read 93 bytes 07:51:08.719522 Process 93 bytes request 07:51:08.719538 Got request: GET /verifiedserver HTTP/1.1 07:51:08.719548 Are-we-friendly question received 07:51:08.719576 Wrote request (93 bytes) input to log/4/server.input 07:51:08.719595 Identifying ourselves as friends 07:51:08.719654 Response sent (56 bytes) and written to log/4/server.response 07:51:08.719665 special request received, no persistency 07:51:08.719676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind197 ==86752== ==86752== Process terminating with default action of signal 4 (SIGILL) ==86752== Illegal opcode at address 0x4013DC0 ==86752== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86752== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86752== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86752== by 0x40037A4: main (tool_main.c:199) === 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/16/valgrind195 ../src/curl -q --output log/16/curl195.out --include --trace-ascii log/16/trace195 --trace-time ftp://127.0.0.1:37855/195 > log/16/stdout195 2> log/16/stderr195 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/22/valgrind196 ../src/curl -q --include --trace-ascii log/22/trace196 --trace-time ftp://127.0.0.1:38231/196 --retry 1 -w '%{num_retries}\n' > log/22/stdout196 2> log/22/stderr196 196: stdout FAILED: --- log/22/check-expected 2025-11-07 07:51:08.954040125 +0000 +++ log/22/check-generated 2025-11-07 07:51:08.954040125 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/22/ dir 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/22/valgrind196 ../src/curl -q --include --trace-ascii log/22/trace196 --trace-time ftp://127.0.0.1:38231/196 --retry 1 -w '%{num_retries}\n' > log/22/stdout196 2> log/22/stderr196 === End of file commands.log === Start of file ftp_server.log 07:51:07.850757 ====> Client connect 07:51:07.850902 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:07.851199 < "USER anonymous" 07:51:07.851242 > "331 We are happy you popped in![CR][LF]" 07:51:07.851458 < "PASS ftp@example.com" 07:51:07.851490 > "230 Welcome you silly person[CR][LF]" 07:51:07.851665 < "PWD" 07:51:07.851699 > "257 "/" is current directory[CR][LF]" 07:51:07.851879 < "EPSV" 07:51:07.851903 ====> Passive DATA channel requested by client 07:51:07.851918 DATA sockfilt for passive data channel starting... 07:51:07.853593 DATA sockfilt for passive data channel started (pid 86733) 07:51:07.853678 DATA sockfilt for passive data channel listens on port 46077 07:51:07.853711 > "229 Entering Passive Mode (|||46077|)[CR][LF]" 07:51:07.853726 Client has been notified that DATA conn will be accepted on port 46077 07:51:07.853908 Client connects to port 46077 07:51:07.853931 ====> Client established passive DATA connection on port 46077 07:51:07.853989 < "TYPE I" 07:51:07.854010 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:07.854132 < "SIZE verifiedserver" 07:51:07.854161 > "213 17[CR][LF]" 07:51:07.854275 < "RETR verifiedserver" 07:51:07.854302 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:07.854367 =====> Closing passive DATA connection... 07:51:07.854379 Server disconnects passive DATA connection 07:51:07.854562 Server disconnected passive DATA connection 07:51:07.854594 DATA sockfilt for passive data channel quits (pid 86733) 07:51:07.854761 DATA sockfilt for passive data channel quit (pid 86733) 07:51:07.854779 =====> Closed passive DATA connection 07:51:07.854799 > "226 File transfer complete[CR][LF]" 07:51:07.895928 < "QUIT" 07:51:07.895979 > "221 bye bye baby[CR][LF]" 07:51:07.896384 MAIN sockfilt said DISC 07:51:07.896547 ====> Client disconnected 07:51:07.896615 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:07.678602 ====> Client connect 07:51:07.678866 Received DATA (on stdin) 07:51:07.678885 > 160 bytes data, server => client 07:51:07.678898 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:07.678911 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:07.678922 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:07.678994 < 16 bytes data, client => server 07:51:07.679012 'USER anonymous\r\n' 07:51:07.679210 Received DATA (on stdin) 07:51:07.679226 > 33 bytes data, server => client 07:51:07.679242 '331 We are happy you popped in!\r\n' 07:51:07.679297 < 22 bytes data, client => server 07:51:07.679311 'PASS ftp@example.com\r\n' 07:51:07.679441 Received DATA (on stdin) 07:51:07.679455 > 30 bytes data, server => client 07:51:07.679467 '230 Welcome you silly person\r\n' 07:51:07.679520 < 5 bytes data, client => server 07:51:07.679535 'PWD\r\n' 07:51:07.679649 Received DATA (on stdin) 07:51:07.679663 > 30 bytes data, server => client 07:51:07.679675 '257 "/" is current directory\r\n' 07:51:07.679736 < 6 bytes data, client => server 07:51:07.679751 'EPSV\r\n' 07:51:07.681672 Received DATA (on stdin) 07:51:07.681684 > 39 bytes data, server => client 07:51:07.681693 '229 Entering Passive Mode (|||46077|)\r\n' 07:51:07.681809 < 8 bytes data, client => server 07:51:07.681819 'TYPE I\r\n' 07:51:07.681954 Received DATA (on stdin) 07:51:07.681964 > 33 bytes data, server => client 07:51:07.681973 '200 I modify TYPE as you wanted\r\n' 07:51:07.682012 < 21 bytes data, client => server 07:51:07.682021 'SIZE verifiedserver\r\n' 07:51:07.682103 Received DATA (on stdin) 07:51:07.682113 > 8 bytes data, server => client 07:51:07.682122 '213 17\r\n' 07:51:07.682157 < 21 bytes data, client => server 07:51:07.682166 'RETR verifiedserver\r\n' 07:51:07.682324 Received DATA (on stdin) 07:51:07.682334 > 29 bytes data, server => client 07:51:07.682343 '150 Binary junk (17 bytes).\r\n' 07:51:07.682744 Received DATA (on stdin) 07:51:07.682756 > 28 bytes data, server => client 07:51:07.682765 '226 File transfer complete\r\n' 07:51:07.723367 < 6 bytes data, client => server 07:51:07.723755 'QUIT\r\n' 07:51:07.723932 Received DATA (on stdin) 07:51:07.723945 > 18 bytes data, server => client 07:51:07.723956 '221 bye bye baby\r\n' 07:51:07.724115 ====> Client disconnect 07:51:07.724564 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:07.681397 Running IPv4 version 07:51:07.681445 Listening on port 46077 07:51:07.681473 Wrote pid 86733 to log/22/server/ftp_sockdata.pid 07:51:07.681489 Received PING (on stdin) 07:51:07.681556 Received PORT (on stdin) 07:51:07.681786 ====> Client connect 07:51:07.682362 Received DATA (on stdin) 07:51:07.682373 > 17 bytes data, server => client 07:51:07.682382 'WE ROOLZ: 80638\r\n' 07:51:07.682400 Received DISC (on stdin) 07:51:07.682410 ====> Client forcibly disconnected 07:51:07.682547 Received QUIT (on stdin) 07:51:07.682558 quits 07:51:07.682604 ============> 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 ==86759== ==86759== Process terminating with default action of signal 4 (SIGILL) ==86759== Illegal opcode at address 0x4013DC0 ==86759== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86759== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86759== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86759== by 0x40037A4: main (tool_main.c:199) === End of file valgrind196 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/16/valgrind195 ../src/curl -q --output log/16/curl195.out --include --trace-ascii log/16/trace195 --trace-time ftp://127.0.0.1:37855/195 > log/16/stdout195 2> log/16/stderr195 195: 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/ dir 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/16/valgrind195 ../src/curl -q --output log/16/curl195.out --include --trace-ascii log/16/trace195 --trace-time ftp://127.0.0.1:37855/195 > log/16/stdout195 2> log/16/stderr195 === End of file commands.log === Start of file ftp_server.log 07:51:07.844157 ====> Client connect 07:51:07.844317 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[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/18/valgrind202 ../src/curl -q --trace-ascii log/18/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/18/test202.txt > log/18/stdout202 2> log/18/stderr202 CMD (33792): ../libtool --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/valgrind198 ../src/curl -q --output log/19/curl198.out --include --trace-ascii log/19/trace198 --trace-time http://127.0.0.1:34835/198 --retry 1000 > log/19/stdout198 2> log/19/stderr198 R][LF]" 07:51:07.844759 < "USER anonymous" 07:51:07.844809 > "331 We are happy you popped in![CR][LF]" 07:51:07.845005 < "PASS ftp@example.com" 07:51:07.845037 > "230 Welcome you silly person[CR][LF]" 07:51:07.845224 < "PWD" 07:51:07.845262 > "257 "/" is current directory[CR][LF]" 07:51:07.845442 < "EPSV" 07:51:07.845467 ====> Passive DATA channel requested by client 07:51:07.845481 DATA sockfilt for passive data channel starting... 07:51:07.847185 DATA sockfilt for passive data channel started (pid 86731) 07:51:07.847283 DATA sockfilt for passive data channel listens on port 42479 07:51:07.847321 > "229 Entering Passive Mode (|||42479|)[CR][LF]" 07:51:07.847335 Client has been notified that DATA conn will be accepted on port 42479 07:51:07.847536 Client connects to port 42479 07:51:07.847561 ====> Client established passive DATA connection on port 42479 07:51:07.847662 < "TYPE I" 07:51:07.847688 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:07.847815 < "SIZE verifiedserver" 07:51:07.847848 > "213 17[CR][LF]" 07:51:07.847994 < "RETR verifiedserver" 07:51:07.848025 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:07.848101 =====> Closing passive DATA connection... 07:51:07.848113 Server disconnects passive DATA connection 07:51:07.848217 Server disconnected passive DATA connection 07:51:07.848234 DATA sockfilt for passive data channel quits (pid 86731) 07:51:07.848454 DATA sockfilt for passive data channel quit (pid 86731) 07:51:07.848474 =====> Closed passive DATA connection 07:51:07.848499 > "226 File transfer complete[CR][LF]" 07:51:07.895146 < "QUIT" 07:51:07.895212 > "221 bye bye baby[CR][LF]" 07:51:07.895539 MAIN sockfilt said DISC 07:51:07.895594 ====> Client disconnected 07:51:07.895670 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:07.671994 ====> Client connect 07:51:07.672234 Received DATA (on stdin) 07:51:07.672258 > 160 bytes data, server => client 07:51:07.672271 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:07.672283 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:07.672292 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:07.672362 < 16 bytes data, client => server 07:51:07.672372 'USER anonymous\r\n' 07:51:07.672764 Received DATA (on stdin) 07:51:07.672779 > 33 bytes data, server => client 07:51:07.672791 '331 We are happy you popped in!\r\n' 07:51:07.672851 < 22 bytes data, client => server 07:51:07.672864 'PASS ftp@example.com\r\n' 07:51:07.672986 Received DATA (on stdin) 07:51:07.673000 > 30 bytes data, server => client 07:51:07.673011 '230 Welcome you silly person\r\n' 07:51:07.673091 < 5 bytes data, client => server 07:51:07.673104 'PWD\r\n' 07:51:07.673215 Received DATA (on stdin) 07:51:07.673228 > 30 bytes data, server => client 07:51:07.673240 '257 "/" is current directory\r\n' 07:51:07.673302 < 6 bytes data, client => server 07:51:07.673315 'EPSV\r\n' 07:51:07.675286 Received DATA (on stdin) 07:51:07.675300 > 39 bytes data, server => client 07:51:07.675309 '229 Entering Passive Mode (|||42479|)\r\n' 07:51:07.675519 < 8 bytes data, client => server 07:51:07.675530 'TYPE I\r\n' 07:51:07.675633 Received DATA (on stdin) 07:51:07.675642 > 33 bytes data, server => client 07:51:07.675650 '200 I modify TYPE as you wanted\r\n' 07:51:07.675694 < 21 bytes data, client => server 07:51:07.675703 'SIZE verifiedserver\r\n' 07:51:07.675791 Received DATA (on stdin) 07:51:07.675800 > 8 bytes data, server => client 07:51:07.675808 '213 17\r\n' 07:51:07.675866 < 21 bytes data, client => server 07:51:07.675876 'RETR verifiedserver\r\n' 07:51:07.675989 Received DATA (on stdin) 07:51:07.676017 > 29 bytes data, server => client 07:51:07.676030 '150 Binary junk (17 bytes).\r\n' 07:51:07.676446 Received DATA (on stdin) 07:51:07.676459 > 28 bytes data, server => client 07:51:07.676468 '226 File transfer complete\r\n' 07:51:07.722757 < 6 bytes data, client => server 07:51:07.722785 'QUIT\r\n' 07:51:07.723215 Received DATA (on stdin) 07:51:07.723243 > 18 bytes data, server => client 07:51:07.723257 '221 bye bye baby\r\n' 07:51:07.723424 ====> Client disconnect 07:51:07.723570 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:07.674848 Running IPv4 version 07:51:07.674909 Listening on port 42479 07:51:07.674943 Wrote pid 86731 to log/16/server/ftp_sockdata.pid 07:51:07.675080 Received PING (on stdin) 07:51:07.675154 Received PORT (on stdin) 07:51:07.675437 ====> Client connect 07:51:07.676061 Received DATA (on stdin) 07:51:07.676072 > 17 bytes data, server => client 07:51:07.676080 'WE ROOLZ: 80324\r\n' 07:51:07.676105 Received DISC (on stdin) 07:51:07.676114 ====> Client forcibly disconnected 07:51:07.676191 Received QUIT (on stdin) 07:51:07.676200 quits 07:51:07.676265 ============> 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 ==86751== ==86751== Process terminating with default action of signal 4 (SIGILL) ==86751== Illegal opcode at address 0x4013DC0 ==86751== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86751== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86751== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86751== by 0x40037A4: main (tool_main.c:199) === 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/15/valgrind201 ../src/curl -q --output log/15/curl201.out --include --trace-ascii log/15/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/15/non-existent-file.txt > log/15/stdout201 2> log/15/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/6/valgrind205 ../src/curl -q --output log/6/curl205.out --trace-ascii log/6/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/6/nonexisting/result205.txt -T log/6/upload205.txt > log/6/stdout205 2> log/6/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/23/valgrind200 ../src/curl -q --output log/23/curl200.out --trace-ascii log/23/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/test200.txt > log/23/stdout200 2> log/23/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/18/valgrind202 ../src/curl -q --trace-ascii log/18/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/18/test202.txt > log/18/stdout202 2> log/18/stderr202 202: stdout FAILED: --- log/18/check-expected 2025-11-07 07:51:09.007373459 +0000 +++ log/18/check-generated 2025-11-07 07:51:09.007373459 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/18/ dir 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/18/valgrind202 ../src/curl -q --trace-ascii log/18/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/18/test202.txt > log/18/stdout202 2> log/18/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 ==86928== ==86928== Process terminating with default action of signal 4 (SIGILL) ==86928== Illegal opcode at address 0x4013DC0 ==86928== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86928== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86928== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86928== by 0x40037A4: main (tool_main.c:199) === End of file valgrind202 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/6/valgrind205 ../src/curl -q --output log/6/curl205.out --trace-ascii log/6/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/6/nonexisting/result205.txt -T log/6/upload205.txt > log/6/stdout205 2> log/6/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/6/ dir 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/6/valgrind205 ../src/curl -q --output log/6/curl205.out --trace-ascii log/6/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/6/nonexisting/result205.txt -T log/6/upload205.txt > log/6/stdout205 2> log/6/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 ==86997== ==86997== Process terminating with default action of signal 4 (SIGILL) ==86997== Illegal opcode at address 0x4013DC0 ==86997== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86997== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86997== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86997== by 0x40037A4: main (tool_main.c:199) === End of file valgrind205 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/15/valgrind201 ../src/curl -q --output log/15/curl201.out --include --trace-ascii log/15/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/15/non-existent-file.txt > log/15/stdout201 2> log/15/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind201 ../src/curl -q --output log/15/curl201.out --include --trace-ascii log/15/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/15/non-existent-file.txt > log/15/stdout201 2> log/15/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==86930== ==86930== Process terminating with default action of signal 4 (SIGILL) ==86930== Illegal opcode at address 0x4013DC0 ==86930== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86930== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86930== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86930== by 0x40037A4: main (tool_main.c:199) === End of file valgrind201 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/19/valgrind198 ../src/curl -q --output log/19/curl198.out --include --trace-ascii log/19/trace198 --trace-time http://127.0.0.1:34835/198 --retry 1000 > log/19/stdout198 2> log/19/stderr198 198: 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/ dir 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/19/valgrind198 ../src/curl -q --output log/19/curl198.out --include --trace-ascii log/19/trace198 --trace-time http://127.0.0.1:34835/198 --retry 1000 > log/19/stdout198 2> log/19/stderr198 === End of file commands.log === Start of file http_server.log 07:51:07.794464 ====> Client connect 07:51:07.794497 accept_connection 3 returned 4 07:51:07.794515 accept_connection 3 returned 0 07:51:07.794531 Read 93 bytes 07:51:07.794543 Process 93 bytes request 07:51:07.794559 Got request: GET /verifiedserver HTTP/1.1 07:51:07.794570 Are-we-friendly question received 07:51:07.794596 Wrote request (93 bytes) input to log/19/server.input 07:51:07.794613 Identifying ourselves as friends 07:51:07.794668 Response sent (56 bytes) and written to log/19/server.response 07:51:07.794679 special request received, no persistency 07:51:07.794689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 52926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind198 ==86979== ==86979== Process terminating with default action of signal 4 (SIGILL) ==86979== Illegal opcode at address 0x4013DC0 ==86979== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86979== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86979== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86979== by 0x40037A4: main (tool_main.c:199) === 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/13/valgrind206 ../src/curl -q --output log/13/curl206.out --include --trace-ascii log/13/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:35041 --proxy-user=silly:person --proxy-digest --proxytunnel > log/13/stdout206 2> log/13/stderr206 CMD (33792): ../libtool --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:45761/207 > log/21/stdout207 2> log/21/stderr207 CMD (33792): ../libtool --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/valgrind208 ../src/curl -q --output log/5/curl208.out --include --trace-ascii log/5/trace208 --trace-time -x http://127.0.0.1:42797 ftp://daniel:mysecret@host.com/we/want/208 -T log/5/test208.txt > log/5/stdout208 2> log/5/stderr208 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/23/valgrind200 ../src/curl -q --output log/23/curl200.out --trace-ascii log/23/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/test200.txt > log/23/stdout200 2> log/23/stderr200 200: data FAILED: --- log/23/check-expected 2025-11-07 07:51:09.020706792 +0000 +++ log/23/check-generated 2025-11-07 07:51:09.020706792 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/23/ dir 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/23/valgrind200 ../src/curl -q --output log/23/curl200.out --trace-ascii log/23/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/test200.txt > log/23/stdout200 2> log/23/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 ==86924== ==86924== Process terminating with default action of signal 4 (SIGILL) ==86924== Illegal opcode at address 0x4013DC0 ==86924== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==86924== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86924== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==86924== by 0x40037A4: main (tool_main.c:199) === End of file valgrind200 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/13/valgrind206 ../src/curl -q --output log/13/curl206.out --include --trace-ascii log/13/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:35041 --proxy-user=silly:person --proxy-digest --proxytunnel > log/13/stdout206 2> log/13/stderr206 206: 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/ dir 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/13/valgrind206 ../src/curl -q --output log/13/curl206.out --include --trace-ascii log/13/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:35041 --proxy-user=silly:person --proxy-digest --proxytunnel > log/13/stdout206 2> log/13/stderr206 === End of file commands.log === Start of file http_server.log 07:51:07.878878 ====> Client connect 07:51:07.878913 accept_connection 3 returned 4 07:51:07.878930 accept_connection 3 returned 0 07:51:07.878945 Read 93 bytes 07:51:07.878956 Process 93 bytes request 07:51:07.878969 Got request: GET /verifiedserver HTTP/1.1 07:51:07.878980 Are-we-friendly question received 07:51:07.879007 Wrote request (93 bytes) input to log/13/server.input 07:51:07.879025 Identifying ourselves as friends 07:51:07.879222 Response sent (56 bytes) and written to log/13/server.response 07:51:07.879239 special request received, no persistency 07:51:07.879250 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 58164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind206 ==87340== ==87340== Process terminating with default action of signal 4 (SIGILL) ==87340== Illegal opcode at address 0x4013DC0 ==87340== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87340== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87340== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87340== by 0x40037A4: main (tool_main.c:199) === End of file valgrind206 test 0207...[HTTP GET with chunked Transfer-Encoding closed prematurely] ../libtool --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:45761/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/ dir 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:45761/207 > log/21/stdout207 2> log/21/stderr207 === End of file commands.log === Start of file http_server.log 07:51:08.129255 ====> Client connect 07:51:08.129303 accept_connection 3 returned 4 07:51:08.129323 accept_connection 3 returned 0 07:51:08.134356 Read 93 bytes 07:51:08.134390 Process 93 bytes request 07:51:08.134407 Got request: GET /verifiedserver HTTP/1.1 07:51:08.134419 Are-we-friendly question received 07:51:08.134466 Wrote request (93 bytes) input to log/21/server.input 07:51:08.134488 Identifying ourselves as friends 07:51:08.134561 Response sent (56 bytes) and written to log/21/server.response 07:51:08.134573 special request received, no persistency 07:51:08.134584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 59928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind207 ==87472== ==87472== Process terminating with default action of signal 4 (SIGILL) ==87472== Illegal opcode at address 0x4013DC0 ==87472== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87472== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87472== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87472== by 0x40037A4: main (tool_main.c:199) === 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/5/valgrind208 ../src/curl -q --output log/5/curl208.out --include --trace-ascii log/5/trace208 --trace-time -x http://127.0.0.1:42797CMD (33792): ../libtool --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/valgrind209 ../src/curl -q --output log/20/curl209.out --include --trace-ascii log/20/trace209 --trace-time http://test.remote.example.com.209:40357/path/2090002 --proxy http://127.0.0.1:40357 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/20/stdout209 2> log/20/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/17/valgrind210 ../src/curl -q --output log/17/curl210.out --trace-ascii log/17/trace210 --trace-time ftp://127.0.0.1:44771/a/path/210 ftp://127.0.0.1:44771/a/path/210 > log/17/stdout210 2> log/17/stderr210 ftp://daniel:mysecret@host.com/we/want/208 -T log/5/test208.txt > log/5/stdout208 2> log/5/stderr208 208: 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/ dir 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/5/valgrind208 ../src/curl -q --output log/5/curl208.out --include --trace-ascii log/5/trace208 --trace-time -x http://127.0.0.1:42797 ftp://daniel:mysecret@host.com/we/want/208 -T log/5/test208.txt > log/5/stdout208 2> log/5/stderr208 === End of file commands.log === Start of file http_server.log 07:51:08.129400 ====> Client connect 07:51:08.129593 accept_connection 3 returned 4 07:51:08.129612 accept_connection 3 returned 0 07:51:08.129627 Read 93 bytes 07:51:08.129637 Process 93 bytes request 07:51:08.129650 Got request: GET /verifiedserver HTTP/1.1 07:51:08.129659 Are-we-friendly question received 07:51:08.129694 Wrote request (93 bytes) input to log/5/server.input 07:51:08.129710 Identifying ourselves as friends 07:51:08.129929 Response sent (56 bytes) and written to log/5/server.response 07:51:08.129941 special request received, no persistency 07:51:08.129950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === 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 ==87443== ==87443== Process terminating with default action of signal 4 (SIGILL) ==87443== Illegal opcode at address 0x4013DC0 ==87443== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87443== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87443== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87443== by 0x40037A4: main (tool_main.c:199) === End of file valgrind208 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/20/valgrind209 ../src/curl -q --output log/20/curl209.out --include --trace-ascii log/20/trace209 --trace-time http://test.remote.example.com.209:40357/path/2090002 --proxy http://127.0.0.1:40357 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/20/stdout209 2> log/20/stderr209 209: 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/ dir 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/20/valgrind209 ../src/curl -q --output log/20/curl209.out --include --trace-ascii log/20/trace209 --trace-time http://test.remote.example.com.209:40357/path/2090002 --proxy http://127.0.0.1:40357 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/20/stdout209 2> log/20/stderr209 === End of file commands.log === Start of file http_server.log 07:51:08.173163 ====> Client connect 07:51:08.173196 accept_connection 3 returned 4 07:51:08.173215 accept_connection 3 returned 0 07:51:08.173231 Read 93 bytes 07:51:08.173243 Process 93 bytes request 07:51:08.173257 Got request: GET /verifiedserver HTTP/1.1 07:51:08.173268 Are-we-friendly question received 07:51:08.173294 Wrote request (93 bytes) input to log/20/server.input 07:51:08.173313 Identifying ourselves as friends 07:51:08.173371 Response sent (56 bytes) and written to log/20/server.response 07:51:08.173384 special request received, no persistency 07:51:08.173395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind209 ==87560== ==87560== Process terminating with default action of signal 4 (SIGILL) ==87560== Illegal opcode at address 0x4013DC0 ==87560== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87560== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87560== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87560== by 0x40037A4: main (tool_main.c:199) === End of file valgrind209 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/17/valgrind210 ../src/curl -q --output log/17/curl210.out --trace-ascii log/17/trace210 --trace-time ftp://127.0.0.1:44771/a/path/210 ftp://127.0.0.1:44771/a/path/210 > log/17/stdout210 2> log/17/stderr210 210: 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/ dir 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/17/valgrind210 ../src/curl -q --output log/17/curl210.out --trace-ascii log/17/trace210 --trace-time ftp://127.0.0.1:44771/a/path/210 ftp://127.0.0.1:44771/a/path/210 > log/17/stdout210 2> log/17/stderr210 === End of file commands.log === Start of file ftp_server.log 07:51:08.340466 ====> Client connect 07:51:08.340636 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:08.340979 < "USER anonymous" 07:51:08.341023 > "331 We are happy you popped in![CR][LF]" 07:51:08.341216 < "PASS ftp@example.com" 07:51:08.341260 > "230 Welcome you silly person[CR][LF]" 07:51:08.341441 < "PWD" 07:51:08.341476 > "257 "/" is current directory[CR][LF]" 07:51:08.341661 < "EPSV" 07:51:08.341686 ====> Passive DATA channel requested by client 07:51:08.341702 DATA sockfilt for passive data channel starting... 07:51:08.344151 DATA sockfilt for passive data channel started (pid 87508) 07:51:08.344282 DATA sockfilt for passive data channel listens on port 33943 07:51:08.344326 > "229 Entering Passive Mode (|||33943|)[CR][LF]" 07:51:08.344348 Client has been notified that DATA conn will be accepted on port 33943 07:51:08.344649 Client connects to port 33943 07:51:08.344685 ====> Client established passive DATA connection on port 33943 07:51:08.344785 < "TYPE I" 07:51:08.344818 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:08.344987 < "SIZE verifiCMD (33792): ../libtool --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/valgrind213 ../src/curl -q --output log/14/curl213.out --include --trace-ascii log/14/trace213 --trace-time http://test.remote.example.com.213:34115/path/2130002 --proxy1.0 http://127.0.0.1:34115 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/14/stdout213 2> log/14/stderr213 CMD (33792): ../libtool --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/valgrind211 ../src/curl -q --output log/1/curl211.out --include --trace-ascii log/1/trace211 --trace-time ftp://127.0.0.1:42965/a/path/211 ftp://127.0.0.1:42965/a/path/211 > log/1/stdout211 2> log/1/stderr211 edserver" 07:51:08.345026 > "213 17[CR][LF]" 07:51:08.345178 < "RETR verifiedserver" 07:51:08.345213 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:08.345300 =====> Closing passive DATA connection... 07:51:08.345316 Server disconnects passive DATA connection 07:51:08.345559 Server disconnected passive DATA connection 07:51:08.345584 DATA sockfilt for passive data channel quits (pid 87508) 07:51:08.345790 DATA sockfilt for passive data channel quit (pid 87508) 07:51:08.345813 =====> Closed passive DATA connection 07:51:08.345842 > "226 File transfer complete[CR][LF]" 07:51:08.391678 < "QUIT" 07:51:08.391743 > "221 bye bye baby[CR][LF]" 07:51:08.392899 MAIN sockfilt said DISC 07:51:08.392946 ====> Client disconnected 07:51:08.393035 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.168287 ====> Client connect 07:51:08.168604 Received DATA (on stdin) 07:51:08.168623 > 160 bytes data, server => client 07:51:08.168637 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.168649 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.168661 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.168762 < 16 bytes data, client => server 07:51:08.168780 'USER anonymous\r\n' 07:51:08.168978 Received DATA (on stdin) 07:51:08.168993 > 33 bytes data, server => client 07:51:08.169005 '331 We are happy you popped in!\r\n' 07:51:08.169061 < 22 bytes data, client => server 07:51:08.169076 'PASS ftp@example.com\r\n' 07:51:08.169211 Received DATA (on stdin) 07:51:08.169225 > 30 bytes data, server => client 07:51:08.169237 '230 Welcome you silly person\r\n' 07:51:08.169291 < 5 bytes data, client => server 07:51:08.169306 'PWD\r\n' 07:51:08.169427 Received DATA (on stdin) 07:51:08.169440 > 30 bytes data, server => client 07:51:08.169453 '257 "/" is current directory\r\n' 07:51:08.169515 < 6 bytes data, client => server 07:51:08.169530 'EPSV\r\n' 07:51:08.172305 Received DATA (on stdin) 07:51:08.172324 > 39 bytes data, server => client 07:51:08.172337 '229 Entering Passive Mode (|||33943|)\r\n' 07:51:08.172500 < 8 bytes data, client => server 07:51:08.172524 'TYPE I\r\n' 07:51:08.172769 Received DATA (on stdin) 07:51:08.172782 > 33 bytes data, server => client 07:51:08.172795 '200 I modify TYPE as you wanted\r\n' 07:51:08.172849 < 21 bytes data, client => server 07:51:08.172862 'SIZE verifiedserver\r\n' 07:51:08.172974 Received DATA (on stdin) 07:51:08.172987 > 8 bytes data, server => client 07:51:08.172998 '213 17\r\n' 07:51:08.173044 < 21 bytes data, client => server 07:51:08.173056 'RETR verifiedserver\r\n' 07:51:08.173266 Received DATA (on stdin) 07:51:08.173279 > 29 bytes data, server => client 07:51:08.173291 '150 Binary junk (17 bytes).\r\n' 07:51:08.173793 Received DATA (on stdin) 07:51:08.173807 > 28 bytes data, server => client 07:51:08.173819 '226 File transfer complete\r\n' 07:51:08.219354 < 6 bytes data, client => server 07:51:08.219402 'QUIT\r\n' 07:51:08.219710 Received DATA (on stdin) 07:51:08.219731 > 18 bytes data, server => client 07:51:08.219745 '221 bye bye baby\r\n' 07:51:08.220768 ====> Client disconnect 07:51:08.220992 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:08.171750 Running IPv4 version 07:51:08.171821 Listening on port 33943 07:51:08.171858 Wrote pid 87508 to log/17/server/ftp_sockdata.pid 07:51:08.172037 Received PING (on stdin) 07:51:08.172133 Received PORT (on stdin) 07:51:08.172546 ====> Client connect 07:51:08.173316 Received DATA (on stdin) 07:51:08.173331 > 17 bytes data, server => client 07:51:08.173343 'WE ROOLZ: 80557\r\n' 07:51:08.173368 Received DISC (on stdin) 07:51:08.173381 ====> Client forcibly disconnected 07:51:08.173541 Received QUIT (on stdin) 07:51:08.173553 quits 07:51:08.173606 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==87598== ==87598== Process terminating with default action of signal 4 (SIGILL) ==87598== Illegal opcode at address 0x4013DC0 ==87598== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87598== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87598== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87598== by 0x40037A4: main (tool_main.c:199) === End of file valgrind210 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/14/valgrind213 ../src/curl -q --output log/14/curl213.out --include --trace-ascii log/14/trace213 --trace-time http://test.remote.example.com.213:34115/path/2130002 --proxy1.0 http://127.0.0.1:34115 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/14/stdout213 2> log/14/stderr213 213: 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/ dir 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/14/valgrind213 ../src/curl -q --output log/14/curl213.out --include --trace-ascii log/14/trace213 --trace-time http://test.remote.example.com.213:34115/path/2130002 --proxy1.0 http://127.0.0.1:34115 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/14/stdout213 2> log/14/stderr213 === End of file commands.log === Start of file http_server.log 07:51:08.414071 ====> Client connect 07:51:08.414109 accept_connection 3 returned 4 07:51:08.414126 accept_connection 3 returned 0 07:51:08.414141 Read 93 bytes 07:51:08.414152 Process 93 bytes request 07:51:08.414166 Got request: GET /verifiedserver HTTP/1.1 07:51:08.414176 Are-we-friendly question received 07:51:08.414202 Wrote request (93 bytes) input to log/14/server.input 07:51:08.414219 Identifying ourselves as friends 07:51:08.414274 Response sent (56 bytes) and written to log/14/server.response 07:51:08.414285 special request received, no persistency 07:51:08.414295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 56516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind213 ==87802== ==87802== Process terminating with default action of signal 4 (SIGILL) ==87802== Illegal opcode at address 0x4013DC0 ==87802== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87802== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87802== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87802== by 0x40037A4: main (tool_main.c:199) === End of file valgrind213 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/1/valgrind211 ../src/curl -q --output log/1/curl211.out --include --trace-ascii log/1/trace211 --trace-time ftp://127.0.0.1:42965/a/path/211 ftp://127.0.0.1:42965/a/path/211 > log/1/stdout211 2> log/1/stderr211 211: 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 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/10/valgrind214 ../src/curl -q --output log/10/curl214.out --include --trace-ascii log/10/trace214 --trace-time "http://127.0.0.1:34041/\{\}\/214" > log/10/stdout214 2> log/10/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/12/valgrind216 ../src/curl -q --output log/12/curl216.out --include --trace-ascii log/12/trace216 --trace-time -T log/12/upload.216 ftp://127.0.0.1:46141/a/path/216/ -T log/12/upload.216 ftp://127.0.0.1:46141/a/path/216/%2e%2eanotherup.216 > log/12/stdout216 2> log/12/stderr216 n the log/1/ dir 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/1/valgrind211 ../src/curl -q --output log/1/curl211.out --include --trace-ascii log/1/trace211 --trace-time ftp://127.0.0.1:42965/a/path/211 ftp://127.0.0.1:42965/a/path/211 > log/1/stdout211 2> log/1/stderr211 === End of file commands.log === Start of file ftp_server.log 07:51:08.568763 ====> Client connect 07:51:08.568992 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:08.569398 < "USER anonymous" 07:51:08.569451 > "331 We are happy you popped in![CR][LF]" 07:51:08.569695 < "PASS ftp@example.com" 07:51:08.569736 > "230 Welcome you silly person[CR][LF]" 07:51:08.569904 < "PWD" 07:51:08.569937 > "257 "/" is current directory[CR][LF]" 07:51:08.570101 < "EPSV" 07:51:08.570132 ====> Passive DATA channel requested by client 07:51:08.570147 DATA sockfilt for passive data channel starting... 07:51:08.572330 DATA sockfilt for passive data channel started (pid 87725) 07:51:08.572461 DATA sockfilt for passive data channel listens on port 40717 07:51:08.572568 > "229 Entering Passive Mode (|||40717|)[CR][LF]" 07:51:08.572594 Client has been notified that DATA conn will be accepted on port 40717 07:51:08.572887 Client connects to port 40717 07:51:08.572923 ====> Client established passive DATA connection on port 40717 07:51:08.573060 < "TYPE I" 07:51:08.573093 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:08.573287 < "SIZE verifiedserver" 07:51:08.573361 > "213 17[CR][LF]" 07:51:08.573490 < "RETR verifiedserver" 07:51:08.573525 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:08.573615 =====> Closing passive DATA connection... 07:51:08.573630 Server disconnects passive DATA connection 07:51:08.574002 Server disconnected passive DATA connection 07:51:08.574029 DATA sockfilt for passive data channel quits (pid 87725) 07:51:08.574299 DATA sockfilt for passive data channel quit (pid 87725) 07:51:08.574322 =====> Closed passive DATA connection 07:51:08.574353 > "226 File transfer complete[CR][LF]" 07:51:08.615125 < "QUIT" 07:51:08.615183 > "221 bye bye baby[CR][LF]" 07:51:08.616198 MAIN sockfilt said DISC 07:51:08.616253 ====> Client disconnected 07:51:08.616341 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.396596 ====> Client connect 07:51:08.396968 Received DATA (on stdin) 07:51:08.397000 > 160 bytes data, server => client 07:51:08.397014 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.397026 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.397036 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.397139 < 16 bytes data, client => server 07:51:08.397156 'USER anonymous\r\n' 07:51:08.397407 Received DATA (on stdin) 07:51:08.397422 > 33 bytes data, server => client 07:51:08.397434 '331 We are happy you popped in!\r\n' 07:51:08.397490 < 22 bytes data, client => server 07:51:08.397502 'PASS ftp@example.com\r\n' 07:51:08.397684 Received DATA (on stdin) 07:51:08.397698 > 30 bytes data, server => client 07:51:08.397709 '230 Welcome you silly person\r\n' 07:51:08.397760 < 5 bytes data, client => server 07:51:08.397772 'PWD\r\n' 07:51:08.397884 Received DATA (on stdin) 07:51:08.397896 > 30 bytes data, server => client 07:51:08.397907 '257 "/" is current directory\r\n' 07:51:08.397964 < 6 bytes data, client => server 07:51:08.397975 'EPSV\r\n' 07:51:08.400561 Received DATA (on stdin) 07:51:08.400594 > 39 bytes data, server => client 07:51:08.400607 '229 Entering Passive Mode (|||40717|)\r\n' 07:51:08.400770 < 8 bytes data, client => server 07:51:08.400784 'TYPE I\r\n' 07:51:08.401042 Received DATA (on stdin) 07:51:08.401055 > 33 bytes data, server => client 07:51:08.401067 '200 I modify TYPE as you wanted\r\n' 07:51:08.401132 < 21 bytes data, client => server 07:51:08.401144 'SIZE verifiedserver\r\n' 07:51:08.401256 Received DATA (on stdin) 07:51:08.401269 > 8 bytes data, server => client 07:51:08.401308 '213 17\r\n' 07:51:08.401357 < 21 bytes data, client => server 07:51:08.401368 'RETR verifiedserver\r\n' 07:51:08.401581 Received DATA (on stdin) 07:51:08.401593 > 29 bytes data, server => client 07:51:08.401604 '150 Binary junk (17 bytes).\r\n' 07:51:08.402304 Received DATA (on stdin) 07:51:08.402318 > 28 bytes data, server => client 07:51:08.402329 '226 File transfer complete\r\n' 07:51:08.442847 < 6 bytes data, client => server 07:51:08.442884 'QUIT\r\n' 07:51:08.443140 Received DATA (on stdin) 07:51:08.443155 > 18 bytes data, server => client 07:51:08.443166 '221 bye bye baby\r\n' 07:51:08.444068 ====> Client disconnect 07:51:08.444293 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:08.400076 Running IPv4 version 07:51:08.400150 Listening on port 40717 07:51:08.400186 Wrote pid 87725 to log/1/server/ftp_sockdata.pid 07:51:08.400205 Received PING (on stdin) 07:51:08.400313 Received PORT (on stdin) 07:51:08.400742 ====> Client connect 07:51:08.401631 Received DATA (on stdin) 07:51:08.401645 > 17 bytes data, server => client 07:51:08.401655 'WE ROOLZ: 83307\r\n' 07:51:08.401791 Received DISC (on stdin) 07:51:08.401803 ====> Client forcibly disconnected 07:51:08.401992 Received QUIT (on stdin) 07:51:08.402004 quits 07:51:08.402065 ============> 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 ==87847== ==87847== Process terminating with default action of signal 4 (SIGILL) ==87847== Illegal opcode at address 0x4013DC0 ==87847== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87847== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87847== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87847== by 0x40037A4: main (tool_main.c:199) === End of file valgrind211 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/10/valgrind214 ../src/curl -q --output log/10/curl214.out --include --trace-ascii log/10/trace214 --trace-time "http://127.0.0.1:34041/\{\}\/214" > log/10/stdout214 2> log/10/stderr214 214: 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/ dir 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/10/valgrind214 ../src/curl -q --output log/10/curl214.out --include --trace-ascii log/10/trace214 --trace-time "http://127.0.0.1:34041/\{\}\/214" > log/10/stdout214 2> log/10/stderr214 === End of file commands.log === Start of file http_server.log 07:51:08.415792 ====> Client connect 07:51:08.415823 accept_connection 3 returned 4 07:51:08.415839 accept_connection 3 returned 0 07:51:08.415870 Read 93 bytes 07:51:08.415880 Process 93 bytes request 07:51:08.415892 Got request: GET /verifiedserver HTTP/1.1 07:51:08.415901 Are-we-friendly question received 07:51:08.415928 Wrote request (93 bytes) input to log/10/server.input 07:51:08.415946 Identifying ourselves as friends 07:51:08.415997 Response sent (56 bytes) and written to log/10/server.response 07:51:08.416007 special request received, no persistency 07:51:08.416016 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 41598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > HostCMD (33792): ../libtool --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/valgrind212 ../src/curl -q --output log/11/curl212.out --include --trace-ascii log/11/trace212 --trace-time ftp://127.0.0.1:46223/a/path/212 ftp://127.0.0.1:46223/a/path/212 -P - > log/11/stdout212 2> log/11/stderr212 : 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind214 ==87794== ==87794== Process terminating with default action of signal 4 (SIGILL) ==87794== Illegal opcode at address 0x4013DC0 ==87794== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87794== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87794== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87794== by 0x40037A4: main (tool_main.c:199) === End of file valgrind214 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/12/valgrind216 ../src/curl -q --output log/12/curl216.out --include --trace-ascii log/12/trace216 --trace-time -T log/12/upload.216 ftp://127.0.0.1:46141/a/path/216/ -T log/12/upload.216 ftp://127.0.0.1:46141/a/path/216/%2e%2eanotherup.216 > log/12/stdout216 2> log/12/stderr216 216: 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/ dir 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/12/valgrind216 ../src/curl -q --output log/12/curl216.out --include --trace-ascii log/12/trace216 --trace-time -T log/12/upload.216 ftp://127.0.0.1:46141/a/path/216/ -T log/12/upload.216 ftp://127.0.0.1:46141/a/path/216/%2e%2eanotherup.216 > log/12/stdout216 2> log/12/stderr216 === End of file commands.log === Start of file ftp_server.log 07:51:08.602990 ====> Client connect 07:51:08.603109 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:08.603402 < "USER anonymous" 07:51:08.603442 > "331 We are happy you popped in![CR][LF]" 07:51:08.603602 < "PASS ftp@example.com" 07:51:08.603629 > "230 Welcome you silly person[CR][LF]" 07:51:08.603791 < "PWD" 07:51:08.603829 > "257 "/" is current directory[CR][LF]" 07:51:08.604012 < "EPSV" 07:51:08.604041 ====> Passive DATA channel requested by client 07:51:08.604056 DATA sockfilt for passive data channel starting... 07:51:08.605909 DATA sockfilt for passive data channel started (pid 87804) 07:51:08.606031 DATA sockfilt for passive data channel listens on port 37939 07:51:08.606076 > "229 Entering Passive Mode (|||37939|)[CR][LF]" 07:51:08.606093 Client has been notified that DATA conn will be accepted on port 37939 07:51:08.606327 Client connects to port 37939 07:51:08.606352 ====> Client established passive DATA connection on port 37939 07:51:08.606418 < "TYPE I" 07:51:08.606444 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:08.606576 < "SIZE verifiedserver" 07:51:08.606607 > "213 17[CR][LF]" 07:51:08.606728 < "RETR verifiedserver" 07:51:08.606757 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:08.606822 =====> Closing passive DATA connection... 07:51:08.606834 Server disconnects passive DATA connection 07:51:08.607052 Server disconnected passive DATA connection 07:51:08.607081 DATA sockfilt for passive data channel quits (pid 87804) 07:51:08.607271 DATA sockfilt for passive data channel quit (pid 87804) 07:51:08.607292 =====> Closed passive DATA connection 07:51:08.607315 > "226 File transfer complete[CR][LF]" 07:51:08.653377 < "QUIT" 07:51:08.653431 > "221 bye bye baby[CR][LF]" 07:51:08.654133 MAIN sockfilt said DISC 07:51:08.654177 ====> Client disconnected 07:51:08.654256 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.430846 ====> Client connect 07:51:08.431066 Received DATA (on stdin) 07:51:08.431079 > 160 bytes data, server => client 07:51:08.431089 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.431101 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.431115 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.431192 < 16 bytes data, client => server 07:51:08.431209 'USER anonymous\r\n' 07:51:08.431389 Received DATA (on stdin) 07:51:08.431401 > 33 bytes data, server => client 07:51:08.431411 '331 We are happy you popped in!\r\n' 07:51:08.431457 < 22 bytes data, client => server 07:51:08.431467 'PASS ftp@example.com\r\n' 07:51:08.431573 Received DATA (on stdin) 07:51:08.431583 > 30 bytes data, server => client 07:51:08.431592 '230 Welcome you silly person\r\n' 07:51:08.431640 < 5 bytes data, client => server 07:51:08.431658 'PWD\r\n' 07:51:08.431778 Received DATA (on stdin) 07:51:08.431791 > 30 bytes data, server => client 07:51:08.431804 '257 "/" is current directory\r\n' 07:51:08.431865 < 6 bytes data, client => server 07:51:08.431879 'EPSV\r\n' 07:51:08.434047 Received DATA (on stdin) 07:51:08.434063 > 39 bytes data, server => client 07:51:08.434075 '229 Entering Passive Mode (|||37939|)\r\n' 07:51:08.434190 < 8 bytes data, client => server 07:51:08.434207 'TYPE I\r\n' 07:51:08.434388 Received DATA (on stdin) 07:51:08.434400 > 33 bytes data, server => client 07:51:08.434409 '200 I modify TYPE as you wanted\r\n' 07:51:08.434453 < 21 bytes data, client => server 07:51:08.434463 'SIZE verifiedserver\r\n' 07:51:08.434551 Received DATA (on stdin) 07:51:08.434561 > 8 bytes data, server => client 07:51:08.434570 '213 17\r\n' 07:51:08.434608 < 21 bytes data, client => server 07:51:08.434617 'RETR verifiedserver\r\n' 07:51:08.434781 Received DATA (on stdin) 07:51:08.434791 > 29 bytes data, server => client 07:51:08.434801 '150 Binary junk (17 bytes).\r\n' 07:51:08.435260 Received DATA (on stdin) 07:51:08.435272 > 28 bytes data, server => client 07:51:08.435282 '226 File transfer complete\r\n' 07:51:08.481140 < 6 bytes data, client => server 07:51:08.481170 'QUIT\r\n' 07:51:08.481383 Received DATA (on stdin) 07:51:08.481397 > 18 bytes data, server => client 07:51:08.481409 '221 bye bye baby\r\n' 07:51:08.482017 ====> Client disconnect 07:51:08.482205 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:08.433699 Running IPv4 version 07:51:08.433749 Listening on port 37939 07:51:08.433779 Wrote pid 87804 to log/12/server/ftp_sockdata.pid 07:51:08.433798 Received PING (on stdin) 07:51:08.433886 Received PORT (on stdin) 07:51:08.434229 ====> Client connect 07:51:08.434822 Received DATA (on stdin) 07:51:08.434833 > 17 bytes data, server => client 07:51:08.434842 'WE ROOLZ: 80617\r\n' 07:51:08.434862 Received DISC (on stdin) 07:51:08.434871 ====> Client forcibly disconnected 07:51:08.435040 Received QUIT (on stdin) 07:51:08.435053 quits 07:51:08.435108 ============> 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 ==87968== ==87968== Process terminating with default action of signal 4 (SIGILL) ==87968== Illegal opcode at address 0x4013DC0 ==87968== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87968== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87968== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87968== by 0x40037A4: main (tool_main.c:199) === End of file valgrind216 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-caCMD (33792): ../libtool --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/valgrind217 ../src/curl -q --include --trace-ascii log/2/trace217 --trace-time http://test.remote.example.com.217:43955/path/2170002 --proxy http://127.0.0.1:43955 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/2/stdout217 2> log/2/stderr217 llers=16 --log-file=log/11/valgrind212 ../src/curl -q --output log/11/curl212.out --include --trace-ascii log/11/trace212 --trace-time ftp://127.0.0.1:46223/a/path/212 ftp://127.0.0.1:46223/a/path/212 -P - > log/11/stdout212 2> log/11/stderr212 212: 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/ dir 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/11/valgrind212 ../src/curl -q --output log/11/curl212.out --include --trace-ascii log/11/trace212 --trace-time ftp://127.0.0.1:46223/a/path/212 ftp://127.0.0.1:46223/a/path/212 -P - > log/11/stdout212 2> log/11/stderr212 === End of file commands.log === Start of file ftp_server.log 07:51:08.579133 ====> Client connect 07:51:08.579305 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:08.579649 < "USER anonymous" 07:51:08.579700 > "331 We are happy you popped in![CR][LF]" 07:51:08.579916 < "PASS ftp@example.com" 07:51:08.579947 > "230 Welcome you silly person[CR][LF]" 07:51:08.580192 < "PWD" 07:51:08.580255 > "257 "/" is current directory[CR][LF]" 07:51:08.580524 < "EPSV" 07:51:08.580561 ====> Passive DATA channel requested by client 07:51:08.580576 DATA sockfilt for passive data channel starting... 07:51:08.582479 DATA sockfilt for passive data channel started (pid 87759) 07:51:08.582603 DATA sockfilt for passive data channel listens on port 35333 07:51:08.582651 > "229 Entering Passive Mode (|||35333|)[CR][LF]" 07:51:08.582669 Client has been notified that DATA conn will be accepted on port 35333 07:51:08.583104 Client connects to port 35333 07:51:08.583147 ====> Client established passive DATA connection on port 35333 07:51:08.583308 < "TYPE I" 07:51:08.583348 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:08.583545 < "SIZE verifiedserver" 07:51:08.583589 > "213 17[CR][LF]" 07:51:08.583780 < "RETR verifiedserver" 07:51:08.583826 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:08.583928 =====> Closing passive DATA connection... 07:51:08.583945 Server disconnects passive DATA connection 07:51:08.584229 Server disconnected passive DATA connection 07:51:08.584256 DATA sockfilt for passive data channel quits (pid 87759) 07:51:08.584501 DATA sockfilt for passive data channel quit (pid 87759) 07:51:08.584527 =====> Closed passive DATA connection 07:51:08.584559 > "226 File transfer complete[CR][LF]" 07:51:08.625335 < "QUIT" 07:51:08.625400 > "221 bye bye baby[CR][LF]" 07:51:08.626353 MAIN sockfilt said DISC 07:51:08.626403 ====> Client disconnected 07:51:08.626497 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.406978 ====> Client connect 07:51:08.407266 Received DATA (on stdin) 07:51:08.407282 > 160 bytes data, server => client 07:51:08.407295 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.407307 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.407317 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.407402 < 16 bytes data, client => server 07:51:08.407415 'USER anonymous\r\n' 07:51:08.407655 Received DATA (on stdin) 07:51:08.407669 > 33 bytes data, server => client 07:51:08.407681 '331 We are happy you popped in!\r\n' 07:51:08.407743 < 22 bytes data, client => server 07:51:08.407757 'PASS ftp@example.com\r\n' 07:51:08.407896 Received DATA (on stdin) 07:51:08.407909 > 30 bytes data, server => client 07:51:08.407920 '230 Welcome you silly person\r\n' 07:51:08.407969 < 5 bytes data, client => server 07:51:08.407981 'PWD\r\n' 07:51:08.408215 Received DATA (on stdin) 07:51:08.408236 > 30 bytes data, server => client 07:51:08.408249 '257 "/" is current directory\r\n' 07:51:08.408357 < 6 bytes data, client => server 07:51:08.408372 'EPSV\r\n' 07:51:08.410635 Received DATA (on stdin) 07:51:08.410652 > 39 bytes data, server => client 07:51:08.410665 '229 Entering Passive Mode (|||35333|)\r\n' 07:51:08.411135 < 8 bytes data, client => server 07:51:08.411153 'TYPE I\r\n' 07:51:08.411298 Received DATA (on stdin) 07:51:08.411312 > 33 bytes data, server => client 07:51:08.411325 '200 I modify TYPE as you wanted\r\n' 07:51:08.411396 < 21 bytes data, client => server 07:51:08.411410 'SIZE verifiedserver\r\n' 07:51:08.411543 Received DATA (on stdin) 07:51:08.411556 > 8 bytes data, server => client 07:51:08.411568 '213 17\r\n' 07:51:08.411636 < 21 bytes data, client => server 07:51:08.411649 'RETR verifiedserver\r\n' 07:51:08.411899 Received DATA (on stdin) 07:51:08.411914 > 29 bytes data, server => client 07:51:08.411926 '150 Binary junk (17 bytes).\r\n' 07:51:08.412519 Received DATA (on stdin) 07:51:08.412534 > 28 bytes data, server => client 07:51:08.412546 '226 File transfer complete\r\n' 07:51:08.453120 < 6 bytes data, client => server 07:51:08.453149 'QUIT\r\n' 07:51:08.453361 Received DATA (on stdin) 07:51:08.453382 > 18 bytes data, server => client 07:51:08.453392 '221 bye bye baby\r\n' 07:51:08.454037 ====> Client disconnect 07:51:08.454458 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:08.410151 Running IPv4 version 07:51:08.410223 Listening on port 35333 07:51:08.410265 Wrote pid 87759 to log/11/server/ftp_sockdata.pid 07:51:08.410357 Received PING (on stdin) 07:51:08.410457 Received PORT (on stdin) 07:51:08.410984 ====> Client connect 07:51:08.411960 Received DATA (on stdin) 07:51:08.411979 > 17 bytes data, server => client 07:51:08.411991 'WE ROOLZ: 83264\r\n' 07:51:08.412019 Received DISC (on stdin) 07:51:08.412032 ====> Client forcibly disconnected 07:51:08.412215 Received QUIT (on stdin) 07:51:08.412228 quits 07:51:08.412297 ============> 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 ==87891== ==87891== Process terminating with default action of signal 4 (SIGILL) ==87891== Illegal opcode at address 0x4013DC0 ==87891== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87891== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87891== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87891== by 0x40037A4: main (tool_main.c:199) === End of file valgrind212 CMD (33792): ../libtool --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/valgrind215 ../src/curl -q --output log/24/curl215.out --include --trace-ascii log/24/trace215 --trace-time ftp://127.0.0.1:36707/a/path/215/ ftp://127.0.0.1:36707/a/path/215/ > log/24/stdout215 2> log/24/stderr215 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/2/valgrind217 ../src/curl -q --include --trace-ascii log/2/trace217 --trace-time http://test.remote.example.com.217:43955/path/2170002 --proxy http://127.0.0.1:43955 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/2/stdout217 2> log/2/stderr217 217: stdout FAILED: --- log/2/check-expected 2025-11-07 07:51:09.687373465 +0000 +++ log/2/check-generated 2025-11-07 07:51:09.687373465 +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/2/ dir 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/2/valgrind217 ../src/curl -q --include --trace-ascii log/2/trace217 --trace-time http://test.remote.example.com.217:43955/path/2170002 --proxy http://127.0.0.1:43955 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/2/stdout217 2> log/2/stderr217 === End of file commands.log === Start of file http_server.log 07:51:09.499723 ====> Client connect 07:51:09.499757 accept_connection 3 returned 4 07:51:09.499774 accept_connection 3 returned 0 07:51:09.499791 Read 93 bytes 07:51:09.499803 Process 93 bytes request 07:51:09.499817 Got request: GET /verifiedserver HTTP/1.1 07:51:09.499828 Are-we-friendly question received 07:51:09.499851 Wrote request (93 bytes) input to log/2/server.input 07:51:09.499870 Identifying ourselves as friends 07:51:09.499922 Response sent (56 bytes) and written to log/2/server.response 07:51:09.499932 special request received, no persistency 07:51:09.499942 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58824 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind217 ==88039== ==88039== Process terminating with default action of signal 4 (SIGILL) ==88039== Illegal opcode at address 0x4013DC0 ==88039== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88039== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88039== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88039== by 0x40037A4: main (tool_main.c:199) === End of file valgrind217 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/24/valgrind215 ../src/curl -q --output log/24/curl215.out --include --trace-ascii log/24/trace215 --trace-time ftp://127.0.0.1:36707/a/path/215/ ftp://127.0.0.1:36707/a/path/215/ > log/24/stdout215 2> log/24/stderr215 215: 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/ dir 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/24/valgrind215 ../src/curl -q --output log/24/curl215.out --include --trace-ascii log/24/trace215 --trace-time ftp://127.0.0.1:36707/a/path/215/ ftp://127.0.0.1:36707/a/path/215/ > log/24/stdout215 2> log/24/stderr215 === End of file commands.log === Start of file ftp_server.log 07:51:08.593279 ====> Client connect 07:51:08.593510 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:08.593928 < "USER anonymous" 07:51:08.593969 > "331 We are happy you popped in![CR][LF]" 07:51:08.594159 < "PASS ftp@example.com" 07:51:08.594185 > "230 Welcome you silly person[CR][LF]" 07:51:08.594335 < "PWD" 07:51:08.594364 > "257 "/" is current directory[CR][LF]" 07:51:08.594527 < "EPSV" 07:51:08.594556 ====> Passive DATA channel requested by client 07:51:08.594568 DATA sockfilt for passive data channel starting... 07:51:08.596327 DATA sockfilt for passive data channel started (pid 87787) 07:51:08.596423 DATA sockfilt for passive data channel listens on port 39687 07:51:08.596459 > "229 Entering Passive Mode (|||39687|)[CR][LF]" 07:51:08.596472 Client has been notified that DATA conn will be accepted on port 39687 07:51:08.596702 Client connects to port 39687 07:51:08.596739 ====> Client established passive DATA connection on port 39687 07:51:08.596815 < "TYPE I" 07:51:08.596844 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:08.597007 < "SIZE verifiedserver" 07:51:08.597044 > "213 17[CR][LF]" 07:51:08.597220 < "RETR verifiedserver" 07:51:08.597259 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:08.597349 =====> Closing passive DATA connection... 07:51:08.597368 Server disconnects passive DATA connection 07:51:08.597496 Server disconnected passive DATA connection 07:51:08.597520 DATA sockfilt for passive data channel quits (pid 87787) 07:51:08.597768 DATA sockfilt for passive data channel quit (pid 87787) 07:51:08.597790 =====> Closed passive DATA connection 07:51:08.597818 > "226 File transfer complete[CR][LF]" 07:51:08.641747 < "QUIT" 07:51:08.641826 > "221 bye bye baby[CR][LF]" 07:51:08.642779 MAIN sockfilt said DISC 07:51:08.642829 ====> Client disconnected 07:51:08.642991 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.421109 ====> Client connect 07:51:08.421382 Received DATA (on stdin) 07:51:08.421400 > 160 bytes data, server => client 07:51:08.421476 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.421486 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.421495 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.421706 < 16 bytes data, client => server 07:51:08.421717 'USER anonymous\r\n' 07:51:08.421923 Received DATA (on stdin) 07:51:08.421937 > 33 bytes data, server => client 07:51:08.421949 '331 We are happy you popped in!\r\n' 07:51:08.422005 < 22 bytes data, client => server 07:51:08.422018 'PASS ftp@example.com\r\n' 07:51:08.422130 Received DATA (on stdin) 07:51:08.422140 > 30 bytes data, server => client 07:51:08.422149 '230 Welcome you silly person\r\n' 07:51:08.422197 < 5 bytes data, client => server 07:51:08.422209 'PWD\r\n' 07:51:08.422311 Received DATA (on stdin) 07:51:08.422323 > 30 bytes data, server => client 07:51:08.422334 '257 "/" is current directory\r\n' 07:51:08.422391 < 6 bytes data, client => server 07:51:08.422404 'EPSV\r\n' 07:51:08.424424 Received DATA (on stdin) 07:51:08.424436 > 39 bytes data, server => client 07:51:08.424448 '229 Entering Passive Mode (|||39687|)\r\n' 07:51:08.424597 < 8 bytes data, client => server 07:51:08.424610 'TYPE I\r\n' 07:51:08.424793 Received DATA (on stdin) 07:51:08.424807 > 33 bytes data, server => client 07:51:08.424818 '200 I modify TYPE as you wanted\r\n' 07:51:08.424868 < 21 bytes data, client => server 07:51:08.424880 'SIZE verifiedserver\r\n' 07:51:08.424996 Received DATA (on stdin) 07:51:08.425011 > 8 bytes data, server => client 07:51:08.425023 '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/7/valgrind218 ../src/curl -q --output log/7/curl218.out --include --trace-ascii log/7/trace218 --trace-time -T log/7/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:39661/218 > log/7/stdout218 2> log/7/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/8/valgrind219 ../src/curl -q --output log/8/curl219.out --include --trace-ascii log/8/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/8/stdout219 2> log/8/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/3/valgrind220 ../src/curl -q --output log/3/curl220.out --include --trace-ascii log/3/trace220 --trace-time http://127.0.0.1:34059/220 --compressed > log/3/stdout220 2> log/3/stderr220 13 17\r\n' 07:51:08.425075 < 21 bytes data, client => server 07:51:08.425089 'RETR verifiedserver\r\n' 07:51:08.425261 Received DATA (on stdin) 07:51:08.425294 > 29 bytes data, server => client 07:51:08.425308 '150 Binary junk (17 bytes).\r\n' 07:51:08.425766 Received DATA (on stdin) 07:51:08.425780 > 28 bytes data, server => client 07:51:08.425789 '226 File transfer complete\r\n' 07:51:08.469486 < 6 bytes data, client => server 07:51:08.469513 'QUIT\r\n' 07:51:08.470286 Received DATA (on stdin) 07:51:08.470311 > 18 bytes data, server => client 07:51:08.470325 '221 bye bye baby\r\n' 07:51:08.470661 ====> Client disconnect 07:51:08.470813 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:08.424117 Running IPv4 version 07:51:08.424177 Listening on port 39687 07:51:08.424206 Wrote pid 87787 to log/24/server/ftp_sockdata.pid 07:51:08.424224 Received PING (on stdin) 07:51:08.424296 Received PORT (on stdin) 07:51:08.424567 ====> Client connect 07:51:08.425321 Received DATA (on stdin) 07:51:08.425336 > 17 bytes data, server => client 07:51:08.425349 'WE ROOLZ: 83461\r\n' 07:51:08.425378 Received DISC (on stdin) 07:51:08.425392 ====> Client forcibly disconnected 07:51:08.425476 Received QUIT (on stdin) 07:51:08.425488 quits 07:51:08.425549 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==87944== ==87944== Process terminating with default action of signal 4 (SIGILL) ==87944== Illegal opcode at address 0x4013DC0 ==87944== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==87944== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87944== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==87944== by 0x40037A4: main (tool_main.c:199) === End of file valgrind215 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/7/valgrind218 ../src/curl -q --output log/7/curl218.out --include --trace-ascii log/7/trace218 --trace-time -T log/7/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:39661/218 > log/7/stdout218 2> log/7/stderr218 218: 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/ dir 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/7/valgrind218 ../src/curl -q --output log/7/curl218.out --include --trace-ascii log/7/trace218 --trace-time -T log/7/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:39661/218 > log/7/stdout218 2> log/7/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 07:51:09.640187 ====> Client connect 07:51:09.640219 accept_connection 3 returned 4 07:51:09.640237 accept_connection 3 returned 0 07:51:09.640254 Read 93 bytes 07:51:09.640265 Process 93 bytes request 07:51:09.640280 Got request: GET /verifiedserver HTTP/1.1 07:51:09.640291 Are-we-friendly question received 07:51:09.640316 Wrote request (93 bytes) input to log/7/server.input 07:51:09.640335 Identifying ourselves as friends 07:51:09.640389 Response sent (56 bytes) and written to log/7/server.response 07:51:09.640401 special request received, no persistency 07:51:09.640412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 41136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind218 ==88184== ==88184== Process terminating with default action of signal 4 (SIGILL) ==88184== Illegal opcode at address 0x4013DC0 ==88184== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88184== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88184== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88184== by 0x40037A4: main (tool_main.c:199) === End of file valgrind218 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/8/valgrind219 ../src/curl -q --output log/8/curl219.out --include --trace-ascii log/8/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/8/stdout219 2> log/8/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/8/ dir 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/8/valgrind219 ../src/curl -q --output log/8/curl219.out --include --trace-ascii log/8/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/8/stdout219 2> log/8/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==88250== ==88250== Process terminating with default action of signal 4 (SIGILL) ==88250== Illegal opcode at address 0x4013DC0 ==88250== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88250== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88250== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88250== by 0x40037A4: main (tool_main.c:199) === End of file valgrind219 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/3/valgrind220 ../src/curl -q --output log/3/curl220.out --include --trace-ascii log/3/trace220 --trace-time http://127.0.0.1:34059/220 --compressed > log/3/stdout220 2> log/3/stderr220 220: 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/ dir 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/3/valgrind220 ../src/curl -q --output log/3/curl220.out --include --trace-ascii log/3/trace220 --trace-time http://127.0.0.1:34059/220 --compressed > log/3/stdout220 2> log/3/stderr220 === End of file commands.log === Start of file http_server.log 07:51:09.788264 ====> Client connect 07:51:09.788298 accept_connection 3 returned 4 07:51:09.788316 accept_connection 3 returned 0 07:51:09.788335 Read 93 bytes 07:51:09.788346 Process 93 bytes request 07:51:09.788360 Got request: GET /verifiedserver HTTP/1.1 07:51:09.788371 Are-we-friendly question received 07:51:09.788395 Wrote request (93 bytes) input to log/3/server.input 07:51:09.788412 Identifying ourselves as friends 07:51:09.788466 Response sent (56 bytes) and written to log/3/server.response 07:51:09.788478 special request received, no persistency 07:51:09.788488 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established 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/4/valgrind222 ../src/curl -q --output log/4/curl222.out --include --trace-ascii log/4/trace222 --trace-time http://127.0.0.1:43573/222 --compressed > log/4/stdout222 2> log/4/stderr222 CMD (33792): ../libtool --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/valgrind223 ../src/curl -q --output log/22/curl223.out --include --trace-ascii log/22/trace223 --trace-time http://127.0.0.1:40377/223 --compressed > log/22/stdout223 2> log/22/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/9/valgrind221 ../src/curl -q --output log/9/curl221.out --include --trace-ascii log/9/trace221 --trace-time http://127.0.0.1:42717/221 --compressed > log/9/stdout221 2> log/9/stderr221 nnection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 36264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind220 ==88340== ==88340== Process terminating with default action of signal 4 (SIGILL) ==88340== Illegal opcode at address 0x4013DC0 ==88340== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88340== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88340== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88340== by 0x40037A4: main (tool_main.c:199) === End of file valgrind220 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/22/valgrind223 ../src/curl -q --output log/22/curl223.out --include --trace-ascii log/22/trace223 --trace-time http://127.0.0.1:40377/223 --compressed > log/22/stdout223 2> log/22/stderr223 223: 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/ dir 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/22/valgrind223 ../src/curl -q --output log/22/curl223.out --include --trace-ascii log/22/trace223 --trace-time http://127.0.0.1:40377/223 --compressed > log/22/stdout223 2> log/22/stderr223 === End of file commands.log === Start of file http_server.log 07:51:08.810074 ====> Client connect 07:51:08.810107 accept_connection 3 returned 4 07:51:08.810125 accept_connection 3 returned 0 07:51:08.810140 Read 93 bytes 07:51:08.810152 Process 93 bytes request 07:51:08.810166 Got request: GET /verifiedserver HTTP/1.1 07:51:08.810177 Are-we-friendly question received 07:51:08.810205 Wrote request (93 bytes) input to log/22/server.input 07:51:08.810224 Identifying ourselves as friends 07:51:08.810282 Response sent (56 bytes) and written to log/22/server.response 07:51:08.810294 special request received, no persistency 07:51:08.810305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 36102 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind223 ==88422== ==88422== Process terminating with default action of signal 4 (SIGILL) ==88422== Illegal opcode at address 0x4013DC0 ==88422== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88422== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88422== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88422== by 0x40037A4: main (tool_main.c:199) === End of file valgrind223 test 0222...[HTTP GET deflate 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/4/valgrind222 ../src/curl -q --output log/4/curl222.out --include --trace-ascii log/4/trace222 --trace-time http://127.0.0.1:43573/222 --compressed > log/4/stdout222 2> log/4/stderr222 222: 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/ dir 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/4/valgrind222 ../src/curl -q --output log/4/curl222.out --include --trace-ascii log/4/trace222 --trace-time http://127.0.0.1:43573/222 --compressed > log/4/stdout222 2> log/4/stderr222 === End of file commands.log === Start of file http_server.log 07:51:09.800593 ====> Client connect 07:51:09.800627 accept_connection 3 returned 4 07:51:09.800645 accept_connection 3 returned 0 07:51:09.800660 Read 93 bytes 07:51:09.800672 Process 93 bytes request 07:51:09.800685 Got request: GET /verifiedserver HTTP/1.1 07:51:09.800696 Are-we-friendly question received 07:51:09.800722 Wrote request (93 bytes) input to log/4/server.input 07:51:09.800741 Identifying ourselves as friends 07:51:09.800803 Response sent (56 bytes) and written to log/4/server.response 07:51:09.800815 special request received, no persistency 07:51:09.800825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind222 ==88418== ==88418== Process terminating with default action of signal 4 (SIGILL) ==88418== Illegal opcode at address 0x4013DC0 ==88418== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88418== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88418== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88418== by 0x40037A4: main (tool_main.c:199) === End of file valgrind222 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/9/valgrind221 ../src/curl -q --output log/9/curl221.out --include --trace-ascii log/9/trace221 --trace-time http://127.0.0.1:42717/221 --compressed > log/9/stdout221 2> log/9/stderr221 221: 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/ dir 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/9/valgrind221 ../src/curl -q --output log/9/curl221.out --include --trace-ascii log/9/trace221 --trace-time http://127.0.0.1:42717/221 --compressed > log/9/stdout221 2> log/9/stderr221 === End of file commands.log === Start of file http_server.log 07:51:08.793246 ====> Client connect 07:51:08.793273 accept_connection 3 returned 4 07:51:08.793287 accept_connection 3 returned 0 07:51:08.793538 Read 93 bytes 07:51:08.793552 Process 93 bytes request 07:51:08.793566 Got request: GET /verifiedserver HTTP/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/valgrind224 ../src/curl -q --output log/16/curl224.out --include --trace-ascii log/16/trace224 --trace-time http://127.0.0.1:44351/224 --compressed > log/16/stdout224 2> log/16/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/19/valgrind226 ../src/curl -q --output log/19/curl226.out --include --trace-ascii log/19/trace226 --trace-time ftp://127.0.0.1:44991/226%0d > log/19/stdout226 2> log/19/stderr226 .1 07:51:08.793577 Are-we-friendly question received 07:51:08.793606 Wrote request (93 bytes) input to log/9/server.input 07:51:08.793624 Identifying ourselves as friends 07:51:08.793699 Response sent (56 bytes) and written to log/9/server.response 07:51:08.793713 special request received, no persistency 07:51:08.793723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind221 ==88369== ==88369== Process terminating with default action of signal 4 (SIGILL) ==88369== Illegal opcode at address 0x4013DC0 ==88369== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88369== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88369== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88369== by 0x40037A4: main (tool_main.c:199) === End of file valgrind221 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/16/valgrind224 ../src/curl -q --output log/16/curl224.out --include --trace-ascii log/16/trace224 --trace-time http://127.0.0.1:44351/224 --compressed > log/16/stdout224 2> log/16/stderr224 224: 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/ dir 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/16/valgrind224 ../src/curl -q --output log/16/curl224.out --include --trace-ascii log/16/trace224 --trace-time http://127.0.0.1:44351/224 --compressed > log/16/stdout224 2> log/16/stderr224 === End of file commands.log === Start of file http_server.log 07:51:08.817583 ====> Client connect 07:51:08.817614 accept_connection 3 returned 4 07:51:08.817632 accept_connection 3 returned 0 07:51:08.817648 Read 93 bytes 07:51:08.817660 Process 93 bytes request 07:51:08.817674 Got request: GET /verifiedserver HTTP/1.1 07:51:08.817685 Are-we-friendly question received 07:51:08.817714 Wrote request (93 bytes) input to log/16/server.input 07:51:08.817733 Identifying ourselves as friends 07:51:08.817789 Response sent (56 bytes) and written to log/16/server.response 07:51:08.817801 special request received, no persistency 07:51:08.817811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 59076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind224 ==88449== ==88449== Process terminating with default action of signal 4 (SIGILL) ==88449== Illegal opcode at address 0x4013DC0 ==88449== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88449== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88449== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88449== by 0x40037A4: main (tool_main.c:199) === End of file valgrind224 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/19/valgrind226 ../src/curl -q --output log/19/curl226.out --include --trace-ascii log/19/trace226 --trace-time ftp://127.0.0.1:44991/226%0d > log/19/stdout226 2> log/19/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/19/ dir 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/19/valgrind226 ../src/curl -q --output log/19/curl226.out --include --trace-ascii log/19/trace226 --trace-time ftp://127.0.0.1:44991/226%0d > log/19/stdout226 2> log/19/stderr226 === End of file commands.log === Start of file ftp_server.log 07:51:09.039331 ====> Client connect 07:51:09.039485 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.039724 < "USER anonymous" 07:51:09.039762 > "331 We are happy you popped in![CR][LF]" 07:51:09.039935 < "PASS ftp@example.com" 07:51:09.039963 > "230 Welcome you silly person[CR][LF]" 07:51:09.040128 < "PWD" 07:51:09.040164 > "257 "/" is current directory[CR][LF]" 07:51:09.040536 < "EPSV" 07:51:09.040564 ====> Passive DATA channel requested by client 07:51:09.040579 DATA sockfilt for passive data channel starting... 07:51:09.042336 DATA sockfilt for passive data channel started (pid 88631) 07:51:09.042453 DATA sockfilt for passive data channel listens on port 45237 07:51:09.042500 > "229 Entering Passive Mode (|||45237|)[CR][LF]" 07:51:09.042520 Client has been notified that DATA conn will be accepted on port 45237 07:51:09.042773 Client connects to port 45237 07:51:09.042805 ====> Client established passive DATA connection on port 45237 07:51:09.042883 < "TYPE I" 07:51:09.042911 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.043048 < "SIZE verifiedserver" 07:51:09.043076 > "213 17[CR][LF]" 07:51:09.043198 < "RETR verifiedserver" 07:51:09.043226 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.043292 =====> Closing passive DATA connection... 07:51:09.043304 Server disconnects passive DATA connection 07:51:09.043495 Server disconnected passive DATA connection 07:51:09.043517 DATA sockfilt for passive data channel quits (pid 88631) 07:51:09.043685 DATA sockfilt for passive data channel quit (pid 88631) 07:51:09.043726 =====> Closed passive DATA connection 07:51:09.043756 > "226 File transfer complete[CR][LF]" 07:51:09.085061 < "QUIT" 07:51:09.085125 > "221 bye bye baby[CR][LF]" 07:51:09.086168 MAIN sockfilt said DISC 07:51:09.086213 ====> Client disconnected 07:51:09.086307 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.867181 ====> Client connect 07:51:08.867418 Received DATA (on stdin) 07:51:08.867438 > 160 bytes data, server => client 07:51:08.867451 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.867462 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.867470 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.867536 < 16 bytes data, client => server 07:51:08.867547 'USER anonymous\r\n' 07:51:08.867712 Received DATA (on stdin) 07:51:08.867725 > 33 bytes data, server => client 07:51:08.867736 '331 We are happy you popped in!\r\n' 07:51:08.867787 < 22 bytes data, client => server 07:51:08.867799 'PASS ftp@example.com\r\n' 07:51:08.867911 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/valgrind225 ../src/curl -q --output log/18/curl225.out --include --trace-ascii log/18/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:34455/225%0a > log/18/stdout225 2> log/18/stderr225 on stdin) 07:51:08.867924 > 30 bytes data, server => client 07:51:08.867935 '230 Welcome you silly person\r\n' 07:51:08.867983 < 5 bytes data, client => server 07:51:08.867996 'PWD\r\n' 07:51:08.868115 Received DATA (on stdin) 07:51:08.868129 > 30 bytes data, server => client 07:51:08.868142 '257 "/" is current directory\r\n' 07:51:08.868206 < 6 bytes data, client => server 07:51:08.868220 'EPSV\r\n' 07:51:08.870474 Received DATA (on stdin) 07:51:08.870494 > 39 bytes data, server => client 07:51:08.870506 '229 Entering Passive Mode (|||45237|)\r\n' 07:51:08.870664 < 8 bytes data, client => server 07:51:08.870678 'TYPE I\r\n' 07:51:08.870856 Received DATA (on stdin) 07:51:08.870868 > 33 bytes data, server => client 07:51:08.870877 '200 I modify TYPE as you wanted\r\n' 07:51:08.870921 < 21 bytes data, client => server 07:51:08.870931 'SIZE verifiedserver\r\n' 07:51:08.871020 Received DATA (on stdin) 07:51:08.871030 > 8 bytes data, server => client 07:51:08.871039 '213 17\r\n' 07:51:08.871077 < 21 bytes data, client => server 07:51:08.871087 'RETR verifiedserver\r\n' 07:51:08.871249 Received DATA (on stdin) 07:51:08.871260 > 29 bytes data, server => client 07:51:08.871269 '150 Binary junk (17 bytes).\r\n' 07:51:08.871703 Received DATA (on stdin) 07:51:08.871715 > 28 bytes data, server => client 07:51:08.871725 '226 File transfer complete\r\n' 07:51:08.912743 < 6 bytes data, client => server 07:51:08.912786 'QUIT\r\n' 07:51:08.913088 Received DATA (on stdin) 07:51:08.913104 > 18 bytes data, server => client 07:51:08.913116 '221 bye bye baby\r\n' 07:51:08.914048 ====> Client disconnect 07:51:08.914262 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.870116 Running IPv4 version 07:51:09.870160 Listening on port 45237 07:51:09.870201 Wrote pid 88631 to log/19/server/ftp_sockdata.pid 07:51:09.870222 Received PING (on stdin) 07:51:09.870310 Received PORT (on stdin) 07:51:09.870632 ====> Client connect 07:51:09.871289 Received DATA (on stdin) 07:51:09.871301 > 17 bytes data, server => client 07:51:09.871311 'WE ROOLZ: 80634\r\n' 07:51:09.871330 Received DISC (on stdin) 07:51:09.871340 ====> Client forcibly disconnected 07:51:09.871469 Received QUIT (on stdin) 07:51:09.871480 quits 07:51:09.871528 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==88674== ==88674== Process terminating with default action of signal 4 (SIGILL) ==88674== Illegal opcode at address 0x4013DC0 ==88674== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88674== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88674== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88674== by 0x40037A4: main (tool_main.c:199) === End of file valgrind226 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/18/valgrind225 ../src/curl -q --output log/18/curl225.out --include --trace-ascii log/18/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:34455/225%0a > log/18/stdout225 2> log/18/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind225 ../src/curl -q --output log/18/curl225.out --include --trace-ascii log/18/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:34455/225%0a > log/18/stdout225 2> log/18/stderr225 === End of file commands.log === Start of file ftp_server.log 07:51:09.037380 ====> Client connect 07:51:09.037563 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.037889 < "USER anonymous" 07:51:09.037951 > "331 We are happy you popped in![CR][LF]" 07:51:09.038208 < "PASS ftp@example.com" 07:51:09.038257 > "230 Welcome you silly person[CR][LF]" 07:51:09.038430 < "PWD" 07:51:09.038462 > "257 "/" is current directory[CR][LF]" 07:51:09.038607 < "EPSV" 07:51:09.038632 ====> Passive DATA channel requested by client 07:51:09.038647 DATA sockfilt for passive data channel starting... 07:51:09.040513 DATA sockfilt for passive data channel started (pid 88620) 07:51:09.040624 DATA sockfilt for passive data channel listens on port 43647 07:51:09.040668 > "229 Entering Passive Mode (|||43647|)[CR][LF]" 07:51:09.040689 Client has been notified that DATA conn will be accepted on port 43647 07:51:09.040916 Client connects to port 43647 07:51:09.040945 ====> Client established passive DATA connection on port 43647 07:51:09.041015 < "TYPE I" 07:51:09.041043 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.041204 < "SIZE verifiedserver" 07:51:09.041242 > "213 17[CR][LF]" 07:51:09.041416 < "RETR verifiedserver" 07:51:09.041450 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.041543 =====> Closing passive DATA connection... 07:51:09.041561 Server disconnects passive DATA connection 07:51:09.041802 Server disconnected passive DATA connection 07:51:09.041829 DATA sockfilt for passive data channel quits (pid 88620) 07:51:09.042036 DATA sockfilt for passive data channel quit (pid 88620) 07:51:09.042062 =====> Closed passive DATA connection 07:51:09.042091 > "226 File transfer complete[CR][LF]" 07:51:09.088201 < "QUIT" 07:51:09.088257 > "221 bye bye baby[CR][LF]" 07:51:09.089709 MAIN sockfilt said DISC 07:51:09.089758 ====> Client disconnected 07:51:09.089824 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.865214 ====> Client connect 07:51:09.865495 Received DATA (on stdin) 07:51:09.865525 > 160 bytes data, server => client 07:51:09.865539 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.865551 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.865562 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.865659 < 16 bytes data, client => server 07:51:09.865671 'USER anonymous\r\n' 07:51:09.865885 Received DATA (on stdin) 07:51:09.865912 > 33 bytes data, server => client 07:51:09.865926 '331 We are happy you popped in!\r\n' 07:51:09.866003 < 22 bytes data, client => server 07:51:09.866018 'PASS ftp@example.com\r\n' 07:51:09.866211 Received DATA (on stdin) 07:51:09.866227 > 30 bytes data, server => client 07:51:09.866239 '230 Welcome you silly person\r\n' 07:51:09.866289 < 5 bytes data, client => server 07:51:09.866299 'PWD\r\n' 07:51:09.866406 Received DATA (on stdin) 07:51:09.866417 > 30 bytes data, server => client 07:51:09.866426 '257 "/" is current directory\r\n' 07:51:09.866472 < 6 bytes data, client => server 07:51:09.866481 'EPSV\r\n' 07:51:09.868644 Received DATA (on stdin) 07:51:09.868660 > 39 bytes data, server => client 07:51:09.868672 '229 Entering Passive Mode (|||43647|)\r\n' 07:51:09.868785 < 8 bytes data, client => server 07:51:09.868800 'TYPE I\r\n' 07:51:09.868991 Received DATA (on stdin) 07:51:09.869004 > 33 bytes data, server => client 07:51:09.869015 '200 I modify TYPE as you wanted\r\n' 07:51:09.869064 < 21 bytes data, client => server 07:51:09.869077 'SIZE verifiedserver\r\n' 07:51:09.869201 Received DATA (on stdin) 07:51:09.869215 > 8 bytes data, server => client 07:51:09.869226 '213 17\r\n' 07:51:09.869278 < 21 bytes data, client => server 07:51:09.869290 'RETR verifiedserver\r\n' 07:51:09.869514 Received DATA (on stdin) 07:51:09.869527 > 29 bytes data, server => client 07:51:09.869538 '150 Binary junk (17 bytes).\r\n' 07:51:09.870042 Received DATA (on stdin) 07:51:09.870057 > 28 bytes data, server => client 07:51:09.870069 '226 File transfer complete\r\n' 07:51:09.915973 < 6 bytes data, client => server 07:51:09.916001 'QUIT\r\n' 07:51:09.916213 ReceivedCMD (33792): ../libtool --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/valgrind227 ../src/curl -q --output log/23/curl227.out --include --trace-ascii log/23/trace227 --trace-time ftp://127.0.0.1:39237/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/23/stdout227 2> log/23/stderr227 DATA (on stdin) 07:51:09.916230 > 18 bytes data, server => client 07:51:09.916243 '221 bye bye baby\r\n' 07:51:09.917327 ====> Client disconnect 07:51:09.917778 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.868294 Running IPv4 version 07:51:09.868349 Listening on port 43647 07:51:09.868383 Wrote pid 88620 to log/18/server/ftp_sockdata.pid 07:51:09.868404 Received PING (on stdin) 07:51:09.868485 Received PORT (on stdin) 07:51:09.868819 ====> Client connect 07:51:09.869564 Received DATA (on stdin) 07:51:09.869578 > 17 bytes data, server => client 07:51:09.869588 'WE ROOLZ: 80643\r\n' 07:51:09.869610 Received DISC (on stdin) 07:51:09.869622 ====> Client forcibly disconnected 07:51:09.869784 Received QUIT (on stdin) 07:51:09.869797 quits 07:51:09.869856 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==88682== ==88682== Process terminating with default action of signal 4 (SIGILL) ==88682== Illegal opcode at address 0x4013DC0 ==88682== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88682== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88682== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88682== by 0x40037A4: main (tool_main.c:199) === End of file valgrind225 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/23/valgrind227 ../src/curl -q --output log/23/curl227.out --include --trace-ascii log/23/trace227 --trace-time ftp://127.0.0.1:39237/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/23/stdout227 2> log/23/stderr227 227: 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/ dir 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/23/valgrind227 ../src/curl -q --output log/23/curl227.out --include --trace-ascii log/23/trace227 --trace-time ftp://127.0.0.1:39237/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/23/stdout227 2> log/23/stderr227 === End of file commands.log === Start of file ftp_server.log 07:51:09.044076 ====> Client connect 07:51:09.044254 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.044573 < "USER anonymous" 07:51:09.044738 > "331 We are happy you popped in![CR][LF]" 07:51:09.044939 < "PASS ftp@example.com" 07:51:09.044972 > "230 Welcome you silly person[CR][LF]" 07:51:09.045155 < "PWD" 07:51:09.045183 > "257 "/" is current directory[CR][LF]" 07:51:09.045328 < "EPSV" 07:51:09.045355 ====> Passive DATA channel requested by client 07:51:09.045366 DATA sockfilt for passive data channel starting... 07:51:09.046855 DATA sockfilt for passive data channel started (pid 88648) 07:51:09.046950 DATA sockfilt for passive data channel listens on port 37313 07:51:09.046987 > "229 Entering Passive Mode (|||37313|)[CR][LF]" 07:51:09.047003 Client has been notified that DATA conn will be accepted on port 37313 07:51:09.047195 Client connects to port 37313 07:51:09.047219 ====> Client established passive DATA connection on port 37313 07:51:09.047293 < "TYPE I" 07:51:09.047322 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.047487 < "SIZE verifiedserver" 07:51:09.047521 > "213 17[CR][LF]" 07:51:09.047647 < "RETR verifiedserver" 07:51:09.047672 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.047735 =====> Closing passive DATA connection... 07:51:09.047748 Server disconnects passive DATA connection 07:51:09.047967 Server disconnected passive DATA connection 07:51:09.047996 DATA sockfilt for passive data channel quits (pid 88648) 07:51:09.048203 DATA sockfilt for passive data channel quit (pid 88648) 07:51:09.048234 =====> Closed passive DATA connection 07:51:09.048265 > "226 File transfer complete[CR][LF]" 07:51:09.088420 < "QUIT" 07:51:09.088475 > "221 bye bye baby[CR][LF]" 07:51:09.089263 MAIN sockfilt said DISC 07:51:09.089295 ====> Client disconnected 07:51:09.089376 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.871929 ====> Client connect 07:51:08.872223 Received DATA (on stdin) 07:51:08.872243 > 160 bytes data, server => client 07:51:08.872256 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.872269 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.872280 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.872355 < 16 bytes data, client => server 07:51:08.872367 'USER anonymous\r\n' 07:51:08.872696 Received DATA (on stdin) 07:51:08.872711 > 33 bytes data, server => client 07:51:08.872724 '331 We are happy you popped in!\r\n' 07:51:08.872779 < 22 bytes data, client => server 07:51:08.872792 'PASS ftp@example.com\r\n' 07:51:08.872924 Received DATA (on stdin) 07:51:08.872938 > 30 bytes data, server => client 07:51:08.872950 '230 Welcome you silly person\r\n' 07:51:08.873010 < 5 bytes data, client => server 07:51:08.873024 'PWD\r\n' 07:51:08.873128 Received DATA (on stdin) 07:51:08.873138 > 30 bytes data, server => client 07:51:08.873148 '257 "/" is current directory\r\n' 07:51:08.873201 < 6 bytes data, client => server 07:51:08.873212 'EPSV\r\n' 07:51:08.874954 Received DATA (on stdin) 07:51:08.874966 > 39 bytes data, server => client 07:51:08.874976 '229 Entering Passive Mode (|||37313|)\r\n' 07:51:08.875096 < 8 bytes data, client => server 07:51:08.875107 'TYPE I\r\n' 07:51:08.875272 Received DATA (on stdin) 07:51:08.875285 > 33 bytes data, server => client 07:51:08.875297 '200 I modify TYPE as you wanted\r\n' 07:51:08.875347 < 21 bytes data, client => server 07:51:08.875360 'SIZE verifiedserver\r\n' 07:51:08.875466 Received DATA (on stdin) 07:51:08.875476 > 8 bytes data, server => client 07:51:08.875485 '213 17\r\n' 07:51:08.875525 < 21 bytes data, client => server 07:51:08.875535 'RETR verifiedserver\r\n' 07:51:08.875693 Received DATA (on stdin) 07:51:08.875703 > 29 bytes data, server => client 07:51:08.875712 '150 Binary junk (17 bytes).\r\n' 07:51:08.876216 Received DATA (on stdin) 07:51:08.876232 > 28 bytes data, server => client 07:51:08.876244 '226 File transfer complete\r\n' 07:51:08.916197 < 6 bytes data, client => server 07:51:08.916225 'QUIT\r\n' 07:51:08.916428 Received DATA (on stdin) 07:51:08.916441 > 18 bytes data, server => client 07:51:08.916454 '221 bye bye baby\r\n' 07:51:08.917150 ====> Client disconnect 07:51:08.917329 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.874641 Running IPv4 version 07:51:09.874701 Listening on port 37313 07:51:09.874732 Wrote pid 88648 to log/23/server/ftp_sockdata.pid 07:51:09.874750 Received PING (on stdin) 07:51:09.874823 Received PORT (on stdin) 07:51:09.875072 ====> Client connect 07:51:09.875734 Received DATA (on stdin) 07:51:09.875746 > 17 bytes data, server => client 07:51:09.875755 'WE ROOLZ: 82431\r\n' 07:51:09.875776 Received DISC (on stdin) 07:51:09.875788 ====> Client forcibly disconnected 07:51:09.875953 Received QUIT (on stdin) 07:51:09.875967 quits 07:51:09.876022 ============> 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 ==88699== ==88699== Process terminating with default action of signal 4 (SIGILL) ==88699== Illegal opcode at address 0x4013DC0 ==88699== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88699== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) CMD (33792): ../libtool --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/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:41051/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 CMD (33792): ../libtool --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/valgrind228 ../src/curl -q --output log/15/curl228.out --include --trace-ascii log/15/trace228 --trace-time ftp://127.0.0.1:38789/228 --ftp-account "one count" > log/15/stdout228 2> log/15/stderr228 ==88699== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88699== by 0x40037A4: main (tool_main.c:199) === End of file valgrind227 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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:41051/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 229: 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/ dir 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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:41051/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 === End of file commands.log === Start of file ftp_server.log 07:51:09.114577 ====> Client connect 07:51:09.114772 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.115102 < "USER anonymous" 07:51:09.115146 > "331 We are happy you popped in![CR][LF]" 07:51:09.115351 < "PASS ftp@example.com" 07:51:09.115384 > "230 Welcome you silly person[CR][LF]" 07:51:09.115560 < "PWD" 07:51:09.115595 > "257 "/" is current directory[CR][LF]" 07:51:09.115770 < "EPSV" 07:51:09.115801 ====> Passive DATA channel requested by client 07:51:09.115819 DATA sockfilt for passive data channel starting... 07:51:09.117704 DATA sockfilt for passive data channel started (pid 88768) 07:51:09.117822 DATA sockfilt for passive data channel listens on port 43817 07:51:09.117870 > "229 Entering Passive Mode (|||43817|)[CR][LF]" 07:51:09.117892 Client has been notified that DATA conn will be accepted on port 43817 07:51:09.119213 Client connects to port 43817 07:51:09.119255 ====> Client established passive DATA connection on port 43817 07:51:09.119343 < "TYPE I" 07:51:09.119379 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.119583 < "SIZE verifiedserver" 07:51:09.119624 > "213 17[CR][LF]" 07:51:09.120066 < "RETR verifiedserver" 07:51:09.120102 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.120193 =====> Closing passive DATA connection... 07:51:09.120214 Server disconnects passive DATA connection 07:51:09.120656 Server disconnected passive DATA connection 07:51:09.120707 DATA sockfilt for passive data channel quits (pid 88768) 07:51:09.121027 DATA sockfilt for passive data channel quit (pid 88768) 07:51:09.121064 =====> Closed passive DATA connection 07:51:09.121105 > "226 File transfer complete[CR][LF]" 07:51:09.162513 < "QUIT" 07:51:09.162566 > "221 bye bye baby[CR][LF]" 07:51:09.163986 MAIN sockfilt said DISC 07:51:09.164033 ====> Client disconnected 07:51:09.164121 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.942416 ====> Client connect 07:51:08.942740 Received DATA (on stdin) 07:51:08.942758 > 160 bytes data, server => client 07:51:08.942772 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.942784 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.942796 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.942879 < 16 bytes data, client => server 07:51:08.942895 'USER anonymous\r\n' 07:51:08.943101 Received DATA (on stdin) 07:51:08.943116 > 33 bytes data, server => client 07:51:08.943129 '331 We are happy you popped in!\r\n' 07:51:08.943186 < 22 bytes data, client => server 07:51:08.943202 'PASS ftp@example.com\r\n' 07:51:08.943335 Received DATA (on stdin) 07:51:08.943349 > 30 bytes data, server => client 07:51:08.943362 '230 Welcome you silly person\r\n' 07:51:08.943416 < 5 bytes data, client => server 07:51:08.943429 'PWD\r\n' 07:51:08.943544 Received DATA (on stdin) 07:51:08.943557 > 30 bytes data, server => client 07:51:08.943570 '257 "/" is current directory\r\n' 07:51:08.943629 < 6 bytes data, client => server 07:51:08.943643 'EPSV\r\n' 07:51:08.945931 Received DATA (on stdin) 07:51:08.945958 > 39 bytes data, server => client 07:51:08.945973 '229 Entering Passive Mode (|||43817|)\r\n' 07:51:08.946160 < 8 bytes data, client => server 07:51:08.946175 'TYPE I\r\n' 07:51:08.947334 Received DATA (on stdin) 07:51:08.947351 > 33 bytes data, server => client 07:51:08.947364 '200 I modify TYPE as you wanted\r\n' 07:51:08.947431 < 21 bytes data, client => server 07:51:08.947446 'SIZE verifiedserver\r\n' 07:51:08.947816 Received DATA (on stdin) 07:51:08.947838 > 8 bytes data, server => client 07:51:08.947852 '213 17\r\n' 07:51:08.947912 < 21 bytes data, client => server 07:51:08.947928 'RETR verifiedserver\r\n' 07:51:08.948840 Received DATA (on stdin) 07:51:08.948861 > 29 bytes data, server => client 07:51:08.948875 '150 Binary junk (17 bytes).\r\n' 07:51:08.949064 Received DATA (on stdin) 07:51:08.949082 > 28 bytes data, server => client 07:51:08.949095 '226 File transfer complete\r\n' 07:51:08.990252 < 6 bytes data, client => server 07:51:08.990290 'QUIT\r\n' 07:51:08.990519 Received DATA (on stdin) 07:51:08.990533 > 18 bytes data, server => client 07:51:08.990545 '221 bye bye baby\r\n' 07:51:08.991625 ====> Client disconnect 07:51:08.992072 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.945334 Running IPv4 version 07:51:09.945392 Listening on port 43817 07:51:09.945435 Wrote pid 88768 to log/6/server/ftp_sockdata.pid 07:51:09.945596 Received PING (on stdin) 07:51:09.945680 Received PORT (on stdin) 07:51:09.946119 ====> Client connect 07:51:09.948070 Received DATA (on stdin) 07:51:09.948093 > 17 bytes data, server => client 07:51:09.948106 'WE ROOLZ: 81211\r\n' 07:51:09.948434 Received DISC (on stdin) 07:51:09.948460 ====> Client forcibly disconnected 07:51:09.948677 Received QUIT (on stdin) 07:51:09.948695 quits 07:51:09.948768 ============> 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 ==88867== ==88867== Process terminating with default action of signal 4 (SIGILL) ==88867== Illegal opcode at address 0x4013DC0 ==88867== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88867== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88867== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88867== by 0x40037A4: main (tool_main.c:199) === End of file valgrind229 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/15/valgrind228 ../src/curl -q --output log/15/curl228.out --include --trace-ascii log/15/trace228 --trace-time ftp://127.0.0.1:38789/228 --ftp-account "one count" > log/15/stdout228 2> log/15/stderr228 228: 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/ dir 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/15/valgrind228 ../src/curl -q --output log/15/curl228.out --include --trace-ascii log/15/trace228 --trace-time ftp://127.0.0.1:38789/228 --ftp-account "one count" > log/15/stdout228 2> log/15/stderr228 === End of file commands.log === Start of file ftp_server.log 07:51:09.112327 ====> Client connect 07:51:09.112517 > "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/valgrind230 ../src/curl -q --output log/13/curl230.out --include --trace-ascii log/13/trace230 --trace-time http://127.0.0.1:35041/230 --compressed > log/13/stdout230 2> log/13/stderr230 | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.112829 < "USER anonymous" 07:51:09.112872 > "331 We are happy you popped in![CR][LF]" 07:51:09.113064 < "PASS ftp@example.com" 07:51:09.113093 > "230 Welcome you silly person[CR][LF]" 07:51:09.113265 < "PWD" 07:51:09.113307 > "257 "/" is current directory[CR][LF]" 07:51:09.113506 < "EPSV" 07:51:09.113532 ====> Passive DATA channel requested by client 07:51:09.113547 DATA sockfilt for passive data channel starting... 07:51:09.115668 DATA sockfilt for passive data channel started (pid 88761) 07:51:09.115805 DATA sockfilt for passive data channel listens on port 33673 07:51:09.115860 > "229 Entering Passive Mode (|||33673|)[CR][LF]" 07:51:09.115883 Client has been notified that DATA conn will be accepted on port 33673 07:51:09.116163 Client connects to port 33673 07:51:09.116198 ====> Client established passive DATA connection on port 33673 07:51:09.116297 < "TYPE I" 07:51:09.116335 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.116531 < "SIZE verifiedserver" 07:51:09.116576 > "213 17[CR][LF]" 07:51:09.116759 < "RETR verifiedserver" 07:51:09.116802 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.116888 =====> Closing passive DATA connection... 07:51:09.116908 Server disconnects passive DATA connection 07:51:09.117171 Server disconnected passive DATA connection 07:51:09.117203 DATA sockfilt for passive data channel quits (pid 88761) 07:51:09.117440 DATA sockfilt for passive data channel quit (pid 88761) 07:51:09.117469 =====> Closed passive DATA connection 07:51:09.117498 > "226 File transfer complete[CR][LF]" 07:51:09.164470 < "QUIT" 07:51:09.164518 > "221 bye bye baby[CR][LF]" 07:51:09.165502 MAIN sockfilt said DISC 07:51:09.165561 ====> Client disconnected 07:51:09.165635 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:08.940156 ====> Client connect 07:51:08.940485 Received DATA (on stdin) 07:51:08.940505 > 160 bytes data, server => client 07:51:08.940519 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:08.940531 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:08.940542 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:08.940621 < 16 bytes data, client => server 07:51:08.940637 'USER anonymous\r\n' 07:51:08.940827 Received DATA (on stdin) 07:51:08.940841 > 33 bytes data, server => client 07:51:08.940853 '331 We are happy you popped in!\r\n' 07:51:08.940908 < 22 bytes data, client => server 07:51:08.940922 'PASS ftp@example.com\r\n' 07:51:08.941044 Received DATA (on stdin) 07:51:08.941058 > 30 bytes data, server => client 07:51:08.941070 '230 Welcome you silly person\r\n' 07:51:08.941122 < 5 bytes data, client => server 07:51:08.941136 'PWD\r\n' 07:51:08.941260 Received DATA (on stdin) 07:51:08.941275 > 30 bytes data, server => client 07:51:08.941288 '257 "/" is current directory\r\n' 07:51:08.941359 < 6 bytes data, client => server 07:51:08.941373 'EPSV\r\n' 07:51:08.943845 Received DATA (on stdin) 07:51:08.943865 > 39 bytes data, server => client 07:51:08.943878 '229 Entering Passive Mode (|||33673|)\r\n' 07:51:08.944051 < 8 bytes data, client => server 07:51:08.944066 'TYPE I\r\n' 07:51:08.944289 Received DATA (on stdin) 07:51:08.944305 > 33 bytes data, server => client 07:51:08.944318 '200 I modify TYPE as you wanted\r\n' 07:51:08.944377 < 21 bytes data, client => server 07:51:08.944392 'SIZE verifiedserver\r\n' 07:51:08.944529 Received DATA (on stdin) 07:51:08.944543 > 8 bytes data, server => client 07:51:08.944555 '213 17\r\n' 07:51:08.944610 < 21 bytes data, client => server 07:51:08.944624 'RETR verifiedserver\r\n' 07:51:08.944862 Received DATA (on stdin) 07:51:08.944876 > 29 bytes data, server => client 07:51:08.944889 '150 Binary junk (17 bytes).\r\n' 07:51:08.945450 Received DATA (on stdin) 07:51:08.945465 > 28 bytes data, server => client 07:51:08.945478 '226 File transfer complete\r\n' 07:51:08.992257 < 6 bytes data, client => server 07:51:08.992278 'QUIT\r\n' 07:51:08.992469 Received DATA (on stdin) 07:51:08.992482 > 18 bytes data, server => client 07:51:08.992494 '221 bye bye baby\r\n' 07:51:08.993385 ====> Client disconnect 07:51:08.993585 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.943241 Running IPv4 version 07:51:09.943307 Listening on port 33673 07:51:09.943351 Wrote pid 88761 to log/15/server/ftp_sockdata.pid 07:51:09.943547 Received PING (on stdin) 07:51:09.943653 Received PORT (on stdin) 07:51:09.944018 ====> Client connect 07:51:09.944917 Received DATA (on stdin) 07:51:09.944932 > 17 bytes data, server => client 07:51:09.944944 'WE ROOLZ: 80326\r\n' 07:51:09.944971 Received DISC (on stdin) 07:51:09.944984 ====> Client forcibly disconnected 07:51:09.945163 Received QUIT (on stdin) 07:51:09.945178 quits 07:51:09.945243 ============> 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 ==88870== ==88870== Process terminating with default action of signal 4 (SIGILL) ==88870== Illegal opcode at address 0x4013DC0 ==88870== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88870== by 0x40037A4: main (tool_main.c:199) === End of file valgrind228 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/13/valgrind230 ../src/curl -q --output log/13/curl230.out --include --trace-ascii log/13/trace230 --trace-time http://127.0.0.1:35041/230 --compressed > log/13/stdout230 2> log/13/stderr230 230: 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/ dir 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/13/valgrind230 ../src/curl -q --output log/13/curl230.out --include --trace-ascii log/13/trace230 --trace-time http://127.0.0.1:35041/230 --compressed > log/13/stdout230 2> log/13/stderr230 === End of file commands.log === Start of file http_server.log 07:51:09.053780 ====> Client connect 07:51:09.053814 accept_connection 3 returned 4 07:51:09.053833 accept_connection 3 returned 0 07:51:09.053848 Read 93 bytes 07:51:09.053859 Process 93 bytes request 07:51:09.053875 Got request: GET /verifiedserver HTTP/1.1 07:51:09.053886 Are-we-friendly question received 07:51:09.053912 Wrote request (93 bytes) input to log/13/server.input 07:51:09.053930 Identifying ourselves as friends 07:51:09.053986 Response sent (56 bytes) and written to log/13/server.response 07:51:09.053998 special request received, no persistency 07:51:09.054008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 58170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind230 ==88981== ==88981== Process terminating with default action of signal 4 (SIGILL) ==8898CMD (33792): ../libtool --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 1== Illegal opcode at address 0x4013DC0 ==88981== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==88981== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88981== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==88981== by 0x40037A4: main (tool_main.c:199) === End of file valgrind230 CMD (33792): ../libtool --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/valgrind233 ../src/curl -q --output log/20/curl233.out --include --trace-ascii log/20/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:40357 --user iam:myself --proxy-user testing:this --location > log/20/stdout233 2> log/20/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/5/valgrind232 ../src/curl -q --output log/5/curl232.out --include --trace-ascii log/5/trace232 --trace-time http://127.0.0.1:42797/232 --compressed > log/5/stdout232 2> log/5/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/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:42601 --user iam:myself --proxy-user testing:this --location-trusted > log/17/stdout234 2> log/17/stderr234 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 2025-11-07 07:51:10.314040138 +0000 +++ log/21/check-generated 2025-11-07 07:51:10.310706804 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/21/ dir 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 ==89039== ==89039== Process terminating with default action of signal 4 (SIGILL) ==89039== Illegal opcode at address 0x4013DC0 ==89039== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89039== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89039== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89039== by 0x40037A4: main (tool_main.c:199) === End of file valgrind231 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/20/valgrind233 ../src/curl -q --output log/20/curl233.out --include --trace-ascii log/20/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:40357 --user iam:myself --proxy-user testing:this --location > log/20/stdout233 2> log/20/stderr233 233: 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/ dir 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/20/valgrind233 ../src/curl -q --output log/20/curl233.out --include --trace-ascii log/20/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:40357 --user iam:myself --proxy-user testing:this --location > log/20/stdout233 2> log/20/stderr233 === End of file commands.log === Start of file http_server.log 07:51:09.238447 ====> Client connect 07:51:09.238483 accept_connection 3 returned 4 07:51:09.238502 accept_connection 3 returned 0 07:51:09.238520 Read 93 bytes 07:51:09.238532 Process 93 bytes request 07:51:09.238547 Got request: GET /verifiedserver HTTP/1.1 07:51:09.238558 Are-we-friendly question received 07:51:09.238587 Wrote request (93 bytes) input to log/20/server.input 07:51:09.238607 Identifying ourselves as friends 07:51:09.238675 Response sent (56 bytes) and written to log/20/server.response 07:51:09.238689 special request received, no persistency 07:51:09.238701 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 40522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind233 ==89143== ==89143== Process terminating with default action of signal 4 (SIGILL) ==89143== Illegal opcode at address 0x4013DC0 ==89143== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89143== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89143== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89143== by 0x40037A4: main (tool_main.c:199) === End of file valgrind233 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/5/valgrind232 ../src/curl -q --output log/5/curl232.out --include --trace-ascii log/5/trace232 --trace-time http://127.0.0.1:42797/232 --compressed > log/5/stdout232 2> log/5/stderr232 232: 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/ dir 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/5/valgrind232 ../src/curl -q --output log/5/curl232.out --include --trace-ascii log/5/trace232 --trace-time http://127.0.0.1:42797/232 --compressed > log/5/stdout232 2> log/5/stderr232 === End of file commands.log === Start of file http_server.log 07:51:09.207754 ====> Client connect 07:51:09.207789 accept_connection 3 returned 4 07:51:09.207807 accept_connection 3 returned 0 07:51:09.207824 Read 93 bytes 07:51:09.207835 Process 93 bytes request 07:51:09.207849 Got request: GET /verifiedserver HTTP/1.1 07:51:09.207860 Are-we-friendly question received 07:51:09.207885 Wrote request (93 bytes) input to log/5/server.input 07:51:09.207903 Identifying ourselves as friends 07:51:09.207961 Response sent (56 bytes) and written to log/5/server.response 07:51:09.207972 special request received, no persistency 07:51:09.207983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind232 ==89125== ==89125== Process terminating with default action of signal 4 (SIGILL) ==89125== Illegal opcode at address 0x4013DC0 ==89125== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89125== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89125== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89125== by 0x40037A4: main (tool_main.c:199) === End of file valgrind232 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:42601 --user iam:myself --proxCMD (33792): ../libtool --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/valgrind236 ../src/curl -q --output log/1/curl236.out --include --trace-ascii log/1/trace236 --trace-time ftp://127.0.0.1:42965/236 -T log/1/file236.txt -C - > log/1/stdout236 2> log/1/stderr236 y-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/ dir 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:42601 --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 07:51:10.251780 ====> Client connect 07:51:10.251816 accept_connection 3 returned 4 07:51:10.251834 accept_connection 3 returned 0 07:51:10.251850 Read 93 bytes 07:51:10.251861 Process 93 bytes request 07:51:10.251876 Got request: GET /verifiedserver HTTP/1.1 07:51:10.251886 Are-we-friendly question received 07:51:10.251913 Wrote request (93 bytes) input to log/17/server.input 07:51:10.251931 Identifying ourselves as friends 07:51:10.251988 Response sent (56 bytes) and written to log/17/server.response 07:51:10.252000 special request received, no persistency 07:51:10.252010 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 53802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind234 ==89160== ==89160== Process terminating with default action of signal 4 (SIGILL) ==89160== Illegal opcode at address 0x4013DC0 ==89160== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89160== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89160== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89160== by 0x40037A4: main (tool_main.c:199) === End of file valgrind234 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/1/valgrind236 ../src/curl -q --output log/1/curl236.out --include --trace-ascii log/1/trace236 --trace-time ftp://127.0.0.1:42965/236 -T log/1/file236.txt -C - > log/1/stdout236 2> log/1/stderr236 236: 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/ dir 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/1/valgrind236 ../src/curl -q --output log/1/curl236.out --include --trace-ascii log/1/trace236 --trace-time ftp://127.0.0.1:42965/236 -T log/1/file236.txt -C - > log/1/stdout236 2> log/1/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 07:51:09.696048 ====> Client connect 07:51:09.696201 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.696528 < "USER anonymous" 07:51:09.696579 > "331 We are happy you popped in![CR][LF]" 07:51:09.696884 < "PASS ftp@example.com" 07:51:09.696908 > "230 Welcome you silly person[CR][LF]" 07:51:09.697041 < "PWD" 07:51:09.697068 > "257 "/" is current directory[CR][LF]" 07:51:09.697292 < "EPSV" 07:51:09.697318 ====> Passive DATA channel requested by client 07:51:09.697333 DATA sockfilt for passive data channel starting... 07:51:09.699382 DATA sockfilt for passive data channel started (pid 89373) 07:51:09.699501 DATA sockfilt for passive data channel listens on port 41101 07:51:09.699540 > "229 Entering Passive Mode (|||41101|)[CR][LF]" 07:51:09.699561 Client has been notified that DATA conn will be accepted on port 41101 07:51:09.699821 Client connects to port 41101 07:51:09.699858 ====> Client established passive DATA connection on port 41101 07:51:09.699941 < "TYPE I" 07:51:09.699968 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.700124 < "SIZE verifiedserver" 07:51:09.700163 > "213 17[CR][LF]" 07:51:09.700309 < "RETR verifiedserver" 07:51:09.700342 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.700430 =====> Closing passive DATA connection... 07:51:09.700445 Server disconnects passive DATA connection 07:51:09.700608 Server disconnected passive DATA connection 07:51:09.700629 DATA sockfilt for passive data channel quits (pid 89373) 07:51:09.700955 DATA sockfilt for passive data channel quit (pid 89373) 07:51:09.700979 =====> Closed passive DATA connection 07:51:09.701009 > "226 File transfer complete[CR][LF]" 07:51:09.741554 < "QUIT" 07:51:09.741608 > "221 bye bye baby[CR][LF]" 07:51:09.742229 MAIN sockfilt said DISC 07:51:09.742267 ====> Client disconnected 07:51:09.742336 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.523890 ====> Client connect 07:51:09.524151 Received DATA (on stdin) 07:51:09.524181 > 160 bytes data, server => client 07:51:09.524195 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.524207 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.524218 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.524306 < 16 bytes data, client => server 07:51:09.524320 'USER anonymous\r\n' 07:51:09.524660 Received DATA (on stdin) 07:51:09.524679 > 33 bytes data, server => client 07:51:09.524691 '331 We are happy you popped in!\r\n' 07:51:09.524743 < 22 bytes data, client => server 07:51:09.524754 'PASS ftp@example.com\r\n' 07:51:09.524854 Received DATA (on stdin) 07:51:09.524864 > 30 bytes data, server => client 07:51:09.524874 '230 Welcome you silly person\r\n' 07:51:09.524915 < 5 bytes data, client => server 07:51:09.524925 'PWD\r\n' 07:51:09.525012 Received DATA (on stdin) 07:51:09.525045 > 30 bytes data, server => client 07:51:09.525058 '257 "/" is current directory\r\n' 07:51:09.525148 < 6 bytes data, client => server 07:51:09.525164 'EPSV\r\n' 07:51:09.527516 Received DATA (on stdin) 07:51:09.527531 > 39 bytes data, server => client 07:51:09.527543 '229 Entering Passive Mode (|||41101|)\r\n' 07:51:09.527680 < 8 bytes data, client => server 07:51:09.527696 'TYPE I\r\n' 07:51:09.527916 Received DATA (on stdin) 07:51:09.527930 > 33 bytes data, server => client 07:51:09.527942 '200 I modify TYPE as you wanted\r\n' 07:51:09.527992 < 21 bytes data, client => server 07:51:09.528004 'SIZE verifiedserver\r\n' 07:51:09.528109 Received DATA (on stdin) 07:51:09.528121 > 8 bytes data, server => client 07:51:09.528133 '213 17\r\n' 07:51:09.528177 < 21 bytes data, client => server 07:51:09.528189 'RETR verifiedserver\r\n' 07:51:09.528395 Received DATA (on stdin) 07:51:09.528408 > 29 bytes data, server => client 07:51:09.528420 '150 Binary junk (17 bytes).\r\n' 07:51:09.528958 Received DATA (on stdin) 07:51:09.528972 > 28 bytes data, server => client 07:51:09.528984 '226 File transfer complete\r\n' 07:51:09.569333 < 6 bytes data, client => server 07:51:09.569359 'QUIT\r\n' 07:51:09.569548 Received DATA (on stdin) 07:51:09.569584 > 18 bytes data, server => client 07:51:09.569598 '221 bye bye babyCMD (33792): ../libtool --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/valgrind239 ../src/curl -q --output log/2/curl239.out --include --trace-ascii log/2/trace239 --trace-time http://127.0.0.1:43955/239 --proxy http://127.0.0.1:43955 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/2/stdout239 2> log/2/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/14/valgrind235 ../src/curl -q --output log/14/curl235.out --include --trace-ascii log/14/trace235 --trace-time ftp://127.0.0.1:39555/235 -T log/14/upload235 -C - > log/14/stdout235 2> log/14/stderr235 CMD (33792): ../libtool --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/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:46223/238 > log/11/stdout238 2> log/11/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/12/valgrind237 ../src/curl -q --output log/12/curl237.out --include --trace-ascii log/12/trace237 --trace-time ftp://127.0.0.1:46141/237 --disable-epsv > log/12/stdout237 2> log/12/stderr237 \r\n' 07:51:09.570116 ====> Client disconnect 07:51:09.570290 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.527003 Running IPv4 version 07:51:09.527069 Listening on port 41101 07:51:09.527105 Wrote pid 89373 to log/1/server/ftp_sockdata.pid 07:51:09.527270 Received PING (on stdin) 07:51:09.527356 Received PORT (on stdin) 07:51:09.527720 ====> Client connect 07:51:09.528444 Received DATA (on stdin) 07:51:09.528458 > 17 bytes data, server => client 07:51:09.528469 'WE ROOLZ: 83307\r\n' 07:51:09.528496 Received DISC (on stdin) 07:51:09.528508 ====> Client forcibly disconnected 07:51:09.528663 Received QUIT (on stdin) 07:51:09.528677 quits 07:51:09.528728 ============> 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 ==89426== ==89426== Process terminating with default action of signal 4 (SIGILL) ==89426== Illegal opcode at address 0x4013DC0 ==89426== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89426== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89426== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89426== by 0x40037A4: main (tool_main.c:199) === End of file valgrind236 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/2/valgrind239 ../src/curl -q --output log/2/curl239.out --include --trace-ascii log/2/trace239 --trace-time http://127.0.0.1:43955/239 --proxy http://127.0.0.1:43955 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/2/stdout239 2> log/2/stderr239 239: 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/ dir 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/2/valgrind239 ../src/curl -q --output log/2/curl239.out --include --trace-ascii log/2/trace239 --trace-time http://127.0.0.1:43955/239 --proxy http://127.0.0.1:43955 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/2/stdout239 2> log/2/stderr239 === End of file commands.log === Start of file http_server.log 07:51:10.545794 ====> Client connect 07:51:10.545829 accept_connection 3 returned 4 07:51:10.545857 accept_connection 3 returned 0 07:51:10.545873 Read 93 bytes 07:51:10.545884 Process 93 bytes request 07:51:10.545899 Got request: GET /verifiedserver HTTP/1.1 07:51:10.545909 Are-we-friendly question received 07:51:10.545935 Wrote request (93 bytes) input to log/2/server.input 07:51:10.545954 Identifying ourselves as friends 07:51:10.546011 Response sent (56 bytes) and written to log/2/server.response 07:51:10.546022 special request received, no persistency 07:51:10.546032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind239 ==89397== ==89397== Process terminating with default action of signal 4 (SIGILL) ==89397== Illegal opcode at address 0x4013DC0 ==89397== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89397== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89397== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89397== by 0x40037A4: main (tool_main.c:199) === End of file valgrind239 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/14/valgrind235 ../src/curl -q --output log/14/curl235.out --include --trace-ascii log/14/trace235 --trace-time ftp://127.0.0.1:39555/235 -T log/14/upload235 -C - > log/14/stdout235 2> log/14/stderr235 235: 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/ dir 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/14/valgrind235 ../src/curl -q --output log/14/curl235.out --include --trace-ascii log/14/trace235 --trace-time ftp://127.0.0.1:39555/235 -T log/14/upload235 -C - > log/14/stdout235 2> log/14/stderr235 === End of file commands.log === Start of file ftp_server.log 07:51:09.687435 ====> Client connect 07:51:09.687606 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.688094 < "USER anonymous" 07:51:09.688129 > "331 We are happy you popped in![CR][LF]" 07:51:09.688287 < "PASS ftp@example.com" 07:51:09.688311 > "230 Welcome you silly person[CR][LF]" 07:51:09.688448 < "PWD" 07:51:09.688477 > "257 "/" is current directory[CR][LF]" 07:51:09.688620 < "EPSV" 07:51:09.688647 ====> Passive DATA channel requested by client 07:51:09.688659 DATA sockfilt for passive data channel starting... 07:51:09.690400 DATA sockfilt for passive data channel started (pid 89359) 07:51:09.690512 DATA sockfilt for passive data channel listens on port 42007 07:51:09.690551 > "229 Entering Passive Mode (|||42007|)[CR][LF]" 07:51:09.690567 Client has been notified that DATA conn will be accepted on port 42007 07:51:09.690785 Client connects to port 42007 07:51:09.690814 ====> Client established passive DATA connection on port 42007 07:51:09.691013 < "TYPE I" 07:51:09.691047 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.691848 < "SIZE verifiedserver" 07:51:09.691891 > "213 17[CR][LF]" 07:51:09.692301 < "RETR verifiedserver" 07:51:09.692468 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.692679 =====> Closing passive DATA connection... 07:51:09.692705 Server disconnects passive DATA connection 07:51:09.693065 Server disconnected passive DATA connection 07:51:09.693101 DATA sockfilt for passive data channel quits (pid 89359) 07:51:09.693703 DATA sockfilt for passive data channel quit (pid 89359) 07:51:09.693748 =====> Closed passive DATA connection 07:51:09.693784 > "226 File transfer complete[CR][LF]" 07:51:09.738581 < "QUIT" 07:51:09.738628 > "221 bye bye baby[CR][LF]" 07:51:09.739508 MAIN sockfilt said DISC 07:51:09.739547 ====> Client disconnected 07:51:09.739619 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.515277 ====> Client connect 07:51:09.515563 Received DATA (on stdin) 07:51:09.515578 > 160 bytes data, server => client 07:51:09.515590 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.515601 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.515611 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.515874 < 16 bytes data, client => server 07:51:09.515888 'USER anonymous\r\n' 07:51:09.516079 Received DATA (on stdin) 07:51:09.516091 > 33 bytes data, server => client 07:51:09.516102 '331 We are happy you popped in!\r\n' 07:51:09.516150 < 22 bytes data, client => server 07:51:09.516161 'PASS ftp@example.com\r\n' 07:51:09.516256 Received DATA (on stdin) 07:51:09.516267 > 30 bytes data, server => client 07:51:09.516277 '230 Welcome you silly person\r\n' 07:51:09.516320 < 5 bytes data, client => server 07:51:09.516331 'PWD\r\n' 07:51:09.516422 Received DATA (on stdin) 07:51:09.516434 > 30 bytes data, server => client 07:51:09.516444 '257 "/" is current directory\r\n' 07:51:09.516494 < 6 bytes data, client => server 07:51:09.516505 'EPSV\r\n' 07:51:09.518522 Received DATA (on stdin) 07:51:09.518536 > 39 bytes data, server => client 07:51:09.518547 '229 Entering Passive Mode (|||42007|)\r\n' 07:51:09.518653 < 8 bytes data, client => server 07:51:09.518668 'TYPE I\r\n' 07:51:09.518995 Received DATA (on stdin) 07:51:09.519007 > 33 bytes data, server => client 07:51:09.519033 '200 I modify TYPE as you wanted\r\n' 07:51:09.519695 < 21 bytes data, client => server 07:51:09.519713 'SIZE verifiedserver\r\n' 07:51:09.519839 Received DATA (on stdin) 07:51:09.519850 > 8 bytes data, server => client 07:51:09.519861 '213 17\r\n' 07:51:09.519940 < 21 bytes data, client => server 07:51:09.519975 'RETR verifiedserver\r\n' 07:51:09.520672 Received DATA (on stdin) 07:51:09.520695 > 29 bytes data, server => client 07:51:09.520708 '150 Binary junk (17 bytes).\r\n' 07:51:09.521747 Received DATA (on stdin) 07:51:09.521765 > 28 bytes data, server => client 07:51:09.521778 '226 File transfer complete\r\n' 07:51:09.566358 < 6 bytes data, client => server 07:51:09.566390 'QUIT\r\n' 07:51:09.566583 Received DATA (on stdin) 07:51:09.566598 > 18 bytes data, server => client 07:51:09.566610 '221 bye bye baby\r\n' 07:51:09.567391 ====> Client disconnect 07:51:09.567572 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.518070 Running IPv4 version 07:51:09.518128 Listening on port 42007 07:51:09.518162 Wrote pid 89359 to log/14/server/ftp_sockdata.pid 07:51:09.518295 Received PING (on stdin) 07:51:09.518374 Received PORT (on stdin) 07:51:09.518688 ====> Client connect 07:51:09.520812 Received DATA (on stdin) 07:51:09.520825 > 17 bytes data, server => client 07:51:09.520837 'WE ROOLZ: 81000\r\n' 07:51:09.520867 Received DISC (on stdin) 07:51:09.520879 ====> Client forcibly disconnected 07:51:09.521063 Received QUIT (on stdin) 07:51:09.521075 quits 07:51:09.521131 ============> 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're gonna upload worx? === End of file upload235 === Start of file valgrind235 ==89418== ==89418== Process terminating with default action of signal 4 (SIGILL) ==89418== Illegal opcode at address 0x4013DC0 ==89418== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89418== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89418== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89418== by 0x40037A4: main (tool_main.c:199) === End of file valgrind235 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/11/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:46223/238 > log/11/stdout238 2> log/11/stderr238 238: 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/ dir 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/11/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:46223/238 > log/11/stdout238 2> log/11/stderr238 === End of file commands.log === Start of file ftp_server.log 07:51:09.701925 ====> Client connect 07:51:09.702078 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.702438 < "USER anonymous" 07:51:09.702485 > "331 We are happy you popped in![CR][LF]" 07:51:09.702671 < "PASS ftp@example.com" 07:51:09.702698 > "230 Welcome you silly person[CR][LF]" 07:51:09.702849 < "PWD" 07:51:09.702880 > "257 "/" is current directory[CR][LF]" 07:51:09.703035 < "EPSV" 07:51:09.703058 ====> Passive DATA channel requested by client 07:51:09.703072 DATA sockfilt for passive data channel starting... 07:51:09.704939 DATA sockfilt for passive data channel started (pid 89381) 07:51:09.705517 DATA sockfilt for passive data channel listens on port 36537 07:51:09.705564 > "229 Entering Passive Mode (|||36537|)[CR][LF]" 07:51:09.705583 Client has been notified that DATA conn will be accepted on port 36537 07:51:09.705779 Client connects to port 36537 07:51:09.705820 ====> Client established passive DATA connection on port 36537 07:51:09.705910 < "TYPE I" 07:51:09.705948 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.706214 < "SIZE verifiedserver" 07:51:09.706276 > "213 17[CR][LF]" 07:51:09.706503 < "RETR verifiedserver" 07:51:09.706554 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.706809 =====> Closing passive DATA connection... 07:51:09.706838 Server disconnects passive DATA connection 07:51:09.706999 Server disconnected passive DATA connection 07:51:09.707029 DATA sockfilt for passive data channel quits (pid 89381) 07:51:09.707320 DATA sockfilt for passive data channel quit (pid 89381) 07:51:09.707350 =====> Closed passive DATA connection 07:51:09.707381 > "226 File transfer complete[CR][LF]" 07:51:09.751686 < "QUIT" 07:51:09.751743 > "221 bye bye baby[CR][LF]" 07:51:09.752742 MAIN sockfilt said DISC 07:51:09.752796 ====> Client disconnected 07:51:09.752884 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.529728 ====> Client connect 07:51:09.530084 Received DATA (on stdin) 07:51:09.530111 > 160 bytes data, server => client 07:51:09.530126 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.530138 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.530150 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.530231 < 16 bytes data, client => server 07:51:09.530245 'USER anonymous\r\n' 07:51:09.530437 Received DATA (on stdin) 07:51:09.530452 > 33 bytes data, server => client 07:51:09.530465 '331 We are happy you popped in!\r\n' 07:51:09.530522 < 22 bytes data, client => server 07:51:09.530535 'PASS ftp@example.com\r\n' 07:51:09.530644 Received DATA (on stdin) 07:51:09.530656 > 30 bytes data, server => client 07:51:09.530667 '230 Welcome you silly person\r\n' 07:51:09.530714 < 5 bytes data, client => server 07:51:09.530725 'PWD\r\n' 07:51:09.530825 Received DATA (on stdin) 07:51:09.530836 > 30 bytes data, server => client 07:51:09.530848 '257 "/" is current directory\r\n' 07:51:09.530902 < 6 bytes data, client => server 07:51:09.530914 'EPSV\r\n' 07:51:09.533537 Received DATA (on stdin) 07:51:09.533551 > 39 bytes data, server => client 07:51:09.533563 '229 Entering Passive Mode (|||36537|)\r\n' 07:51:09.533701 < 8 bytes data, client => server 07:51:09.533713 'TYPE I\r\n' 07:51:09.533902 Received DATA (on stdin) 07:51:09.533917 > 33 bytes data, server => client 07:51:09.533931 '200 I modify TYPE as you wanted\r\n' 07:51:09.534007 < 21 bytes data, client => server 07:51:09.534034 'SIZE verifiedserver\r\n' 07:51:09.534234 Received DATA (on stdin) 07:51:09.534251 > 8 bytes data, server => client 07:51:09.534263 '213 17\r\n' 07:51:09.534342 < 21 bytes data, client => server 07:51:09.534358 'RETR verifiedserver\r\n' 07:51:09.534570 Received DATA (on stdin) 07:51:09.534588 > 29 bytes data, server => client 07:51:09.534616 '150 Binary junk (17 bytes).\r\n' 07:51:09.535333 Received DATA (on stdin) 07:51:09.535348 > 28 bytes data, server => client 07:51:09.535361 '226 File transfer complete\r\n' 07:51:09.579466 < 6 bytes data, client => server 07:51:09.579492 'QUIT\r\n' 07:51:09.579701 Received DATA (on stdin) 07:51:09.579718 > 18 bytes data, server => client 07:51:09.579731 '221 bye bye baby\r\n' 07:51:09.580617 ====> Client disconnect 07:51:09.580843 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.532688 Running IPv4 version 07:51:09.532760 Listening on port 36537 07:51:09.532806 Wrote pid 89381 to log/11/server/ftp_sockdata.pid 07:51:09.532829 Received PING (on stdin) 07:51:09.533373 Received PORT (on stdin) 07:51:09.533674 ====> Client connect 07:51:09.534669 Received DATA (on stdin) 07:51:09.534692 > 17 bytes data, server => client 07:51:09.534705 'WE ROOLZ: 83264\r\n' 07:51:09.534858 Received DISC (on stdin) 07:51:09.534881 ====> Client forcibly disconnected 07:51:09.534990 Received QUIT (on stdin) 07:51:09.535004 quits 07:51:09.535071 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 229 Entering Passive Mode (|||1000000|) Testnum 238 === End of file server.cmd === Start of file valgrind238 ==89459== ==89459== Process terminating with default action of signal 4 (SIGILL) ==89459== Illegal opcode at address 0x4013DC0 ==89459== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind238 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/12/valgrind237 ../src/curl -q --output log/12/curl237.out --include --trace-ascii log/12/trace237 --trace-time ftp://127.0.0.1:46141/237 --disable-epsv > log/12/stdout237 2> log/12/stderr237 237: 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/ dir 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/12/valgrind237 ../src/curl -q --output log/12/curl237.out --include --trace-ascii log/12/trace237 --trace-time ftp://127.0.0.1:46141/237 --disable-epsv > log/12/stdout237 2> log/12/stderr237 === End of file commands.log === Start of file ftp_server.log 07:51:09.701894 ====> Client connect 07:51:09.702048 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.702333 < "USER anonymous" 07:51:09.702374 > "331 We are happy you popped in![CR][LF]" 07:51:09.702546 < "PASS ftp@example.com" 07:51:09.702572 > "230 Welcome you silly person[CR][LF]" 07:51:09.702711 < "PWD" 07:51:09.702742 > "257 "/" is current directory[CR][LF]" 07:51:09.702893 < "EPSV" 07:51:09.702914 ====> Passive DATA channel requested by client 07:51:09.702926 DATA sockfilt for passive data channel starting... 07:51:09.705112 DATA sockfilt for passive data channel started (pid 89379) 07:51:09.705220 DATA sockfilt for passive data channel listens on port 33255 07:51:09.705261 > "229 Entering Passive Mode (|||33255|)[CR][LF]" 07:51:09.705281 Client has been notified that DATA conn will be accepted on port 33255 07:51:09.705541 Client connects to port 33255 07:51:09.705571 ====> Client established passive DATA connection on port 33255 07:51:09.705651 < "TYPE I" 07:51:09.705679 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.705841 < "SIZE verifiedserver" 07:51:09.705881 > "213 17[CR][LF]" 07:51:09.706027 < "RETR verifiedserver" 07:51:09.706060 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.706147 =====> Closing passive DATA connection... 07:51:09.706163 Server disconnects passive DATA connection 07:51:09.706407 Server disconnected passive DATA connection 07:51:09.706435 DATA sockfilt for passive data channel quits (pid 89379) 07:51:09.707081 DATA sockfilt for passive data channel quit (pid 89379) 07:51:09.707110 =====> Closed passive DATA connection 07:51:09.707143 > "226 File transfer complete[CR][LF]" 07:51:09.751681 < "QUIT" 07:51:09.751731 > "221 bye bye baby[CR][LF]" 07:51:09.752254 MAIN sockfilt said DISC 07:51:09.752299 ====> Client disconnected 07:51:09.752364 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.529728 ====> Client connect 07:51:09.530009 Received DATA (on stdin) 07:51:09.530026 > 160 bytes data, server => client 07:51:09.530038 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.530048 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.530058 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.530128 < 16 bytes data, client => server 07:51:09.530140 'USER anonymous\r\n' 07:51:09.530325 Received DATA (on stdin) 07:51:09.530337 > 33 bytes data, server => client 07:51:09.530348 '331 We are happy you popped in!\r\n' 07:51:09.530397 < 22 bytes data, client => server 07:51:09.530408 'PASS ftp@example.com\r\n' 07:51:09.530518 Received DATA (on stdin) 07:51:09.530528 > 30 bytes data, server => client 07:51:09.530538 '230 Welcome you silly person\r\n' 07:51:09.530579 < 5 bytes data, client => server 07:51:09.530590 'PWD\r\n' 07:51:09.530687 Received DATA (on stdin) 07:51:09.530698 > 30 bytes data, server => client 07:51:09.530708 '257 "/" is current directory\r\n' 07:51:09.530763 < 6 bytes data, client => server 07:51:09.530774 'EPSV\r\n' 07:51:09.533234 Received DATA (on stdin) 07:51:09.533248 > 39 bytes data, server => client 07:51:09.533260 '229 Entering Passive Mode (|||33255|)\r\n' 07:51:09.533404 < 8 bytes data, client => server 07:51:09.533417 'TYPE I\r\n' 07:51:09.533629 Received DATA (on stdin) 07:51:09.533642 > 33 bytes data, server => client 07:51:09.533654 '200 I modify TYPE as you wanted\r\n' 07:51:09.533705 < 21 bytes data, client => server 07:51:09.533717 'SIZE verifiedserver\r\n' 07:51:09.533827 Received DATA (on stdin) 07:51:09.533840 > 8 bytes data, server => client 07:51:09.533851 '213 17\r\n' 07:51:09.533897 < 21 bytes data, client => server 07:51:09.533908 'RETR verifiedserver\r\n' 07:51:09.534113 Received DATA (on stdin) 07:51:09.534127 > 29 bytes data, server => client 07:51:09.534139 '150 Binary junk (17 bytes).\r\n' 07:51:09.535098 Received DATA (on stdin) 07:51:09.535114 > 28 bytes data, server => client 07:51:09.535128 '226 File transfer complete\r\n' 07:51:09.579461 < 6 bytes data, client => server 07:51:09.579490 'QUIT\r\n' 07:51:09.579683 Received DATA (on stdin) 07:51:09.579697 > 18 bytes data, server => client 07:51:09.579709 '221 bye bye baby\r\n' 07:51:09.580134 ====> Client disconnect 07:51:09.580317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.532629 Running IPv4 version 07:51:09.532694 Listening on port 33255 07:51:09.532734 Wrote pid 89379 to log/12/server/ftp_sockdata.pid 07:51:09.532998 Received PING (on stdin) 07:51:09.533079 Received PORT (on stdin) 07:51:09.533439 ====> Client connect 07:51:09.534163 Received DATA (on stdin) 07:51:09.534179 > 17 bytes data, server => client 07:51:09.534191 'WE ROOLZ: 80617\r\n' 07:51:09.534215 Received DISC (on stdin) 07:51:09.534227 ====> Client forcibly disconnected 07:51:09.534393 Received QUIT (on stdin) 07:51:09.534415 quits 07:51:09.534788 ============> sockfilt quits === End of file ftp_sockdata.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/8/valgrind243 ../src/curl -q --output log/8/curl243.out --include --trace-ascii log/8/trace243 --trace-time http://127.0.0.1:36147/243 --proxy http://127.0.0.1:36147 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/8/stdout243 2> log/8/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/3/valgrind244 ../src/curl -q --output log/3/curl244.out --include --trace-ascii log/3/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:41643/fir%23t/th%69rd/244/ > log/3/stdout244 2> log/3/stderr244 CMD (33792): ../libtool --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/valgrind246 ../src/curl -q --output log/9/curl246.out --include --trace-ascii log/9/trace246 --trace-time http://127.0.0.1:42717/246 -u auser:apasswd --digest -d "junkelijunk" > log/9/stdout246 2> log/9/stderr246 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 ==89463== ==89463== Process terminating with default action of signal 4 (SIGILL) ==89463== Illegal opcode at address 0x4013DC0 ==89463== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89463== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89463== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89463== by 0x40037A4: main (tool_main.c:199) === End of file valgrind237 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/3/valgrind244 ../src/curl -q --output log/3/curl244.out --include --trace-ascii log/3/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:41643/fir%23t/th%69rd/244/ > log/3/stdout244 2> log/3/stderr244 244: 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/ dir 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/3/valgrind244 ../src/curl -q --output log/3/curl244.out --include --trace-ascii log/3/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:41643/fir%23t/th%69rd/244/ > log/3/stdout244 2> log/3/stderr244 === End of file commands.log === Start of file ftp_server.log 07:51:09.989716 ====> Client connect 07:51:09.989861 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:09.990136 < "USER anonymous" 07:51:09.990195 > "331 We are happy you popped in![CR][LF]" 07:51:09.990447 < "PASS ftp@example.com" 07:51:09.990480 > "230 Welcome you silly person[CR][LF]" 07:51:09.990652 < "PWD" 07:51:09.990683 > "257 "/" is current directory[CR][LF]" 07:51:09.990855 < "EPSV" 07:51:09.990880 ====> Passive DATA channel requested by client 07:51:09.990895 DATA sockfilt for passive data channel starting... 07:51:09.992862 DATA sockfilt for passive data channel started (pid 89720) 07:51:09.992999 DATA sockfilt for passive data channel listens on port 35423 07:51:09.993047 > "229 Entering Passive Mode (|||35423|)[CR][LF]" 07:51:09.993066 Client has been notified that DATA conn will be accepted on port 35423 07:51:09.993269 Client connects to port 35423 07:51:09.993297 ====> Client established passive DATA connection on port 35423 07:51:09.993375 < "TYPE I" 07:51:09.993402 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:09.993534 < "SIZE verifiedserver" 07:51:09.993566 > "213 17[CR][LF]" 07:51:09.993685 < "RETR verifiedserver" 07:51:09.993708 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:09.993767 =====> Closing passive DATA connection... 07:51:09.993782 Server disconnects passive DATA connection 07:51:09.993902 Server disconnected passive DATA connection 07:51:09.993926 DATA sockfilt for passive data channel quits (pid 89720) 07:51:09.994121 DATA sockfilt for passive data channel quit (pid 89720) 07:51:09.994140 =====> Closed passive DATA connection 07:51:09.994164 > "226 File transfer complete[CR][LF]" 07:51:10.041502 < "QUIT" 07:51:10.041550 > "221 bye bye baby[CR][LF]" 07:51:10.042292 MAIN sockfilt said DISC 07:51:10.042352 ====> Client disconnected 07:51:10.042433 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.817569 ====> Client connect 07:51:09.817819 Received DATA (on stdin) 07:51:09.817834 > 160 bytes data, server => client 07:51:09.817844 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.817853 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.817862 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.817923 < 16 bytes data, client => server 07:51:09.817936 'USER anonymous\r\n' 07:51:09.818143 Received DATA (on stdin) 07:51:09.818169 > 33 bytes data, server => client 07:51:09.818183 '331 We are happy you popped in!\r\n' 07:51:09.818278 < 22 bytes data, client => server 07:51:09.818292 'PASS ftp@example.com\r\n' 07:51:09.818431 Received DATA (on stdin) 07:51:09.818445 > 30 bytes data, server => client 07:51:09.818458 '230 Welcome you silly person\r\n' 07:51:09.818512 < 5 bytes data, client => server 07:51:09.818524 'PWD\r\n' 07:51:09.818632 Received DATA (on stdin) 07:51:09.818645 > 30 bytes data, server => client 07:51:09.818657 '257 "/" is current directory\r\n' 07:51:09.818716 < 6 bytes data, client => server 07:51:09.818729 'EPSV\r\n' 07:51:09.821018 Received DATA (on stdin) 07:51:09.821032 > 39 bytes data, server => client 07:51:09.821042 '229 Entering Passive Mode (|||35423|)\r\n' 07:51:09.821169 < 8 bytes data, client => server 07:51:09.821180 'TYPE I\r\n' 07:51:09.821346 Received DATA (on stdin) 07:51:09.821357 > 33 bytes data, server => client 07:51:09.821366 '200 I modify TYPE as you wanted\r\n' 07:51:09.821409 < 21 bytes data, client => server 07:51:09.821418 'SIZE verifiedserver\r\n' 07:51:09.821509 Received DATA (on stdin) 07:51:09.821519 > 8 bytes data, server => client 07:51:09.821527 '213 17\r\n' 07:51:09.821564 < 21 bytes data, client => server 07:51:09.821573 'RETR verifiedserver\r\n' 07:51:09.821732 Received DATA (on stdin) 07:51:09.821757 > 29 bytes data, server => client 07:51:09.821771 '150 Binary junk (17 bytes).\r\n' 07:51:09.822111 Received DATA (on stdin) 07:51:09.822124 > 28 bytes data, server => client 07:51:09.822133 '226 File transfer complete\r\n' 07:51:09.869290 < 6 bytes data, client => server 07:51:09.869316 'QUIT\r\n' 07:51:09.869502 Received DATA (on stdin) 07:51:09.869515 > 18 bytes data, server => client 07:51:09.869527 '221 bye bye baby\r\n' 07:51:09.870177 ====> Client disconnect 07:51:09.870391 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:09.820627 Running IPv4 version 07:51:09.820687 Listening on port 35423 07:51:09.820724 Wrote pid 89720 to log/3/server/ftp_sockdata.pid 07:51:09.820746 Received PING (on stdin) 07:51:09.820846 Received PORT (on stdin) 07:51:09.821145 ====> Client connect 07:51:09.821734 Received DATA (on stdin) 07:51:09.821748 > 17 bytes data, server => client 07:51:09.821761 'WE ROOLZ: 80340\r\n' 07:51:09.821787 Received DISC (on stdin) 07:51:09.821801 ====> Client forcibly disconnected 07:51:09.821884 Received QUIT (on stdin) 07:51:09.821896 quits 07:51:09.821947 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==89886== ==89886== Process terminating with default action of signal 4 (SIGILL) ==89886== Illegal opcode at address 0x4013DC0 ==89886== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89886== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89886== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89886== by 0x40037A4: main (tool_main.c:199) === End of file valgrind244 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/8/valgrind243 ../src/curl -q --output log/8/curl243.out --include --trace-ascii log/8/trace243 --trace-time http://127.0.0.1:36147/243 --proxy http://127.0.0.1:36147 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/8/stdout243 2> log/8/stderr243 243: 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/ dir after test 243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/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/22/valgrind245 ../src/curl -q --output log/22/curl245.out --include --trace-ascii log/22/trace245 --trace-time http://127.0.0.1:40377/245 -u auser:apasswd --digest -d "junkelijunk" > log/22/stdout245 2> log/22/stderr245 CMD (33792): ../libtool --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/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:37071/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 dir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind243 ../src/curl -q --output log/8/curl243.out --include --trace-ascii log/8/trace243 --trace-time http://127.0.0.1:36147/243 --proxy http://127.0.0.1:36147 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/8/stdout243 2> log/8/stderr243 === End of file commands.log === Start of file http_server.log 07:51:09.817025 ====> Client connect 07:51:09.817059 accept_connection 3 returned 4 07:51:09.817075 accept_connection 3 returned 0 07:51:09.817089 Read 93 bytes 07:51:09.817099 Process 93 bytes request 07:51:09.817112 Got request: GET /verifiedserver HTTP/1.1 07:51:09.817123 Are-we-friendly question received 07:51:09.817146 Wrote request (93 bytes) input to log/8/server.input 07:51:09.817164 Identifying ourselves as friends 07:51:09.817225 Response sent (56 bytes) and written to log/8/server.response 07:51:09.817237 special request received, no persistency 07:51:09.817247 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind243 ==89745== ==89745== Process terminating with default action of signal 4 (SIGILL) ==89745== Illegal opcode at address 0x4013DC0 ==89745== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89745== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89745== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89745== by 0x40037A4: main (tool_main.c:199) === End of file valgrind243 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/9/valgrind246 ../src/curl -q --output log/9/curl246.out --include --trace-ascii log/9/trace246 --trace-time http://127.0.0.1:42717/246 -u auser:apasswd --digest -d "junkelijunk" > log/9/stdout246 2> log/9/stderr246 246: 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/ dir 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/9/valgrind246 ../src/curl -q --output log/9/curl246.out --include --trace-ascii log/9/trace246 --trace-time http://127.0.0.1:42717/246 -u auser:apasswd --digest -d "junkelijunk" > log/9/stdout246 2> log/9/stderr246 === End of file commands.log === Start of file http_server.log 07:51:09.828059 ====> Client connect 07:51:09.828092 accept_connection 3 returned 4 07:51:09.828109 accept_connection 3 returned 0 07:51:09.828222 Read 93 bytes 07:51:09.828236 Process 93 bytes request 07:51:09.828248 Got request: GET /verifiedserver HTTP/1.1 07:51:09.828258 Are-we-friendly question received 07:51:09.828286 Wrote request (93 bytes) input to log/9/server.input 07:51:09.828304 Identifying ourselves as friends 07:51:09.828363 Response sent (56 bytes) and written to log/9/server.response 07:51:09.828373 special request received, no persistency 07:51:09.828384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 54430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind246 ==89778== ==89778== Process terminating with default action of signal 4 (SIGILL) ==89778== Illegal opcode at address 0x4013DC0 ==89778== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89778== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89778== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89778== by 0x40037A4: main (tool_main.c:199) === End of file valgrind246 test 0245...[HTTP POST --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/22/valgrind245 ../src/curl -q --output log/22/curl245.out --include --trace-ascii log/22/trace245 --trace-time http://127.0.0.1:40377/245 -u auser:apasswd --digest -d "junkelijunk" > log/22/stdout245 2> log/22/stderr245 245: 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/ dir 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/22/valgrind245 ../src/curl -q --output log/22/curl245.out --include --trace-ascii log/22/trace245 --trace-time http://127.0.0.1:40377/245 -u auser:apasswd --digest -d "junkelijunk" > log/22/stdout245 2> log/22/stderr245 === End of file commands.log === Start of file http_server.log 07:51:09.825682 ====> Client connect 07:51:09.825711 accept_connection 3 returned 4 07:51:09.825727 accept_connection 3 returned 0 07:51:09.825739 Read 93 bytes 07:51:09.825750 Process 93 bytes request 07:51:09.825762 Got request: GET /verifiedserver HTTP/1.1 07:51:09.825771 Are-we-friendly question received 07:51:09.825793 Wrote request (93 bytes) input to log/22/server.input 07:51:09.825808 Identifying ourselves as friends 07:51:09.825878 Response sent (56 bytes) and written to log/22/server.response 07:51:09.825888 special request received, no persistency 07:51:09.825897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind245 ==89746== ==89746== Process terminating with default action of signal 4 (SIGILL) ==89746== Illegal opcode at address 0x4013DC0 ==89746== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89746== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89746== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89746== by 0x40037A4: main (tool_main.c:199) === End of file valgrind245 test 0248...[FTP upload time condition evaluates FALSE => upload anyway] ../libtool --mode=execute /usr/binCMD (33792): ../libtool --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/valgrind249 ../src/curl -q --output log/19/curl249.out --include --trace-ascii log/19/trace249 --trace-time http://127.0.0.1:34835/249 -z "dec 12 12:00:00 1999 GMT" > log/19/stdout249 2> log/19/stderr249 /valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:37071/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 248: 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/ dir 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/4/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:37071/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 === End of file commands.log === Start of file ftp_server.log 07:51:10.030610 ====> Client connect 07:51:10.030788 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:10.031105 < "USER anonymous" 07:51:10.031148 > "331 We are happy you popped in![CR][LF]" 07:51:10.031402 < "PASS ftp@example.com" 07:51:10.031433 > "230 Welcome you silly person[CR][LF]" 07:51:10.031602 < "PWD" 07:51:10.031633 > "257 "/" is current directory[CR][LF]" 07:51:10.031804 < "EPSV" 07:51:10.031829 ====> Passive DATA channel requested by client 07:51:10.031843 DATA sockfilt for passive data channel starting... 07:51:10.033806 DATA sockfilt for passive data channel started (pid 89810) 07:51:10.033954 DATA sockfilt for passive data channel listens on port 44709 07:51:10.034003 > "229 Entering Passive Mode (|||44709|)[CR][LF]" 07:51:10.034023 Client has been notified that DATA conn will be accepted on port 44709 07:51:10.034229 Client connects to port 44709 07:51:10.034252 ====> Client established passive DATA connection on port 44709 07:51:10.034344 < "TYPE I" 07:51:10.034376 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:10.034617 < "SIZE verifiedserver" 07:51:10.034661 > "213 17[CR][LF]" 07:51:10.035820 < "RETR verifiedserver" 07:51:10.035860 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:10.035955 =====> Closing passive DATA connection... 07:51:10.035971 Server disconnects passive DATA connection 07:51:10.036374 Server disconnected passive DATA connection 07:51:10.036406 DATA sockfilt for passive data channel quits (pid 89810) 07:51:10.037038 DATA sockfilt for passive data channel quit (pid 89810) 07:51:10.037066 =====> Closed passive DATA connection 07:51:10.037092 > "226 File transfer complete[CR][LF]" 07:51:10.078918 < "QUIT" 07:51:10.078982 > "221 bye bye baby[CR][LF]" 07:51:10.081362 MAIN sockfilt said DISC 07:51:10.081404 ====> Client disconnected 07:51:10.081471 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.858444 ====> Client connect 07:51:09.858753 Received DATA (on stdin) 07:51:09.858771 > 160 bytes data, server => client 07:51:09.858785 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.858799 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.858810 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.858892 < 16 bytes data, client => server 07:51:09.858907 'USER anonymous\r\n' 07:51:09.859102 Received DATA (on stdin) 07:51:09.859116 > 33 bytes data, server => client 07:51:09.859129 '331 We are happy you popped in!\r\n' 07:51:09.859235 < 22 bytes data, client => server 07:51:09.859251 'PASS ftp@example.com\r\n' 07:51:09.859386 Received DATA (on stdin) 07:51:09.859399 > 30 bytes data, server => client 07:51:09.859411 '230 Welcome you silly person\r\n' 07:51:09.859462 < 5 bytes data, client => server 07:51:09.859474 'PWD\r\n' 07:51:09.859581 Received DATA (on stdin) 07:51:09.859594 > 30 bytes data, server => client 07:51:09.859606 '257 "/" is current directory\r\n' 07:51:09.859667 < 6 bytes data, client => server 07:51:09.859679 'EPSV\r\n' 07:51:09.861969 Received DATA (on stdin) 07:51:09.861991 > 39 bytes data, server => client 07:51:09.862003 '229 Entering Passive Mode (|||44709|)\r\n' 07:51:09.862158 < 8 bytes data, client => server 07:51:09.862171 'TYPE I\r\n' 07:51:09.862329 Received DATA (on stdin) 07:51:09.862347 > 33 bytes data, server => client 07:51:09.862359 '200 I modify TYPE as you wanted\r\n' 07:51:09.862452 < 21 bytes data, client => server 07:51:09.862465 'SIZE verifiedserver\r\n' 07:51:09.863576 Received DATA (on stdin) 07:51:09.863593 > 8 bytes data, server => client 07:51:09.863603 '213 17\r\n' 07:51:09.863668 < 21 bytes data, client => server 07:51:09.863681 'RETR verifiedserver\r\n' 07:51:09.863921 Received DATA (on stdin) 07:51:09.863934 > 29 bytes data, server => client 07:51:09.863946 '150 Binary junk (17 bytes).\r\n' 07:51:09.865028 Received DATA (on stdin) 07:51:09.865047 > 28 bytes data, server => client 07:51:09.865059 '226 File transfer complete\r\n' 07:51:09.906090 < 6 bytes data, client => server 07:51:09.906120 'QUIT\r\n' 07:51:09.907642 Received DATA (on stdin) 07:51:09.907672 > 18 bytes data, server => client 07:51:09.907685 '221 bye bye baby\r\n' 07:51:09.909241 ====> Client disconnect 07:51:09.909424 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:10.861539 Running IPv4 version 07:51:10.861613 Listening on port 44709 07:51:10.861652 Wrote pid 89810 to log/4/server/ftp_sockdata.pid 07:51:10.861678 Received PING (on stdin) 07:51:10.861802 Received PORT (on stdin) 07:51:10.862124 ====> Client connect 07:51:10.864194 Received DATA (on stdin) 07:51:10.864216 > 17 bytes data, server => client 07:51:10.864227 'WE ROOLZ: 80637\r\n' 07:51:10.864256 Received DISC (on stdin) 07:51:10.864270 ====> Client forcibly disconnected 07:51:10.864362 Received QUIT (on stdin) 07:51:10.864411 quits 07:51:10.864501 ============> 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 ==89963== ==89963== Process terminating with default action of signal 4 (SIGILL) ==89963== Illegal opcode at address 0x4013DC0 ==89963== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==89963== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89963== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==89963== by 0x40037A4: main (tool_main.c:199) === End of file valgrind248 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/19/valgrind249 ../src/curl -q --output log/19/curl249.out --include --trace-ascii log/19/trace249 --trace-time http://127.0.0.1:34835/249 -z "dec 12 12:00:00 1999 GMT" > log/19/stdout249 2> log/19/stderr249 249: 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/ dir 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/19/valgrind249 ../src/curl -q --output log/19/curl249.out --include --trace-ascii log/19/trace249 --trace-time http://127.0.0.1:34835/249 -z "dec 12 12:00:00 1999 GMT" > log/19/stdout249 2> log/19/stderr249 === End of file commands.log === Start of file http_server.log 07:51:09.926112 ====> Client connect 07:51:09.926143 accept_connection 3 returned 4 07:51:09.926159 accept_connection 3 returned 0 07:51:09.926173 Read 93 bytes 07:51:09.926183 Process 93 bytes request 07:51:09.926197 Got CMD (33792): ../libtool --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/valgrind251 ../src/curl -q --output log/23/curl251.out --include --trace-ascii log/23/trace251 --trace-time ftp://127.0.0.1:39237/ -P 127.0.0.1 > log/23/stdout251 2> log/23/stderr251 request: GET /verifiedserver HTTP/1.1 07:51:09.926207 Are-we-friendly question received 07:51:09.926230 Wrote request (93 bytes) input to log/19/server.input 07:51:09.926246 Identifying ourselves as friends 07:51:09.926297 Response sent (56 bytes) and written to log/19/server.response 07:51:09.926307 special request received, no persistency 07:51:09.926316 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind249 ==90024== ==90024== Process terminating with default action of signal 4 (SIGILL) ==90024== Illegal opcode at address 0x4013DC0 ==90024== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90024== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90024== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90024== by 0x40037A4: main (tool_main.c:199) === End of file valgrind249 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/23/valgrind251 ../src/curl -q --output log/23/curl251.out --include --trace-ascii log/23/trace251 --trace-time ftp://127.0.0.1:39237/ -P 127.0.0.1 > log/23/stdout251 2> log/23/stderr251 251: 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/ dir 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/23/valgrind251 ../src/curl -q --output log/23/curl251.out --include --trace-ascii log/23/trace251 --trace-time ftp://127.0.0.1:39237/ -P 127.0.0.1 > log/23/stdout251 2> log/23/stderr251 === End of file commands.log === Start of file ftp_server.log 07:51:10.118046 ====> Client connect 07:51:10.118208 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:10.118519 < "USER anonymous" 07:51:10.118563 > "331 We are happy you popped in![CR][LF]" 07:51:10.118798 < "PASS ftp@example.com" 07:51:10.118846 > "230 Welcome you silly person[CR][LF]" 07:51:10.119090 < "PWD" 07:51:10.119133 > "257 "/" is current directory[CR][LF]" 07:51:10.119329 < "EPSV" 07:51:10.119357 ====> Passive DATA channel requested by client 07:51:10.119372 DATA sockfilt for passive data channel starting... 07:51:10.121159 DATA sockfilt for passive data channel started (pid 90045) 07:51:10.121279 DATA sockfilt for passive data channel listens on port 42477 07:51:10.121323 > "229 Entering Passive Mode (|||42477|)[CR][LF]" 07:51:10.121341 Client has been notified that DATA conn will be accepted on port 42477 07:51:10.121739 Client connects to port 42477 07:51:10.121779 ====> Client established passive DATA connection on port 42477 07:51:10.121886 < "TYPE I" 07:51:10.121923 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:10.122137 < "SIZE verifiedserver" 07:51:10.122185 > "213 17[CR][LF]" 07:51:10.122344 < "RETR verifiedserver" 07:51:10.122378 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:10.122470 =====> Closing passive DATA connection... 07:51:10.122486 Server disconnects passive DATA connection 07:51:10.122746 Server disconnected passive DATA connection 07:51:10.122777 DATA sockfilt for passive data channel quits (pid 90045) 07:51:10.123296 DATA sockfilt for passive data channel quit (pid 90045) 07:51:10.123326 =====> Closed passive DATA connection 07:51:10.123359 > "226 File transfer complete[CR][LF]" 07:51:10.166482 < "QUIT" 07:51:10.166555 > "221 bye bye baby[CR][LF]" 07:51:10.167710 MAIN sockfilt said DISC 07:51:10.167762 ====> Client disconnected 07:51:10.167848 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.945887 ====> Client connect 07:51:09.946175 Received DATA (on stdin) 07:51:09.946194 > 160 bytes data, server => client 07:51:09.946208 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.946221 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.946233 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.946314 < 16 bytes data, client => server 07:51:09.946330 'USER anonymous\r\n' 07:51:09.946517 Received DATA (on stdin) 07:51:09.946532 > 33 bytes data, server => client 07:51:09.946549 '331 We are happy you popped in!\r\n' 07:51:09.946607 < 22 bytes data, client => server 07:51:09.946623 'PASS ftp@example.com\r\n' 07:51:09.946807 Received DATA (on stdin) 07:51:09.946826 > 30 bytes data, server => client 07:51:09.946839 '230 Welcome you silly person\r\n' 07:51:09.946925 < 5 bytes data, client => server 07:51:09.946943 'PWD\r\n' 07:51:09.947086 Received DATA (on stdin) 07:51:09.947100 > 30 bytes data, server => client 07:51:09.947113 '257 "/" is current directory\r\n' 07:51:09.947180 < 6 bytes data, client => server 07:51:09.947195 'EPSV\r\n' 07:51:09.949295 Received DATA (on stdin) 07:51:09.949330 > 39 bytes data, server => client 07:51:09.949343 '229 Entering Passive Mode (|||42477|)\r\n' 07:51:09.949622 < 8 bytes data, client => server 07:51:09.949638 'TYPE I\r\n' 07:51:09.949875 Received DATA (on stdin) 07:51:09.949889 > 33 bytes data, server => client 07:51:09.949901 '200 I modify TYPE as you wanted\r\n' 07:51:09.949958 < 21 bytes data, client => server 07:51:09.949971 'SIZE verifiedserver\r\n' 07:51:09.950126 Received DATA (on stdin) 07:51:09.950147 > 8 bytes data, server => client 07:51:09.950157 '213 17\r\n' 07:51:09.950207 < 21 bytes data, client => server 07:51:09.950218 'RETR verifiedserver\r\n' 07:51:09.950437 Received DATA (on stdin) 07:51:09.950449 > 29 bytes data, server => client 07:51:09.950460 '150 Binary junk (17 bytes).\r\n' 07:51:09.951305 Received DATA (on stdin) 07:51:09.951328 > 28 bytes data, server => client 07:51:09.951341 '226 File transfer complete\r\n' 07:51:09.993490 < 6 bytes data, client => server 07:51:09.993519 'QUIT\r\n' 07:51:09.994519 Received DATA (on stdin) 07:51:09.994539 > 18 bytes data, server => client 07:51:09.994551 '221 bye bye baby\r\n' 07:51:09.995589 ====> Client disconnect 07:51:09.995802 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:10.948928 Running IPv4 version 07:51:10.948990 Listening on port 42477 07:51:10.949024 Wrote pid 90045 to log/23/server/ftp_sockdata.pid 07:51:10.949046 Received PING (on stdin) 07:51:10.949132 Received PORT (on stdin) 07:51:10.949577 ====> Client connect 07:51:10.950491 Received DATA (on stdin) 07:51:10.950509 > 17 bytes data, server => client 07:51:10.950521 'WE ROOLZ: 82431\r\n' 07:51:10.950549 Received DISC (on stdin) 07:51:10.950564 ====> Client forcibly disconnected 07:51:10.950737 Received QUIT (on stdin) 07:51:10.950751 quits 07:51:10.950805 ============> 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 ==90176== ==90176== Process terminating with default action of signal 4 (SIGILL) ==90176== Illegal opcode at address 0x4013DC0 ==90176== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90176== by 0x40037A4:CMD (33792): ../libtool --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/valgrind250 ../src/curl -q --output log/18/curl250.out --include --trace log/18/trace250 --trace-time ftp://127.0.0.1:34455/ > log/18/stdout250 2> log/18/stderr250 CMD (33792): ../libtool --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/valgrind247 ../src/curl -q --output log/16/curl247.out --include --trace-ascii log/16/trace247 --trace-time ftp://127.0.0.1:37855/247 -T log/16/test247.txt -z "apr 1 2005 08:00:00" > log/16/stdout247 2> log/16/stderr247 UnknownInlinedFun (tool_getparam.c:3029) ==90176== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90176== by 0x40037A4: main (tool_main.c:199) === End of file valgrind251 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/18/valgrind250 ../src/curl -q --output log/18/curl250.out --include --trace log/18/trace250 --trace-time ftp://127.0.0.1:34455/ > log/18/stdout250 2> log/18/stderr250 250: 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/ dir 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/18/valgrind250 ../src/curl -q --output log/18/curl250.out --include --trace log/18/trace250 --trace-time ftp://127.0.0.1:34455/ > log/18/stdout250 2> log/18/stderr250 === End of file commands.log === Start of file ftp_server.log 07:51:10.103262 ====> Client connect 07:51:10.103402 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:10.103691 < "USER anonymous" 07:51:10.103733 > "331 We are happy you popped in![CR][LF]" 07:51:10.103924 < "PASS ftp@example.com" 07:51:10.103957 > "230 Welcome you silly person[CR][LF]" 07:51:10.104121 < "PWD" 07:51:10.104156 > "257 "/" is current directory[CR][LF]" 07:51:10.104320 < "EPSV" 07:51:10.104344 ====> Passive DATA channel requested by client 07:51:10.104357 DATA sockfilt for passive data channel starting... 07:51:10.106242 DATA sockfilt for passive data channel started (pid 90009) 07:51:10.106353 DATA sockfilt for passive data channel listens on port 35001 07:51:10.106395 > "229 Entering Passive Mode (|||35001|)[CR][LF]" 07:51:10.106415 Client has been notified that DATA conn will be accepted on port 35001 07:51:10.106651 Client connects to port 35001 07:51:10.106681 ====> Client established passive DATA connection on port 35001 07:51:10.106753 < "TYPE I" 07:51:10.106784 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:10.106944 < "SIZE verifiedserver" 07:51:10.106982 > "213 17[CR][LF]" 07:51:10.107235 < "RETR verifiedserver" 07:51:10.107314 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:10.107426 =====> Closing passive DATA connection... 07:51:10.107447 Server disconnects passive DATA connection 07:51:10.107578 Server disconnected passive DATA connection 07:51:10.107624 DATA sockfilt for passive data channel quits (pid 90009) 07:51:10.107897 DATA sockfilt for passive data channel quit (pid 90009) 07:51:10.107940 =====> Closed passive DATA connection 07:51:10.107979 > "226 File transfer complete[CR][LF]" 07:51:10.154861 < "QUIT" 07:51:10.154906 > "221 bye bye baby[CR][LF]" 07:51:10.158079 MAIN sockfilt said DISC 07:51:10.158127 ====> Client disconnected 07:51:10.158201 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:10.931116 ====> Client connect 07:51:10.931364 Received DATA (on stdin) 07:51:10.931382 > 160 bytes data, server => client 07:51:10.931395 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:10.931406 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:10.931417 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:10.931490 < 16 bytes data, client => server 07:51:10.931504 'USER anonymous\r\n' 07:51:10.931686 Received DATA (on stdin) 07:51:10.931700 > 33 bytes data, server => client 07:51:10.931712 '331 We are happy you popped in!\r\n' 07:51:10.931765 < 22 bytes data, client => server 07:51:10.931777 'PASS ftp@example.com\r\n' 07:51:10.931906 Received DATA (on stdin) 07:51:10.931919 > 30 bytes data, server => client 07:51:10.931931 '230 Welcome you silly person\r\n' 07:51:10.931978 < 5 bytes data, client => server 07:51:10.931990 'PWD\r\n' 07:51:10.932104 Received DATA (on stdin) 07:51:10.932116 > 30 bytes data, server => client 07:51:10.932127 '257 "/" is current directory\r\n' 07:51:10.932184 < 6 bytes data, client => server 07:51:10.932195 'EPSV\r\n' 07:51:10.934367 Received DATA (on stdin) 07:51:10.934381 > 39 bytes data, server => client 07:51:10.934394 '229 Entering Passive Mode (|||35001|)\r\n' 07:51:10.934510 < 8 bytes data, client => server 07:51:10.934525 'TYPE I\r\n' 07:51:10.934732 Received DATA (on stdin) 07:51:10.934745 > 33 bytes data, server => client 07:51:10.934756 '200 I modify TYPE as you wanted\r\n' 07:51:10.934807 < 21 bytes data, client => server 07:51:10.934820 'SIZE verifiedserver\r\n' 07:51:10.934930 Received DATA (on stdin) 07:51:10.934942 > 8 bytes data, server => client 07:51:10.934953 '213 17\r\n' 07:51:10.935000 < 21 bytes data, client => server 07:51:10.935012 'RETR verifiedserver\r\n' 07:51:10.935360 Received DATA (on stdin) 07:51:10.935374 > 29 bytes data, server => client 07:51:10.935385 '150 Binary junk (17 bytes).\r\n' 07:51:10.935939 Received DATA (on stdin) 07:51:10.935953 > 28 bytes data, server => client 07:51:10.935965 '226 File transfer complete\r\n' 07:51:10.982638 < 6 bytes data, client => server 07:51:10.982667 'QUIT\r\n' 07:51:10.982853 Received DATA (on stdin) 07:51:10.982884 > 18 bytes data, server => client 07:51:10.982897 '221 bye bye baby\r\n' 07:51:10.985959 ====> Client disconnect 07:51:10.986155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:10.933950 Running IPv4 version 07:51:10.934030 Listening on port 35001 07:51:10.934103 Wrote pid 90009 to log/18/server/ftp_sockdata.pid 07:51:10.934127 Received PING (on stdin) 07:51:10.934216 Received PORT (on stdin) 07:51:10.934552 ====> Client connect 07:51:10.935289 Received DATA (on stdin) 07:51:10.935305 > 17 bytes data, server => client 07:51:10.935317 'WE ROOLZ: 80643\r\n' 07:51:10.935423 Received DISC (on stdin) 07:51:10.935456 ====> Client forcibly disconnected 07:51:10.935605 Received QUIT (on stdin) 07:51:10.935622 quits 07:51:10.935678 ============> 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 ==90157== ==90157== Process terminating with default action of signal 4 (SIGILL) ==90157== Illegal opcode at address 0x4013DC0 ==90157== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90157== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90157== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90157== by 0x40037A4: main (tool_main.c:199) === End of file valgrind250 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/16/valgrind247 ../src/curl -q --output log/16/curl247.out --include --trace-ascii log/16/trace247 --trace-time ftp://127.0.0.1:37855/247 -T log/16/test247.txt -z "apr 1 2005 08:00:00" > log/16/stdout247 2> log/16/stderr247 247: 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/ dir 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/16/valgrind247 ../src/curl -q --output log/16/curl247.out --include --trace-ascii log/16/trace247 --trace-time ftp://127.0.0.1:37855/247 -T log/16/test247.txt -z "apr 1 2005 08:00:00" > log/16/stdout247 2> log/16/stderr247 === End of file commands.log === Start of file ftp_server.log 07:51:10.004853 ====> Client connect 07:51:10.005005 > "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/5/valgrind257 ../src/curl -q --output log/5/curl257.out --include --trace-ascii log/5/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:42797 --netrc-optional --netrc-file log/5/netrc257 > log/5/stdout257 2> log/5/stderr257 [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:10.007126 < "USER anonymous" 07:51:10.007183 > "331 We are happy you popped in![CR][LF]" 07:51:10.008135 < "PASS ftp@example.com" 07:51:10.008175 > "230 Welcome you silly person[CR][LF]" 07:51:10.008345 < "PWD" 07:51:10.008380 > "257 "/" is current directory[CR][LF]" 07:51:10.008556 < "EPSV" 07:51:10.008580 ====> Passive DATA channel requested by client 07:51:10.008594 DATA sockfilt for passive data channel starting... 07:51:10.011447 DATA sockfilt for passive data channel started (pid 89741) 07:51:10.011565 DATA sockfilt for passive data channel listens on port 36855 07:51:10.011609 > "229 Entering Passive Mode (|||36855|)[CR][LF]" 07:51:10.011627 Client has been notified that DATA conn will be accepted on port 36855 07:51:10.011869 Client connects to port 36855 07:51:10.011900 ====> Client established passive DATA connection on port 36855 07:51:10.011979 < "TYPE I" 07:51:10.012009 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:10.012180 < "SIZE verifiedserver" 07:51:10.012221 > "213 17[CR][LF]" 07:51:10.012384 < "RETR verifiedserver" 07:51:10.012423 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:10.012510 =====> Closing passive DATA connection... 07:51:10.012527 Server disconnects passive DATA connection 07:51:10.012781 Server disconnected passive DATA connection 07:51:10.012808 DATA sockfilt for passive data channel quits (pid 89741) 07:51:10.013082 DATA sockfilt for passive data channel quit (pid 89741) 07:51:10.013133 =====> Closed passive DATA connection 07:51:10.013168 > "226 File transfer complete[CR][LF]" 07:51:10.058963 < "QUIT" 07:51:10.059021 > "221 bye bye baby[CR][LF]" 07:51:10.064334 MAIN sockfilt said DISC 07:51:10.064392 ====> Client disconnected 07:51:10.064468 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:09.832695 ====> Client connect 07:51:09.832967 Received DATA (on stdin) 07:51:09.832984 > 160 bytes data, server => client 07:51:09.832999 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:09.833012 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:09.833023 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:09.833097 < 16 bytes data, client => server 07:51:09.833111 'USER anonymous\r\n' 07:51:09.835853 Received DATA (on stdin) 07:51:09.835875 > 33 bytes data, server => client 07:51:09.835889 '331 We are happy you popped in!\r\n' 07:51:09.835951 < 22 bytes data, client => server 07:51:09.835965 'PASS ftp@example.com\r\n' 07:51:09.836127 Received DATA (on stdin) 07:51:09.836140 > 30 bytes data, server => client 07:51:09.836153 '230 Welcome you silly person\r\n' 07:51:09.836204 < 5 bytes data, client => server 07:51:09.836217 'PWD\r\n' 07:51:09.836330 Received DATA (on stdin) 07:51:09.836346 > 30 bytes data, server => client 07:51:09.836358 '257 "/" is current directory\r\n' 07:51:09.836417 < 6 bytes data, client => server 07:51:09.836430 'EPSV\r\n' 07:51:09.839580 Received DATA (on stdin) 07:51:09.839596 > 39 bytes data, server => client 07:51:09.839609 '229 Entering Passive Mode (|||36855|)\r\n' 07:51:09.839727 < 8 bytes data, client => server 07:51:09.839744 'TYPE I\r\n' 07:51:09.839959 Received DATA (on stdin) 07:51:09.839973 > 33 bytes data, server => client 07:51:09.839986 '200 I modify TYPE as you wanted\r\n' 07:51:09.840040 < 21 bytes data, client => server 07:51:09.840054 'SIZE verifiedserver\r\n' 07:51:09.840170 Received DATA (on stdin) 07:51:09.840184 > 8 bytes data, server => client 07:51:09.840197 '213 17\r\n' 07:51:09.840247 < 21 bytes data, client => server 07:51:09.840260 'RETR verifiedserver\r\n' 07:51:09.840479 Received DATA (on stdin) 07:51:09.840494 > 29 bytes data, server => client 07:51:09.840507 '150 Binary junk (17 bytes).\r\n' 07:51:09.841249 Received DATA (on stdin) 07:51:09.841274 > 28 bytes data, server => client 07:51:09.841288 '226 File transfer complete\r\n' 07:51:09.885921 < 6 bytes data, client => server 07:51:09.885949 'QUIT\r\n' 07:51:09.886979 Received DATA (on stdin) 07:51:09.886994 > 18 bytes data, server => client 07:51:09.887008 '221 bye bye baby\r\n' 07:51:09.889474 ====> Client disconnect 07:51:09.892422 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:10.838222 Running IPv4 version 07:51:10.838293 Listening on port 36855 07:51:10.838338 Wrote pid 89741 to log/16/server/ftp_sockdata.pid 07:51:10.839327 Received PING (on stdin) 07:51:10.839424 Received PORT (on stdin) 07:51:10.839766 ====> Client connect 07:51:10.840534 Received DATA (on stdin) 07:51:10.840550 > 17 bytes data, server => client 07:51:10.840562 'WE ROOLZ: 80324\r\n' 07:51:10.840586 Received DISC (on stdin) 07:51:10.840600 ====> Client forcibly disconnected 07:51:10.840764 Received QUIT (on stdin) 07:51:10.840777 quits 07:51:10.840839 ============> 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 ==90051== ==90051== Process terminating with default action of signal 4 (SIGILL) ==90051== Illegal opcode at address 0x4013DC0 ==90051== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90051== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90051== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90051== by 0x40037A4: main (tool_main.c:199) === End of file valgrind247 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/5/valgrind257 ../src/curl -q --output log/5/curl257.out --include --trace-ascii log/5/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:42797 --netrc-optional --netrc-file log/5/netrc257 > log/5/stdout257 2> log/5/stderr257 257: 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/ dir 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/5/valgrind257 ../src/curl -q --output log/5/curl257.out --include --trace-ascii log/5/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:42797 --netrc-optional --netrc-file log/5/netrc257 > log/5/stdout257 2> log/5/stderr257 === End of file commands.log === Start of file http_server.log 07:51:10.259231 ====> Client connect 07:51:10.259262 accept_connection 3 returned 4 07:51:10.259279 accept_connection 3 returned 0 07:51:10.259293 Read 93 bytes 07:51:10.259304 Process 93 bytes request 07:51:10.259317 Got request: GET /verifiedserver HTTP/1.1 07:51:10.259325 Are-we-friendly question received 07:51:10.259346 Wrote request (93 bytes) input to log/5/server.input 07:51:10.259360 Identifying ourselves as friends 07:51:10.259405 Response sent (56 bytes) and written to log/5/server.response 07:51:10.259414 special request received, no persistency 07:51:10.259422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === End of file http_verify.out === Start of file netrc257 machine supersite.com login user1 password passwd1 machine anotherone.com login user2 passCMD (33792): ../libtool --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/valgrind258 ../src/curl -q --output log/17/curl258.out --include --trace-ascii log/17/trace258 --trace-time -x http://127.0.0.1:42601 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/17/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/17/stdout258 2> log/17/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/20/valgrind256 ../src/curl -q --include --trace-ascii log/20/trace256 --trace-time -x http://127.0.0.1:40357 http://127.0.0.1:40357/want/256 -C - --no-include -o log/20/fewl256.txt -U daniel:stenberg > log/20/stdout256 2> log/20/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/12/valgrind262 ../src/curl -q --output log/12/curl262.out --include --trace-ascii log/12/trace262 --trace-time http://127.0.0.1:38023/262 > log/12/stdout262 2> log/12/stderr262 word 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: 75828 === End of file server.response === Start of file valgrind257 ==90344== ==90344== Process terminating with default action of signal 4 (SIGILL) ==90344== Illegal opcode at address 0x4013DC0 ==90344== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90344== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90344== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90344== by 0x40037A4: main (tool_main.c:199) === 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/17/valgrind258 ../src/curl -q --output log/17/curl258.out --include --trace-ascii log/17/trace258 --trace-time -x http://127.0.0.1:42601 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/17/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/17/stdout258 2> log/17/stderr258 258: 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/ dir 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/17/valgrind258 ../src/curl -q --output log/17/curl258.out --include --trace-ascii log/17/trace258 --trace-time -x http://127.0.0.1:42601 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/17/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/17/stdout258 2> log/17/stderr258 === End of file commands.log === Start of file http_server.log 07:51:11.264446 ====> Client connect 07:51:11.264471 accept_connection 3 returned 4 07:51:11.264485 accept_connection 3 returned 0 07:51:11.264496 Read 93 bytes 07:51:11.264505 Process 93 bytes request 07:51:11.264514 Got request: GET /verifiedserver HTTP/1.1 07:51:11.264523 Are-we-friendly question received 07:51:11.264543 Wrote request (93 bytes) input to log/17/server.input 07:51:11.264556 Identifying ourselves as friends 07:51:11.264598 Response sent (56 bytes) and written to log/17/server.response 07:51:11.264607 special request received, no persistency 07:51:11.264615 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 50598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === 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 ==90352== ==90352== Process terminating with default action of signal 4 (SIGILL) ==90352== Illegal opcode at address 0x4013DC0 ==90352== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90352== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90352== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90352== by 0x40037A4: main (tool_main.c:199) === End of file valgrind258 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/20/valgrind256 ../src/curl -q --include --trace-ascii log/20/trace256 --trace-time -x http://127.0.0.1:40357 http://127.0.0.1:40357/want/256 -C - --no-include -o log/20/fewl256.txt -U daniel:stenberg > log/20/stdout256 2> log/20/stderr256 256: 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/ dir 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/20/valgrind256 ../src/curl -q --include --trace-ascii log/20/trace256 --trace-time -x http://127.0.0.1:40357 http://127.0.0.1:40357/want/256 -C - --no-include -o log/20/fewl256.txt -U daniel:stenberg > log/20/stdout256 2> log/20/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 07:51:10.258829 ====> Client connect 07:51:10.258859 accept_connection 3 returned 4 07:51:10.258875 accept_connection 3 returned 0 07:51:10.258890 Read 93 bytes 07:51:10.258901 Process 93 bytes request 07:51:10.258915 Got request: GET /verifiedserver HTTP/1.1 07:51:10.258925 Are-we-friendly question received 07:51:10.258948 Wrote request (93 bytes) input to log/20/server.input 07:51:10.258965 Identifying ourselves as friends 07:51:10.259017 Response sent (56 bytes) and written to log/20/server.response 07:51:10.259029 special request received, no persistency 07:51:10.259040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind256 ==90333== ==90333== Process terminating with default action of signal 4 (SIGILL) ==90333== Illegal opcode at address 0x4013DC0 ==90333== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90333== by 0x40037A4: main (tool_main.c:199) === 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/12/valgrind262 ../src/curl -q --output log/12/curl262.out --include --trace-ascii log/12/trace262 --trace-time http://127.0.0.1:38023/262 > log/12/stdout262 2> log/12/stderr262 262: 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/ dir 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/12/valgrind262 ../src/curl -q --output log/12/curl262.out --include --trace-ascii log/12/trace262 --trace-time http://127.0.0.1:38023/262 > log/12/stdout262 2> log/12/stderr262 === End of file commands.log === Start of file http_server.log 07:51:10.538889 ====> Client connect 07:51:10.538922 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/14/valgrind261 ../src/curl -q --output log/14/curl261.out --include --trace-ascii log/14/trace261 --trace-time ftp://127.0.0.1:39555/261 > log/14/stdout261 2> log/14/stderr261 CMD (33792): ../libtool --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/valgrind240 ../src/curl -q --output log/24/curl240.out --include --trace-ascii log/24/trace240 --trace-time -g "http://[::1]:41527/240" > log/24/stdout240 2> log/24/stderr240 CMD (33792): ../libtool --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/valgrind260 ../src/curl -q --output log/2/curl260.out --include --trace-ascii log/2/trace260 --trace-time "http://127.0.0.1:43955?260" > log/2/stdout260 2> log/2/stderr260 CMD (33792): ../libtool --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/valgrind259 ../src/curl -q --output log/1/curl259.out --include --trace-ascii log/1/trace259 --trace-time -x http://127.0.0.1:35709 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/1/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/1/stdout259 2> log/1/stderr259 3 returned 4 07:51:10.538940 accept_connection 3 returned 0 07:51:10.538955 Read 93 bytes 07:51:10.538966 Process 93 bytes request 07:51:10.538980 Got request: GET /verifiedserver HTTP/1.1 07:51:10.538990 Are-we-friendly question received 07:51:10.539018 Wrote request (93 bytes) input to log/12/server.input 07:51:10.539036 Identifying ourselves as friends 07:51:10.539091 Response sent (56 bytes) and written to log/12/server.response 07:51:10.539102 special request received, no persistency 07:51:10.539112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind262 ==90630== ==90630== Process terminating with default action of signal 4 (SIGILL) ==90630== Illegal opcode at address 0x4013DC0 ==90630== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90630== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90630== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90630== by 0x40037A4: main (tool_main.c:199) === End of file valgrind262 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/14/valgrind261 ../src/curl -q --output log/14/curl261.out --include --trace-ascii log/14/trace261 --trace-time ftp://127.0.0.1:39555/261 > log/14/stdout261 2> log/14/stderr261 261: 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/ dir 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/14/valgrind261 ../src/curl -q --output log/14/curl261.out --include --trace-ascii log/14/trace261 --trace-time ftp://127.0.0.1:39555/261 > log/14/stdout261 2> log/14/stderr261 === End of file commands.log === Start of file ftp_server.log 07:51:10.708408 ====> Client connect 07:51:10.708534 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:10.708779 < "USER anonymous" 07:51:10.708814 > "331 We are happy you popped in![CR][LF]" 07:51:10.708968 < "PASS ftp@example.com" 07:51:10.708992 > "230 Welcome you silly person[CR][LF]" 07:51:10.709125 < "PWD" 07:51:10.709152 > "257 "/" is current directory[CR][LF]" 07:51:10.709287 < "EPSV" 07:51:10.709308 ====> Passive DATA channel requested by client 07:51:10.709320 DATA sockfilt for passive data channel starting... 07:51:10.711191 DATA sockfilt for passive data channel started (pid 90579) 07:51:10.711328 DATA sockfilt for passive data channel listens on port 36749 07:51:10.711381 > "229 Entering Passive Mode (|||36749|)[CR][LF]" 07:51:10.711401 Client has been notified that DATA conn will be accepted on port 36749 07:51:10.711651 Client connects to port 36749 07:51:10.711677 ====> Client established passive DATA connection on port 36749 07:51:10.711740 < "TYPE I" 07:51:10.711762 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:10.711891 < "SIZE verifiedserver" 07:51:10.711921 > "213 17[CR][LF]" 07:51:10.712039 < "RETR verifiedserver" 07:51:10.712064 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:10.712134 =====> Closing passive DATA connection... 07:51:10.712147 Server disconnects passive DATA connection 07:51:10.712336 Server disconnected passive DATA connection 07:51:10.712357 DATA sockfilt for passive data channel quits (pid 90579) 07:51:10.712545 DATA sockfilt for passive data channel quit (pid 90579) 07:51:10.712565 =====> Closed passive DATA connection 07:51:10.712587 > "226 File transfer complete[CR][LF]" 07:51:10.758407 < "QUIT" 07:51:10.758468 > "221 bye bye baby[CR][LF]" 07:51:10.758809 MAIN sockfilt said DISC 07:51:10.758854 ====> Client disconnected 07:51:10.758941 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:10.536260 ====> Client connect 07:51:10.536492 Received DATA (on stdin) 07:51:10.536506 > 160 bytes data, server => client 07:51:10.536518 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:10.536528 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:10.536537 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:10.536599 < 16 bytes data, client => server 07:51:10.536611 'USER anonymous\r\n' 07:51:10.536761 Received DATA (on stdin) 07:51:10.536773 > 33 bytes data, server => client 07:51:10.536783 '331 We are happy you popped in!\r\n' 07:51:10.536828 < 22 bytes data, client => server 07:51:10.536838 'PASS ftp@example.com\r\n' 07:51:10.536937 Received DATA (on stdin) 07:51:10.536948 > 30 bytes data, server => client 07:51:10.536958 '230 Welcome you silly person\r\n' 07:51:10.536998 < 5 bytes data, client => server 07:51:10.537009 'PWD\r\n' 07:51:10.537095 Received DATA (on stdin) 07:51:10.537106 > 30 bytes data, server => client 07:51:10.537116 '257 "/" is current directory\r\n' 07:51:10.537162 < 6 bytes data, client => server 07:51:10.537172 'EPSV\r\n' 07:51:10.539357 Received DATA (on stdin) 07:51:10.539372 > 39 bytes data, server => client 07:51:10.539386 '229 Entering Passive Mode (|||36749|)\r\n' 07:51:10.539547 < 8 bytes data, client => server 07:51:10.539559 'TYPE I\r\n' 07:51:10.539707 Received DATA (on stdin) 07:51:10.539717 > 33 bytes data, server => client 07:51:10.539727 '200 I modify TYPE as you wanted\r\n' 07:51:10.539768 < 21 bytes data, client => server 07:51:10.539778 'SIZE verifiedserver\r\n' 07:51:10.539864 Received DATA (on stdin) 07:51:10.539874 > 8 bytes data, server => client 07:51:10.539883 '213 17\r\n' 07:51:10.539919 < 21 bytes data, client => server 07:51:10.539928 'RETR verifiedserver\r\n' 07:51:10.540093 Received DATA (on stdin) 07:51:10.540103 > 29 bytes data, server => client 07:51:10.540112 '150 Binary junk (17 bytes).\r\n' 07:51:10.540532 Received DATA (on stdin) 07:51:10.540544 > 28 bytes data, server => client 07:51:10.540553 '226 File transfer complete\r\n' 07:51:10.586133 < 6 bytes data, client => server 07:51:10.586167 'QUIT\r\n' 07:51:10.586424 Received DATA (on stdin) 07:51:10.586438 > 18 bytes data, server => client 07:51:10.586450 '221 bye bye baby\r\n' 07:51:10.586692 ====> Client disconnect 07:51:10.586893 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:10.538934 Running IPv4 version 07:51:10.539005 Listening on port 36749 07:51:10.539046 Wrote pid 90579 to log/14/server/ftp_sockdata.pid 07:51:10.539070 Received PING (on stdin) 07:51:10.539171 Received PORT (on stdin) 07:51:10.539518 ====> Client connect 07:51:10.540133 Received DATA (on stdin) 07:51:10.540144 > 17 bytes data, server => client 07:51:10.540153 'WE ROOLZ: 81000\r\n' 07:51:10.540173 Received DISC (on stdin) 07:51:10.540182 ====> Client forcibly disconnected 07:51:10.540309 Received QUIT (on stdin) 07:51:10.540319 quits 07:51:10.540362 ============> 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 ==90801== ==90801== Process terminating with default action of signal 4 (SIGILL) ==90801== Illegal opcode at address 0x4013DC0 ==90801== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90801== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90801== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90801== by 0x40037A4: main (tool_main.c:199) === End of file valgrind261 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/1/valgrind259 ../src/curl -q --output log/1/curl259.out --include --trace-ascii log/1/trace259 --trace-time -x http://127.0.0.1:35709 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/1/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/1/stdout259 2> log/1/stderr259 259: 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/ dir 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/1/valgrind259 ../src/curl -q --output log/1/curl259.out --include --trace-ascii log/1/trace259 --trace-time -x http://127.0.0.1:35709 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/1/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/1/stdout259 2> log/1/stderr259 === End of file commands.log === Start of file http_server.log 07:51:10.517916 ====> Client connect 07:51:10.517956 accept_connection 3 returned 4 07:51:10.517975 accept_connection 3 returned 0 07:51:10.517990 Read 93 bytes 07:51:10.518002 Process 93 bytes request 07:51:10.518017 Got request: GET /verifiedserver HTTP/1.1 07:51:10.518028 Are-we-friendly question received 07:51:10.518055 Wrote request (93 bytes) input to log/1/server.input 07:51:10.518073 Identifying ourselves as friends 07:51:10.518128 Response sent (56 bytes) and written to log/1/server.response 07:51:10.518139 special request received, no persistency 07:51:10.518149 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === 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 ==90577== ==90577== Process terminating with default action of signal 4 (SIGILL) ==90577== Illegal opcode at address 0x4013DC0 ==90577== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90577== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90577== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90577== by 0x40037A4: main (tool_main.c:199) === End of file valgrind259 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/2/valgrind260 ../src/curl -q --output log/2/curl260.out --include --trace-ascii log/2/trace260 --trace-time "http://127.0.0.1:43955?260" > log/2/stdout260 2> log/2/stderr260 260: 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/ dir 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/2/valgrind260 ../src/curl -q --output log/2/curl260.out --include --trace-ascii log/2/trace260 --trace-time "http://127.0.0.1:43955?260" > log/2/stdout260 2> log/2/stderr260 === End of file commands.log === Start of file http_server.log 07:51:11.528664 ====> Client connect 07:51:11.528701 accept_connection 3 returned 4 07:51:11.528719 accept_connection 3 returned 0 07:51:11.528735 Read 93 bytes 07:51:11.528747 Process 93 bytes request 07:51:11.528762 Got request: GET /verifiedserver HTTP/1.1 07:51:11.528773 Are-we-friendly question received 07:51:11.528799 Wrote request (93 bytes) input to log/2/server.input 07:51:11.528818 Identifying ourselves as friends 07:51:11.528875 Response sent (56 bytes) and written to log/2/server.response 07:51:11.528887 special request received, no persistency 07:51:11.528897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind260 ==90586== ==90586== Process terminating with default action of signal 4 (SIGILL) ==90586== Illegal opcode at address 0x4013DC0 ==90586== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90586== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90586== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90586== by 0x40037A4: main (tool_main.c:199) === 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/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 89377 port 41527 * pid http-ipv6 => 89377 89377 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/24/valgrind240 ../src/curl -q --output log/24/curl240.out --include --trace-ascii log/24/trace240 --trace-time -g "http://[::1]:41527/240" > log/24/stdout240 2> log/24/stderr240 240: 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/ dir 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/24/valgrind240 ../src/curl -q --output log/24/curl240.out --include --trace-ascii log/24/trace240 --trace-time -g "http://[::1]:41527/240" > log/24/stdout240 2> log/24/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 07:51:09.548269 Running HTTP IPv6 version on port 41527 07:51:09.548358 Wrote pid 89377 to log/24/server/http_ipv6_server.pid 07:51:09.548392 Wrote port 41527 to log/24/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 240 === 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/10/valgrind241 ../src/curl -q --output log/10/curl241.out --include --trace-ascii log/10/trace241 --trace-time -g "http://ip6-localhost:46159/241" > log/10/stdout241 2> log/10/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/22/valgrind266 ../src/curl -q --output log/22/curl266.out --include --trace-ascii log/22/trace266 --trace-time http://127.0.0.1:40377/266 -D log/22/heads266 > log/22/stdout266 2> log/22/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/8/valgrind264 ../src/curl -q --output log/8/curl264.out --include --trace-ascii log/8/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:36147 > log/8/stdout264 2> log/8/stderr264 CMD (33792): ../libtool --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/valgrind265 ../src/curl -q --output log/9/curl265.out --include --trace-ascii log/9/trace265 --trace-time http://test.remote.example.com.265:42717/path/2650002 --proxy http://127.0.0.1:42717 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/9/stdout265 2> log/9/stderr265 nd of file server.cmd === Start of file valgrind240 ==90584== ==90584== Process terminating with default action of signal 4 (SIGILL) ==90584== Illegal opcode at address 0x4013DC0 ==90584== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90584== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90584== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90584== by 0x40037A4: main (tool_main.c:199) === End of file valgrind240 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 89396 port 46159 * pid http-ipv6 => 89396 89396 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/10/valgrind241 ../src/curl -q --output log/10/curl241.out --include --trace-ascii log/10/trace241 --trace-time -g "http://ip6-localhost:46159/241" > log/10/stdout241 2> log/10/stderr241 241: 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/ dir 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/10/valgrind241 ../src/curl -q --output log/10/curl241.out --include --trace-ascii log/10/trace241 --trace-time -g "http://ip6-localhost:46159/241" > log/10/stdout241 2> log/10/stderr241 === End of file commands.log === Start of file http_ipv6_server.log 07:51:09.577797 Running HTTP IPv6 version on port 46159 07:51:09.577881 Wrote pid 89396 to log/10/server/http_ipv6_server.pid 07:51:09.577911 Wrote port 46159 to log/10/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 ==90762== ==90762== Process terminating with default action of signal 4 (SIGILL) ==90762== Illegal opcode at address 0x4013DC0 ==90762== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90762== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90762== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90762== by 0x40037A4: main (tool_main.c:199) === End of file valgrind241 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/22/valgrind266 ../src/curl -q --output log/22/curl266.out --include --trace-ascii log/22/trace266 --trace-time http://127.0.0.1:40377/266 -D log/22/heads266 > log/22/stdout266 2> log/22/stderr266 266: 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/ dir 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/22/valgrind266 ../src/curl -q --output log/22/curl266.out --include --trace-ascii log/22/trace266 --trace-time http://127.0.0.1:40377/266 -D log/22/heads266 > log/22/stdout266 2> log/22/stderr266 === End of file commands.log === Start of file http_server.log 07:51:10.731668 ====> Client connect 07:51:10.731700 accept_connection 3 returned 4 07:51:10.731717 accept_connection 3 returned 0 07:51:10.731731 Read 93 bytes 07:51:10.731742 Process 93 bytes request 07:51:10.731753 Got request: GET /verifiedserver HTTP/1.1 07:51:10.731764 Are-we-friendly question received 07:51:10.731789 Wrote request (93 bytes) input to log/22/server.input 07:51:10.731807 Identifying ourselves as friends 07:51:10.731859 Response sent (56 bytes) and written to log/22/server.response 07:51:10.731869 special request received, no persistency 07:51:10.731878 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind266 ==90991== ==90991== Process terminating with default action of signal 4 (SIGILL) ==90991== Illegal opcode at address 0x4013DC0 ==90991== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90991== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90991== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90991== by 0x40037A4: main (tool_main.c:199) === End of file valgrind266 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/8/valgrind264 ../src/curl -q --output log/8/curl264.out --include --trace-ascii log/8/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:36147 > log/8/stdout264 2> log/8/stderr264 264: 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/ dir after test 264 === Start of file commands.log ../libtool --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/valgrind264 ../src/curl -q --output log/8/curl264.out --include --trace-ascii log/8/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:36147 > log/8/stdout264 2> log/8/stderr264 === End of file commands.log === Start of file http_server.log 07:51:10.722907 ====> Client connect 07:51:10.722938 accept_connection 3 returned 4 07:51:10.722954 accept_connection 3 returned 0 07:51:10.722969 Read 93 bytes 07:51:10.722980 Process 93 bytes request 07:51:10.722992 Got request: GET /verifiedserver HTTP/1.1 07:51:10.723002 Are-we-friendly question received 07:51:10.723026 Wrote request (93 bytes) input to log/8/server.input 07:51:10.723043 Identifying ourselves as friends 07:51:10.723098 Response sent (56 bytes) and written to log/8/server.response 07:51:10.723109 special request received, no persistency 07:51:10.723118 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === 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/3/valgrind267 ../src/curl -q --output log/3/curl267.out --include --trace-ascii log/3/trace267 --trace-time http://127.0.0.1:34059/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/3/stdout267 2> log/3/stderr267 CMD (33792): ../libtool --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/valgrind242 ../src/curl -q --output log/7/curl242.out --include --trace-ascii log/7/trace242 --trace-time -g "http://foobar:barfoo@[::1]:37825/242" > log/7/stdout242 2> log/7/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/19/valgrind269 ../src/curl -q --output log/19/curl269.out --include --trace-ascii log/19/trace269 --trace-time http://127.0.0.1:34835/269 --ignore-content-length > log/19/stdout269 2> log/19/stderr269 Start of file valgrind264 ==90960== ==90960== Process terminating with default action of signal 4 (SIGILL) ==90960== Illegal opcode at address 0x4013DC0 ==90960== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90960== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90960== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90960== by 0x40037A4: main (tool_main.c:199) === End of file valgrind264 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/9/valgrind265 ../src/curl -q --output log/9/curl265.out --include --trace-ascii log/9/trace265 --trace-time http://test.remote.example.com.265:42717/path/2650002 --proxy http://127.0.0.1:42717 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/9/stdout265 2> log/9/stderr265 265: 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/ dir 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/9/valgrind265 ../src/curl -q --output log/9/curl265.out --include --trace-ascii log/9/trace265 --trace-time http://test.remote.example.com.265:42717/path/2650002 --proxy http://127.0.0.1:42717 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/9/stdout265 2> log/9/stderr265 === End of file commands.log === Start of file http_server.log 07:51:10.722987 ====> Client connect 07:51:10.723019 accept_connection 3 returned 4 07:51:10.723037 accept_connection 3 returned 0 07:51:10.723052 Read 93 bytes 07:51:10.723063 Process 93 bytes request 07:51:10.723075 Got request: GET /verifiedserver HTTP/1.1 07:51:10.723085 Are-we-friendly question received 07:51:10.723111 Wrote request (93 bytes) input to log/9/server.input 07:51:10.723130 Identifying ourselves as friends 07:51:10.723190 Response sent (56 bytes) and written to log/9/server.response 07:51:10.723203 special request received, no persistency 07:51:10.723213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 54446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind265 ==90987== ==90987== Process terminating with default action of signal 4 (SIGILL) ==90987== Illegal opcode at address 0x4013DC0 ==90987== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90987== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90987== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90987== by 0x40037A4: main (tool_main.c:199) === End of file valgrind265 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/3/valgrind267 ../src/curl -q --output log/3/curl267.out --include --trace-ascii log/3/trace267 --trace-time http://127.0.0.1:34059/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/3/stdout267 2> log/3/stderr267 267: 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/ dir 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/3/valgrind267 ../src/curl -q --output log/3/curl267.out --include --trace-ascii log/3/trace267 --trace-time http://127.0.0.1:34059/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/3/stdout267 2> log/3/stderr267 === End of file commands.log === Start of file http_server.log 07:51:11.733929 ====> Client connect 07:51:11.733971 accept_connection 3 returned 4 07:51:11.733987 accept_connection 3 returned 0 07:51:11.734001 Read 93 bytes 07:51:11.734011 Process 93 bytes request 07:51:11.734022 Got request: GET /verifiedserver HTTP/1.1 07:51:11.734031 Are-we-friendly question received 07:51:11.734053 Wrote request (93 bytes) input to log/3/server.input 07:51:11.734069 Identifying ourselves as friends 07:51:11.734118 Response sent (56 bytes) and written to log/3/server.response 07:51:11.734128 special request received, no persistency 07:51:11.734137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind267 ==91011== ==91011== Process terminating with default action of signal 4 (SIGILL) ==91011== Illegal opcode at address 0x4013DC0 ==91011== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91011== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91011== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91011== by 0x40037A4: main (tool_main.c:199) === End of file valgrind267 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 89651 port 37825 * pid http-ipv6 => 89651 89651 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/7/valgrind242 ../src/curl -q --output log/7/curl242.out --include --trace-ascii log/7/trace242 --trace-time -g "http://foobar:barfoo@[::1]:37825/242" > log/7/stdout242 2> log/7/stderr242 242: 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/ dir 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/7/valgrind242 ../src/curl -q --output log/7/curl242.out --include --trace-ascii log/7/trace242 --trace-time -g "http://foobar:barfoo@[::1]:37825/242" > log/7/stdout242 2> log/7/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 07:51:09.729575 Running HTTP IPv6 version on port 37825 07:51:09.729670 Wrote pid 89651 to log/7/server/http_ipv6_server.pid 07:51:CMD (33792): ../libtool --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/valgrind268 ../src/curl -q --output log/4/curl268.out --include --trace-ascii log/4/trace268 --trace-time http://127.0.0.1:43573/268 --variable hello@log/4/junk --expand-data {{hello:json}} > log/4/stdout268 2> log/4/stderr268 CMD (33792): ../libtool --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/valgrind270 ../src/curl -q --output log/23/curl270.out --include --trace-ascii log/23/trace270 --trace-time ftp://127.0.0.1:39237/270 --ftp-skip-pasv-ip --disable-epsv > log/23/stdout270 2> log/23/stderr270 09.729702 Wrote port 37825 to log/7/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 ==90916== ==90916== Process terminating with default action of signal 4 (SIGILL) ==90916== Illegal opcode at address 0x4013DC0 ==90916== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==90916== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90916== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==90916== by 0x40037A4: main (tool_main.c:199) === End of file valgrind242 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/19/valgrind269 ../src/curl -q --output log/19/curl269.out --include --trace-ascii log/19/trace269 --trace-time http://127.0.0.1:34835/269 --ignore-content-length > log/19/stdout269 2> log/19/stderr269 269: 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/ dir 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/19/valgrind269 ../src/curl -q --output log/19/curl269.out --include --trace-ascii log/19/trace269 --trace-time http://127.0.0.1:34835/269 --ignore-content-length > log/19/stdout269 2> log/19/stderr269 === End of file commands.log === Start of file http_server.log 07:51:10.793866 ====> Client connect 07:51:10.793903 accept_connection 3 returned 4 07:51:10.793922 accept_connection 3 returned 0 07:51:10.793940 Read 93 bytes 07:51:10.793951 Process 93 bytes request 07:51:10.793967 Got request: GET /verifiedserver HTTP/1.1 07:51:10.793978 Are-we-friendly question received 07:51:10.794004 Wrote request (93 bytes) input to log/19/server.input 07:51:10.794023 Identifying ourselves as friends 07:51:10.794085 Response sent (56 bytes) and written to log/19/server.response 07:51:10.794095 special request received, no persistency 07:51:10.794103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind269 ==91233== ==91233== Process terminating with default action of signal 4 (SIGILL) ==91233== Illegal opcode at address 0x4013DC0 ==91233== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind269 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/4/valgrind268 ../src/curl -q --output log/4/curl268.out --include --trace-ascii log/4/trace268 --trace-time http://127.0.0.1:43573/268 --variable hello@log/4/junk --expand-data {{hello:json}} > log/4/stdout268 2> log/4/stderr268 268: 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/ dir 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/4/valgrind268 ../src/curl -q --output log/4/curl268.out --include --trace-ascii log/4/trace268 --trace-time http://127.0.0.1:43573/268 --variable hello@log/4/junk --expand-data {{hello:json}} > log/4/stdout268 2> log/4/stderr268 === End of file commands.log === Start of file http_server.log 07:51:11.779955 ====> Client connect 07:51:11.779995 accept_connection 3 returned 4 07:51:11.780015 accept_connection 3 returned 0 07:51:11.780032 Read 93 bytes 07:51:11.780044 Process 93 bytes request 07:51:11.780057 Got request: GET /verifiedserver HTTP/1.1 07:51:11.780068 Are-we-friendly question received 07:51:11.780095 Wrote request (93 bytes) input to log/4/server.input 07:51:11.780114 Identifying ourselves as friends 07:51:11.780172 Response sent (56 bytes) and written to log/4/server.response 07:51:11.780184 special request received, no persistency 07:51:11.780194 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind268 ==91209== ==91209== Process terminating with default action of signal 4 (SIGILL) ==91209== Illegal opcode at address 0x4013DC0 ==91209== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91209== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91209== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91209== by 0x40037A4: main (tool_main.c:199) === 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/23/valgrind270 ../src/curl -q --output log/23/curl270.out --include --trace-ascii log/23/trace270 --trace-time ftp://127.0.0.1:39237/270 --ftp-skip-pasv-ip --disable-epsv > log/23/stdout270 2> log/23/stderr270 270: 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/ dir 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/23/valgrind270 ../src/curl -q --output log/23/curl270.out --include --trace-ascii log/23/trace270 --trace-time ftp://127.0.0.1:39237/270 --ftp-skip-pasv-ip --disable-epsv > log/23/stdout270 2> log/23/stderr270 === End of file commands.log === Start of file ftp_server.log 07:51:11.001259 ====> Client connect 07:51:11.001426 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:11.001678 < "USER anonymous" 07:51:11.001712 > "331 We are happy you popped in![CR][LF]" 07:51:11.001858 < "PASS ftp@example.com" 07:51:11.001881 > "230 Welcome you silly person[CR][LF]" 07:51:11.002000 < "PWD" 07:51:11.002026 > "257 "/" is current directory[CR][LF]" 07:51:11.002160 < "EPSV" 07:51:11.002184 ====> 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/16/valgrind272 ../src/curl -q --output log/16/curl272.out --include --trace-ascii log/16/trace272 --trace-time ftp://127.0.0.1:37855/272 -z "2004 jan 1 12:12:12 UTC" > log/16/stdout272 2> log/16/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/6/valgrind252 ../src/curl -q --output log/6/curl252.out --include --trace-ascii log/6/trace252 --trace-time -g "ftp://[::1]:38291/" > log/6/stdout252 2> log/6/stderr252 TA channel requested by client 07:51:11.002195 DATA sockfilt for passive data channel starting... 07:51:11.004354 DATA sockfilt for passive data channel started (pid 91304) 07:51:11.004502 DATA sockfilt for passive data channel listens on port 33895 07:51:11.004571 > "229 Entering Passive Mode (|||33895|)[CR][LF]" 07:51:11.004658 Client has been notified that DATA conn will be accepted on port 33895 07:51:11.005201 Client connects to port 33895 07:51:11.005233 ====> Client established passive DATA connection on port 33895 07:51:11.005479 < "TYPE I" 07:51:11.005531 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:11.005714 < "SIZE verifiedserver" 07:51:11.005751 > "213 17[CR][LF]" 07:51:11.005920 < "RETR verifiedserver" 07:51:11.005951 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:11.006131 =====> Closing passive DATA connection... 07:51:11.006149 Server disconnects passive DATA connection 07:51:11.006174 Fancy that; client wants to DISC, too 07:51:11.006273 Server disconnected passive DATA connection 07:51:11.006293 DATA sockfilt for passive data channel quits (pid 91304) 07:51:11.006580 DATA sockfilt for passive data channel quit (pid 91304) 07:51:11.006604 =====> Closed passive DATA connection 07:51:11.006634 > "226 File transfer complete[CR][LF]" 07:51:11.048259 < "QUIT" 07:51:11.048328 > "221 bye bye baby[CR][LF]" 07:51:11.048625 MAIN sockfilt said DISC 07:51:11.048863 ====> Client disconnected 07:51:11.048951 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:10.829060 ====> Client connect 07:51:10.829385 Received DATA (on stdin) 07:51:10.829399 > 160 bytes data, server => client 07:51:10.829411 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:10.829420 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:10.829429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:10.829494 < 16 bytes data, client => server 07:51:10.829505 'USER anonymous\r\n' 07:51:10.829660 Received DATA (on stdin) 07:51:10.829671 > 33 bytes data, server => client 07:51:10.829680 '331 We are happy you popped in!\r\n' 07:51:10.829724 < 22 bytes data, client => server 07:51:10.829734 'PASS ftp@example.com\r\n' 07:51:10.829824 Received DATA (on stdin) 07:51:10.829833 > 30 bytes data, server => client 07:51:10.829842 '230 Welcome you silly person\r\n' 07:51:10.829879 < 5 bytes data, client => server 07:51:10.829888 'PWD\r\n' 07:51:10.829969 Received DATA (on stdin) 07:51:10.829979 > 30 bytes data, server => client 07:51:10.829988 '257 "/" is current directory\r\n' 07:51:10.830037 < 6 bytes data, client => server 07:51:10.830047 'EPSV\r\n' 07:51:10.832575 Received DATA (on stdin) 07:51:10.832638 > 39 bytes data, server => client 07:51:10.832791 '229 Entering Passive Mode (|||33895|)\r\n' 07:51:10.833155 < 8 bytes data, client => server 07:51:10.833175 'TYPE I\r\n' 07:51:10.833485 Received DATA (on stdin) 07:51:10.833503 > 33 bytes data, server => client 07:51:10.833516 '200 I modify TYPE as you wanted\r\n' 07:51:10.833577 < 21 bytes data, client => server 07:51:10.833590 'SIZE verifiedserver\r\n' 07:51:10.833699 Received DATA (on stdin) 07:51:10.833712 > 8 bytes data, server => client 07:51:10.833723 '213 17\r\n' 07:51:10.833787 < 21 bytes data, client => server 07:51:10.833800 'RETR verifiedserver\r\n' 07:51:10.833905 Received DATA (on stdin) 07:51:10.833928 > 29 bytes data, server => client 07:51:10.833941 '150 Binary junk (17 bytes).\r\n' 07:51:10.834582 Received DATA (on stdin) 07:51:10.834596 > 28 bytes data, server => client 07:51:10.834608 '226 File transfer complete\r\n' 07:51:10.876002 < 6 bytes data, client => server 07:51:10.876032 'QUIT\r\n' 07:51:10.876287 Received DATA (on stdin) 07:51:10.876302 > 18 bytes data, server => client 07:51:10.876329 '221 bye bye baby\r\n' 07:51:10.876439 ====> Client disconnect 07:51:10.876816 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:11.832093 Running IPv4 version 07:51:11.832167 Listening on port 33895 07:51:11.832200 Wrote pid 91304 to log/23/server/ftp_sockdata.pid 07:51:11.832223 Received PING (on stdin) 07:51:11.832349 Received PORT (on stdin) 07:51:11.833089 ====> Client connect 07:51:11.833949 Received DATA (on stdin) 07:51:11.833963 > 17 bytes data, server => client 07:51:11.833976 'WE ROOLZ: 82431\r\n' 07:51:11.834055 ====> Client disconnect 07:51:11.834136 Received DISC (on stdin) 07:51:11.834147 Crikey! Client also wants to disconnect 07:51:11.834160 Received ACKD (on stdin) 07:51:11.834248 Received QUIT (on stdin) 07:51:11.834260 quits 07:51:11.834319 ============> 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 ==91337== ==91337== Process terminating with default action of signal 4 (SIGILL) ==91337== Illegal opcode at address 0x4013DC0 ==91337== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91337== by 0x40037A4: main (tool_main.c:199) === End of file valgrind270 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/16/valgrind272 ../src/curl -q --output log/16/curl272.out --include --trace-ascii log/16/trace272 --trace-time ftp://127.0.0.1:37855/272 -z "2004 jan 1 12:12:12 UTC" > log/16/stdout272 2> log/16/stderr272 272: 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/ dir 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/16/valgrind272 ../src/curl -q --output log/16/curl272.out --include --trace-ascii log/16/trace272 --trace-time ftp://127.0.0.1:37855/272 -z "2004 jan 1 12:12:12 UTC" > log/16/stdout272 2> log/16/stderr272 === End of file commands.log === Start of file ftp_server.log 07:51:11.072617 ====> Client connect 07:51:11.072761 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:11.073022 < "USER anonymous" 07:51:11.073054 > "331 We are happy you popped in![CR][LF]" 07:51:11.073208 < "PASS ftp@example.com" 07:51:11.073233 > "230 Welcome you silly person[CR][LF]" 07:51:11.073375 < "PWD" 07:51:11.073403 > "257 "/" is current directory[CR][LF]" 07:51:11.074715 < "EPSV" 07:51:11.074756 ====> Passive DATA channel requested by client 07:51:11.074771 DATA sockfilt for passive data channel starting... 07:51:11.076635 DATA sockfilt for passive data channel started (pid 91374) 07:51:11.076758 DATA sockfilt for passive data channel listens on port 43411 07:51:11.076804 > "229 Entering Passive Mode (|||43411|)[CR][LF]" 07:51:11.076822 Client has been notified that DATA conn will be accepted on port 43411 07:51:11.077071 Client connects to port 43411 07:51:11.077101 ====> Client established passive DATA connection on port 43411 07:51:11.077186 < "TYPE I" 07:51:11.077220 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:11.077388 < "SIZE verifiedserver" 07:51:11.077426 > "213 17[CR][LF]" 07:51:11.077609 < "RETR verifiedserver" 07:51:11.077652 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:11.077728 =====> Closing passive DATA connection... 07:51:11.077744 Server disconnects passive DATA connection 07:51:11.077834 Server disconnected passive DATA connection 07:51:11.077855 DATA sockfilt for passive data channel quits (pid 91374) 07:51:11.078112 DATA sockfilt for passive data channel quit (pid 91374) 07:51:11.078134 =====> Closed passive DATA connection 07:51:11.078163 > "226 File transfer CMD (33792): ../libtool --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/valgrind253 ../src/curl -q --output log/15/curl253.out --include --trace-ascii log/15/trace253 --trace-time -g "ftp://[::1]:45443/" -P - > log/15/stdout253 2> log/15/stderr253 complete[CR][LF]" 07:51:11.118243 < "QUIT" 07:51:11.118300 > "221 bye bye baby[CR][LF]" 07:51:11.119263 MAIN sockfilt said DISC 07:51:11.119301 ====> Client disconnected 07:51:11.119381 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:10.900468 ====> Client connect 07:51:10.900718 Received DATA (on stdin) 07:51:10.900733 > 160 bytes data, server => client 07:51:10.900746 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:10.900758 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:10.900768 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:10.900838 < 16 bytes data, client => server 07:51:10.900850 'USER anonymous\r\n' 07:51:10.901003 Received DATA (on stdin) 07:51:10.901015 > 33 bytes data, server => client 07:51:10.901027 '331 We are happy you popped in!\r\n' 07:51:10.901074 < 22 bytes data, client => server 07:51:10.901085 'PASS ftp@example.com\r\n' 07:51:10.901179 Received DATA (on stdin) 07:51:10.901191 > 30 bytes data, server => client 07:51:10.901202 '230 Welcome you silly person\r\n' 07:51:10.901245 < 5 bytes data, client => server 07:51:10.901256 'PWD\r\n' 07:51:10.901349 Received DATA (on stdin) 07:51:10.901360 > 30 bytes data, server => client 07:51:10.901371 '257 "/" is current directory\r\n' 07:51:10.901434 < 6 bytes data, client => server 07:51:10.901445 'EPSV\r\n' 07:51:10.904777 Received DATA (on stdin) 07:51:10.904795 > 39 bytes data, server => client 07:51:10.904808 '229 Entering Passive Mode (|||43411|)\r\n' 07:51:10.904966 < 8 bytes data, client => server 07:51:10.904989 'TYPE I\r\n' 07:51:10.905171 Received DATA (on stdin) 07:51:10.905188 > 33 bytes data, server => client 07:51:10.905200 '200 I modify TYPE as you wanted\r\n' 07:51:10.905255 < 21 bytes data, client => server 07:51:10.905267 'SIZE verifiedserver\r\n' 07:51:10.905376 Received DATA (on stdin) 07:51:10.905401 > 8 bytes data, server => client 07:51:10.905412 '213 17\r\n' 07:51:10.905466 < 21 bytes data, client => server 07:51:10.905478 'RETR verifiedserver\r\n' 07:51:10.905673 Received DATA (on stdin) 07:51:10.905686 > 29 bytes data, server => client 07:51:10.905698 '150 Binary junk (17 bytes).\r\n' 07:51:10.906112 Received DATA (on stdin) 07:51:10.906125 > 28 bytes data, server => client 07:51:10.906137 '226 File transfer complete\r\n' 07:51:10.945984 < 6 bytes data, client => server 07:51:10.946025 'QUIT\r\n' 07:51:10.946255 Received DATA (on stdin) 07:51:10.946270 > 18 bytes data, server => client 07:51:10.946282 '221 bye bye baby\r\n' 07:51:10.947148 ====> Client disconnect 07:51:10.947328 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:11.904376 Running IPv4 version 07:51:11.904460 Listening on port 43411 07:51:11.904499 Wrote pid 91374 to log/16/server/ftp_sockdata.pid 07:51:11.904521 Received PING (on stdin) 07:51:11.904615 Received PORT (on stdin) 07:51:11.904966 ====> Client connect 07:51:11.905612 Received DATA (on stdin) 07:51:11.905626 > 17 bytes data, server => client 07:51:11.905637 'WE ROOLZ: 80324\r\n' 07:51:11.905720 Received DISC (on stdin) 07:51:11.905734 ====> Client forcibly disconnected 07:51:11.905807 Received QUIT (on stdin) 07:51:11.905818 quits 07:51:11.905889 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==91404== ==91404== Process terminating with default action of signal 4 (SIGILL) ==91404== Illegal opcode at address 0x4013DC0 ==91404== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91404== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91404== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91404== by 0x40037A4: main (tool_main.c:199) === End of file valgrind272 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_ipv6_server.pid" --logfile "log/6/ftp_ipv6_server.log" --logdir "log/6" --portfile "log/6/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 38291 (log/6/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90170 port 38291 * pid ftp-ipv6 => 90170 90170 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/6/valgrind252 ../src/curl -q --output log/6/curl252.out --include --trace-ascii log/6/trace252 --trace-time -g "ftp://[::1]:38291/" > log/6/stdout252 2> log/6/stderr252 252: 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/ dir 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/6/valgrind252 ../src/curl -q --output log/6/curl252.out --include --trace-ascii log/6/trace252 --trace-time -g "ftp://[::1]:38291/" > log/6/stdout252 2> log/6/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 07:51:10.216962 FTP server listens on port IPv6/38291 07:51:10.217061 logged pid 90170 in log/6/server/ftp_ipv6_server.pid 07:51:10.217091 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 07:51:10.044602 Running IPv6 version 07:51:10.044699 Listening on port 38291 07:51:10.044747 Wrote pid 90242 to log/6/server/ftp_ipv6_sockctrl.pid 07:51:10.044781 Wrote port 38291 to log/6/server/ftp_ipv6_server.port 07:51:10.044804 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 ==91459== ==91459== Process terminating with default action of signal 4 (SIGILL) ==91459== Illegal opcode at address 0x4013DC0 ==91459== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind252 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/ftp_ipv6_server.pid" --logfile "log/15/ftp_ipv6_server.log" --logdir "log/15" --portfile "log/15/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 45443 (log/15/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90195 port 45443 * pid ftp-ipv6 => 90195 90195 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/15/valgrind253 ../src/curl -q --output log/15/curl253.out --include --trace-ascii log/15/trace253 --trace-time -g "ftp://[::1]:45443/" -P - > log/15/stdout253 2> log/15/stderr253 253: 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/ dir 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/15/valgrind253 ../src/curl -q --output log/15/curl253.out --include --trace-ascii log/15/trace253 --trace-time -g "ftp://[::1]:45443/" -P - > log/15/stdout253 2> log/15/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 07:51:10.226970 FTP server listens on port IPv6/45443 07:51:10.227080 logged pid 90195 in log/15/server/ftp_ipv6_server.pid 07:51:10.227113 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 07:51:10.054482 Running IPv6 version 07:51:10.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/21/valgrind255 ../src/curl -q --output log/21/curl255.out --include --trace-ascii log/21/trace255 --trace-time -g "ftp://[::1]:42689/" -P - --disable-eprt > log/21/stdout255 2> log/21/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/13/valgrind254 ../src/curl -q --output log/13/curl254.out --include --trace-ascii log/13/trace254 --trace-time -g "ftp://[::1]:46289/" --disable-epsv > log/13/stdout254 2> log/13/stderr254 CMD (33792): ../libtool --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/valgrind274 ../src/curl -q --output log/17/curl274.out --include --trace-ascii log/17/trace274 --trace-time http://127.0.0.1:42601/want/274 -L --max-redirs 0 > log/17/stdout274 2> log/17/stderr274 4561 Listening on port 45443 07:51:10.054607 Wrote pid 90257 to log/15/server/ftp_ipv6_sockctrl.pid 07:51:10.054639 Wrote port 45443 to log/15/server/ftp_ipv6_server.port 07:51:10.054814 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 ==91480== ==91480== Process terminating with default action of signal 4 (SIGILL) ==91480== Illegal opcode at address 0x4013DC0 ==91480== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91480== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91480== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91480== by 0x40037A4: main (tool_main.c:199) === End of file valgrind253 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" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 42689 (log/21/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90278 port 42689 * pid ftp-ipv6 => 90278 90278 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/21/valgrind255 ../src/curl -q --output log/21/curl255.out --include --trace-ascii log/21/trace255 --trace-time -g "ftp://[::1]:42689/" -P - --disable-eprt > log/21/stdout255 2> log/21/stderr255 255: 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/ dir 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/21/valgrind255 ../src/curl -q --output log/21/curl255.out --include --trace-ascii log/21/trace255 --trace-time -g "ftp://[::1]:42689/" -P - --disable-eprt > log/21/stdout255 2> log/21/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 07:51:10.357717 FTP server listens on port IPv6/42689 07:51:10.357800 logged pid 90278 in log/21/server/ftp_ipv6_server.pid 07:51:10.357824 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 07:51:10.185402 Running IPv6 version 07:51:10.185494 Listening on port 42689 07:51:10.185531 Wrote pid 90280 to log/21/server/ftp_ipv6_sockctrl.pid 07:51:10.185559 Wrote port 42689 to log/21/server/ftp_ipv6_server.port 07:51:10.185579 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 ==91602== ==91602== Process terminating with default action of signal 4 (SIGILL) ==91602== Illegal opcode at address 0x4013DC0 ==91602== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91602== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91602== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91602== by 0x40037A4: main (tool_main.c:199) === End of file valgrind255 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_ipv6_server.pid" --logfile "log/13/ftp_ipv6_server.log" --logdir "log/13" --portfile "log/13/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46289 (log/13/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90272 port 46289 * pid ftp-ipv6 => 90272 90272 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/13/valgrind254 ../src/curl -q --output log/13/curl254.out --include --trace-ascii log/13/trace254 --trace-time -g "ftp://[::1]:46289/" --disable-epsv > log/13/stdout254 2> log/13/stderr254 254: 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/ dir 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/13/valgrind254 ../src/curl -q --output log/13/curl254.out --include --trace-ascii log/13/trace254 --trace-time -g "ftp://[::1]:46289/" --disable-epsv > log/13/stdout254 2> log/13/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 07:51:10.311129 FTP server listens on port IPv6/46289 07:51:10.311230 logged pid 90272 in log/13/server/ftp_ipv6_server.pid 07:51:10.311332 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 07:51:10.138425 Running IPv6 version 07:51:10.138510 Listening on port 46289 07:51:10.138548 Wrote pid 90274 to log/13/server/ftp_ipv6_sockctrl.pid 07:51:10.138577 Wrote port 46289 to log/13/server/ftp_ipv6_server.port 07:51:10.138976 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 ==91559== ==91559== Process terminating with default action of signal 4 (SIGILL) ==91559== Illegal opcode at address 0x4013DC0 ==91559== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91559== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91559== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91559== by 0x40037A4: main (tool_main.c:199) === End of file valgrind254 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/17/valgrind274 ../src/curl -q --output log/17/curl274.out --include --trace-ascii log/17/trace274 --trace-time http://127.0.0.1:42601/want/274 -L --max-redirs 0 > log/17/stdout274 2> log/17/stderr274 274: 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/ dir 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/17/valgrind274 ../src/curl -q --output log/17/curl274.out --include --trace-ascii log/17/trace274 --trace-time http://127.0.0.1:42601/want/274 -L --max-redirs 0 > log/17/stdout274 2> log/17/stderr274 === End of file commands.log === Start of file http_server.log 07:51:12.192415 ====> Client connect 07:51:12.192447 accept_connection 3 returned 4 07:51:12.192463 accept_connection 3 returned 0 07:51:12.192477 Read 93 bytes 07:51:12.192487 Process 93 bytes request 07:51:12.192500 Got request: GET /verifiedserver HTTP/1.1 07:51:12.193054 Are-we-friendly question received 07:51:12.193087 Wrote request (93 bytes) input to log/17/server.input 07:51:12.193105 Identifying ourselves as friends 07:51:12.193162 Response sent (56 bytes) and written to log/17/server.response 07:51:12.193173 special request received, no persistency 07:51:12.193182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 50600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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/5/valgrind273 ../src/curl -q --output log/5/curl273.out --include --trace-ascii log/5/trace273 --trace-time http://127.0.0.1:42797/273 -u testuser:testpass --digest > log/5/stdout273 2> log/5/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/10/valgrind281 ../src/curl -q --output log/10/curl281.out --include --trace-ascii log/10/trace281 --trace-time http://127.0.0.1:34041/we/want/281 -f -T log/10/test281.txt > log/10/stdout281 2> log/10/stderr281 CMD (33792): ../libtool --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/valgrind277 ../src/curl -q --output log/14/curl277.out --include --trace-ascii log/14/trace277 --trace-time http://127.0.0.1:34115/want/277 -F name=daniel -H "Content-Type: text/info" > log/14/stdout277 2> log/14/stderr277 f 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: 74400 === End of file server.response === Start of file valgrind274 ==91725== ==91725== Process terminating with default action of signal 4 (SIGILL) ==91725== Illegal opcode at address 0x4013DC0 ==91725== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91725== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91725== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91725== by 0x40037A4: main (tool_main.c:199) === 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/5/valgrind273 ../src/curl -q --output log/5/curl273.out --include --trace-ascii log/5/trace273 --trace-time http://127.0.0.1:42797/273 -u testuser:testpass --digest > log/5/stdout273 2> log/5/stderr273 273: 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/ dir 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/5/valgrind273 ../src/curl -q --output log/5/curl273.out --include --trace-ascii log/5/trace273 --trace-time http://127.0.0.1:42797/273 -u testuser:testpass --digest > log/5/stdout273 2> log/5/stderr273 === End of file commands.log === Start of file http_server.log 07:51:11.184631 ====> Client connect 07:51:11.184666 accept_connection 3 returned 4 07:51:11.184685 accept_connection 3 returned 0 07:51:11.184700 Read 93 bytes 07:51:11.184710 Process 93 bytes request 07:51:11.184724 Got request: GET /verifiedserver HTTP/1.1 07:51:11.184734 Are-we-friendly question received 07:51:11.184789 Wrote request (93 bytes) input to log/5/server.input 07:51:11.184807 Identifying ourselves as friends 07:51:11.184861 Response sent (56 bytes) and written to log/5/server.response 07:51:11.184872 special request received, no persistency 07:51:11.184880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind273 ==91706== ==91706== Process terminating with default action of signal 4 (SIGILL) ==91706== Illegal opcode at address 0x4013DC0 ==91706== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91706== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91706== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91706== by 0x40037A4: main (tool_main.c:199) === End of file valgrind273 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/10/valgrind281 ../src/curl -q --output log/10/curl281.out --include --trace-ascii log/10/trace281 --trace-time http://127.0.0.1:34041/we/want/281 -f -T log/10/test281.txt > log/10/stdout281 2> log/10/stderr281 281: 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/ dir 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/10/valgrind281 ../src/curl -q --output log/10/curl281.out --include --trace-ascii log/10/trace281 --trace-time http://127.0.0.1:34041/we/want/281 -f -T log/10/test281.txt > log/10/stdout281 2> log/10/stderr281 === End of file commands.log === Start of file http_server.log 07:51:11.513128 ====> Client connect 07:51:11.513157 accept_connection 3 returned 4 07:51:11.513173 accept_connection 3 returned 0 07:51:11.513187 Read 93 bytes 07:51:11.513198 Process 93 bytes request 07:51:11.513211 Got request: GET /verifiedserver HTTP/1.1 07:51:11.513221 Are-we-friendly question received 07:51:11.513243 Wrote request (93 bytes) input to log/10/server.input 07:51:11.513259 Identifying ourselves as friends 07:51:11.513308 Response sent (56 bytes) and written to log/10/server.response 07:51:11.513318 special request received, no persistency 07:51:11.513327 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 60960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==92067== ==92067== Process terminating with default action of signal 4 (SIGILL) ==92067== Illegal opcode at address 0x4013DC0 ==92067== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92067== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92067== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92067== by 0x40037A4: main (tool_main.c:199) === End of file valgrind281 test 0277...[HTTP RFC1867-type formposting 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/14/valgrind277 ../src/curl -q --output log/14/curl277.out --include --trace-ascii log/14/trace277 --trace-time http://127.0.0.1:34115/want/277 -F name=daniel -H "Content-Type: text/info" > log/14/stdout277 2> log/14/stderr277 277: 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/ dir 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/14/valgrind277 ../src/curl -q --output log/14/curl277.out --include --trace-ascii log/14/trace277 --trace-time http://127.0.0.1:34115/want/277 -F name=daniel -H "Content-Type: text/info" > log/14/stdout277 2> log/14/stderr277 === End of file commands.log === Start of file http_server.log 07:51:11.477978 ====> Client connect 07:51:11.478012 accept_connection 3 returned 4 07:51:11.478031 accept_connection 3 returned 0 07:51:11.478046 Read 93 bytes 07:51:11.478058 Process 93 bytes request 07:51:11.478071 Got request: GET /verifiedserver HTTP/1.1 07:51:11.478082 Are-we-friendly question received 07:51:11.478109 Wrote request (93 bytes) input to log/14/server.input 07:51:11.478128 Identifying ourselvesCMD (33792): ../libtool --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/valgrind278 ../src/curl -q --output log/24/curl278.out --include --trace-ascii log/24/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:41843 > log/24/stdout278 2> log/24/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/2/valgrind279 ../src/curl -q --output log/2/curl279.out --include --trace-ascii log/2/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:43955 > log/2/stdout279 2> log/2/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/12/valgrind276 ../src/curl -q --output log/12/curl276.out --include --trace-ascii log/12/trace276 --trace-time "http://127.0.0.1:38023/want?uri=http://anything/276?secondq/276" -L > log/12/stdout276 2> log/12/stderr276 as friends 07:51:11.478187 Response sent (56 bytes) and written to log/14/server.response 07:51:11.478199 special request received, no persistency 07:51:11.478210 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 36182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind277 ==91895== ==91895== Process terminating with default action of signal 4 (SIGILL) ==91895== Illegal opcode at address 0x4013DC0 ==91895== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91895== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91895== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91895== by 0x40037A4: main (tool_main.c:199) === 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/24/valgrind278 ../src/curl -q --output log/24/curl278.out --include --trace-ascii log/24/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:41843 > log/24/stdout278 2> log/24/stderr278 278: 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/ dir 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/24/valgrind278 ../src/curl -q --output log/24/curl278.out --include --trace-ascii log/24/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:41843 > log/24/stdout278 2> log/24/stderr278 === End of file commands.log === Start of file http_server.log 07:51:11.485151 ====> Client connect 07:51:11.485185 accept_connection 3 returned 4 07:51:11.485203 accept_connection 3 returned 0 07:51:11.485218 Read 93 bytes 07:51:11.485230 Process 93 bytes request 07:51:11.485242 Got request: GET /verifiedserver HTTP/1.1 07:51:11.485253 Are-we-friendly question received 07:51:11.485279 Wrote request (93 bytes) input to log/24/server.input 07:51:11.485303 Identifying ourselves as friends 07:51:11.485361 Response sent (56 bytes) and written to log/24/server.response 07:51:11.485374 special request received, no persistency 07:51:11.485384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind278 ==91920== ==91920== Process terminating with default action of signal 4 (SIGILL) ==91920== Illegal opcode at address 0x4013DC0 ==91920== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91920== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91920== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91920== by 0x40037A4: main (tool_main.c:199) === End of file valgrind278 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/2/valgrind279 ../src/curl -q --output log/2/curl279.out --include --trace-ascii log/2/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:43955 > log/2/stdout279 2> log/2/stderr279 279: 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/ dir 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/2/valgrind279 ../src/curl -q --output log/2/curl279.out --include --trace-ascii log/2/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:43955 > log/2/stdout279 2> log/2/stderr279 === End of file commands.log === Start of file http_server.log 07:51:12.502557 ====> Client connect 07:51:12.502591 accept_connection 3 returned 4 07:51:12.502608 accept_connection 3 returned 0 07:51:12.502714 Read 93 bytes 07:51:12.502728 Process 93 bytes request 07:51:12.502743 Got request: GET /verifiedserver HTTP/1.1 07:51:12.502754 Are-we-friendly question received 07:51:12.502781 Wrote request (93 bytes) input to log/2/server.input 07:51:12.502799 Identifying ourselves as friends 07:51:12.502852 Response sent (56 bytes) and written to log/2/server.response 07:51:12.502863 special request received, no persistency 07:51:12.502873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind279 ==92007== ==92007== Process terminating with default action of signal 4 (SIGILL) ==92007== Illegal opcode at address 0x4013DC0 ==92007== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92007== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92007== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92007== by 0x40037A4: main (tool_main.c:199) === End of file valgrind279 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel 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/12/valgrind276 ../src/curl -q --output log/12/curl276.out --include --trace-ascii log/12/trace276 --trace-time "http://127.0.0.1:38023/want?uri=http://anything/276?secondq/276" -L > log/12/stdout276 2> log/12/stderr276 276: 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/ dir after test 276 === Start of file commands.log ../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/11/valgrind263 ../src/curl -q --output log/11/curl263.out --include --trace-ascii log/11/trace263 --trace-time -g -x "http://[::1]:34821" http://veryveryremotesite.com/263 > log/11/stdout263 2> log/11/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/1/valgrind280 ../src/curl -q --output log/1/curl280.out --include --trace-ascii log/1/trace280 --trace-time ftp://127.0.0.1:42965/280/ --ftp-alternative-to-user "USER replacement" > log/1/stdout280 2> log/1/stderr280 /tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind276 ../src/curl -q --output log/12/curl276.out --include --trace-ascii log/12/trace276 --trace-time "http://127.0.0.1:38023/want?uri=http://anything/276?secondq/276" -L > log/12/stdout276 2> log/12/stderr276 === End of file commands.log === Start of file http_server.log 07:51:11.470334 ====> Client connect 07:51:11.470372 accept_connection 3 returned 4 07:51:11.470391 accept_connection 3 returned 0 07:51:11.470407 Read 93 bytes 07:51:11.470419 Process 93 bytes request 07:51:11.470433 Got request: GET /verifiedserver HTTP/1.1 07:51:11.470444 Are-we-friendly question received 07:51:11.470477 Wrote request (93 bytes) input to log/12/server.input 07:51:11.470496 Identifying ourselves as friends 07:51:11.470558 Response sent (56 bytes) and written to log/12/server.response 07:51:11.470571 special request received, no persistency 07:51:11.470581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === End of file http_verify.out === Start of file server.cmd Testnum 276 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76290 === End of file server.response === Start of file valgrind276 ==91880== ==91880== Process terminating with default action of signal 4 (SIGILL) ==91880== Illegal opcode at address 0x4013DC0 ==91880== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==91880== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91880== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==91880== by 0x40037A4: main (tool_main.c:199) === End of file valgrind276 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_ipv6_server.pid" --logfile "log/11/http_ipv6_server.log" --logdir "log/11" --portfile log/11/server/http_ipv6_server.port --config log/11/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 90575 port 34821 * pid http-ipv6 => 90575 90575 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/11/valgrind263 ../src/curl -q --output log/11/curl263.out --include --trace-ascii log/11/trace263 --trace-time -g -x "http://[::1]:34821" http://veryveryremotesite.com/263 > log/11/stdout263 2> log/11/stderr263 263: 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/ dir 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/11/valgrind263 ../src/curl -q --output log/11/curl263.out --include --trace-ascii log/11/trace263 --trace-time -g -x "http://[::1]:34821" http://veryveryremotesite.com/263 > log/11/stdout263 2> log/11/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 07:51:10.551878 Running HTTP IPv6 version on port 34821 07:51:10.551962 Wrote pid 90575 to log/11/server/http_ipv6_server.pid 07:51:10.551996 Wrote port 34821 to log/11/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 ==92125== ==92125== Process terminating with default action of signal 4 (SIGILL) ==92125== Illegal opcode at address 0x4013DC0 ==92125== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92125== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92125== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92125== by 0x40037A4: main (tool_main.c:199) === End of file valgrind263 test 0280...[FTP --ftp-alternative-to-user on USER 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/1/valgrind280 ../src/curl -q --output log/1/curl280.out --include --trace-ascii log/1/trace280 --trace-time ftp://127.0.0.1:42965/280/ --ftp-alternative-to-user "USER replacement" > log/1/stdout280 2> log/1/stderr280 280: 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/ dir 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/1/valgrind280 ../src/curl -q --output log/1/curl280.out --include --trace-ascii log/1/trace280 --trace-time ftp://127.0.0.1:42965/280/ --ftp-alternative-to-user "USER replacement" > log/1/stdout280 2> log/1/stderr280 === End of file commands.log === Start of file ftp_server.log 07:51:11.676452 ====> Client connect 07:51:11.676602 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:11.676860 < "USER anonymous" 07:51:11.676892 > "331 We are happy you popped in![CR][LF]" 07:51:11.677063 < "PASS ftp@example.com" 07:51:11.677091 > "230 Welcome you silly person[CR][LF]" 07:51:11.677260 < "PWD" 07:51:11.677291 > "257 "/" is current directory[CR][LF]" 07:51:11.677550 < "EPSV" 07:51:11.677591 ====> Passive DATA channel requested by client 07:51:11.677608 DATA sockfilt for passive data channel starting... 07:51:11.679310 DATA sockfilt for passive data channel started (pid 91976) 07:51:11.679457 DATA sockfilt for passive data channel listens on port 35121 07:51:11.679510 > "229 Entering Passive Mode (|||35121|)[CR][LF]" 07:51:11.679533 Client has been notified that DATA conn will be accepted on port 35121 07:51:11.679806 Client connects to port 35121 07:51:11.679841 ====> Client established passive DATA connection on port 35121 07:51:11.679934 < "TYPE I" 07:51:11.679965 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:11.680133 < "SIZE verifiedserver" 07:51:11.680172 > "213 17[CR][LF]" 07:51:11.680379 < "RETR verifiedserver" 07:51:11.680426 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:11.680517 =====> Closing passive DATA connection... 07:51:11.680536 Server disconnects passive DATA connection 07:51:11.680804 Server disconnected passive DATA connection 07:51:11.680835 DATA sockfilt for passive data channel quits (pid 91976) 07:51:11.681137 DATA sockfilt for passive data channel quit (pid 91976) 07:51:11.681167 =====> Closed passive DATA connection 07:51:11.681200 > "226 File transfer complete[CR][LF]" 07:51:11.721841 < "QUIT" 07:51:11.721952 > "221 bye bye baby[CR][LF]" 07:51:11.722828 MAIN sockfilt said DISC 07:51:11.722909 ====> Client disconnected 07:51:11.723006 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:11.504306 ====> Client connect 07:51:11.504568 Received DATA (on stdin) 07:51:11.504586 > 160 bytes data, server => client 07:51:11.504601 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:11.504613 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:11.504624 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:11.504684 < 16 bytes data, client => server 07:51:11.504695 'USER anonymous\r\n' 07:51:11.504839 Received DATA (on stdin) 07:51:11.504853 > 33 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/22/valgrind282 ../src/curl -q --output log/22/curl282.out --include --trace-ascii log/22/trace282 --trace-time http://127.0.0.1:40377/282 > log/22/stdout282 2> log/22/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/19/valgrind287 ../src/curl -q --include --trace-ascii log/19/trace287 --trace-time http://test.remote.example.com.287:34835/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34835 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/19/stdout287 2> log/19/stderr287 CMD (33792): ../libtool --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/valgrind288 ../src/curl -q --output log/4/curl288.out --trace-ascii log/4/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test288.txt > log/4/stdout288 2> log/4/stderr288 ver => client 07:51:11.504865 '331 We are happy you popped in!\r\n' 07:51:11.504916 < 22 bytes data, client => server 07:51:11.504929 'PASS ftp@example.com\r\n' 07:51:11.505039 Received DATA (on stdin) 07:51:11.505053 > 30 bytes data, server => client 07:51:11.505065 '230 Welcome you silly person\r\n' 07:51:11.505117 < 5 bytes data, client => server 07:51:11.505131 'PWD\r\n' 07:51:11.505240 Received DATA (on stdin) 07:51:11.505253 > 30 bytes data, server => client 07:51:11.505266 '257 "/" is current directory\r\n' 07:51:11.505342 < 6 bytes data, client => server 07:51:11.505371 'EPSV\r\n' 07:51:11.507495 Received DATA (on stdin) 07:51:11.507514 > 39 bytes data, server => client 07:51:11.507527 '229 Entering Passive Mode (|||35121|)\r\n' 07:51:11.507717 < 8 bytes data, client => server 07:51:11.507739 'TYPE I\r\n' 07:51:11.507915 Received DATA (on stdin) 07:51:11.507931 > 33 bytes data, server => client 07:51:11.507941 '200 I modify TYPE as you wanted\r\n' 07:51:11.507993 < 21 bytes data, client => server 07:51:11.508004 'SIZE verifiedserver\r\n' 07:51:11.508119 Received DATA (on stdin) 07:51:11.508132 > 8 bytes data, server => client 07:51:11.508143 '213 17\r\n' 07:51:11.508203 < 21 bytes data, client => server 07:51:11.508225 'RETR verifiedserver\r\n' 07:51:11.508491 Received DATA (on stdin) 07:51:11.508506 > 29 bytes data, server => client 07:51:11.508518 '150 Binary junk (17 bytes).\r\n' 07:51:11.509155 Received DATA (on stdin) 07:51:11.509171 > 28 bytes data, server => client 07:51:11.509253 '226 File transfer complete\r\n' 07:51:11.549544 < 6 bytes data, client => server 07:51:11.549578 'QUIT\r\n' 07:51:11.550537 Received DATA (on stdin) 07:51:11.550566 > 18 bytes data, server => client 07:51:11.550579 '221 bye bye baby\r\n' 07:51:11.550675 ====> Client disconnect 07:51:11.550960 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:11.507057 Running IPv4 version 07:51:11.507130 Listening on port 35121 07:51:11.507166 Wrote pid 91976 to log/1/server/ftp_sockdata.pid 07:51:11.507188 Received PING (on stdin) 07:51:11.507301 Received PORT (on stdin) 07:51:11.507697 ====> Client connect 07:51:11.508552 Received DATA (on stdin) 07:51:11.508572 > 17 bytes data, server => client 07:51:11.508584 'WE ROOLZ: 83307\r\n' 07:51:11.508615 Received DISC (on stdin) 07:51:11.508629 ====> Client forcibly disconnected 07:51:11.508799 Received QUIT (on stdin) 07:51:11.508815 quits 07:51:11.508872 ============> 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 ==92178== ==92178== Process terminating with default action of signal 4 (SIGILL) ==92178== Illegal opcode at address 0x4013DC0 ==92178== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92178== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92178== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92178== by 0x40037A4: main (tool_main.c:199) === End of file valgrind280 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/22/valgrind282 ../src/curl -q --output log/22/curl282.out --include --trace-ascii log/22/trace282 --trace-time http://127.0.0.1:40377/282 > log/22/stdout282 2> log/22/stderr282 282: 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/ dir 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/22/valgrind282 ../src/curl -q --output log/22/curl282.out --include --trace-ascii log/22/trace282 --trace-time http://127.0.0.1:40377/282 > log/22/stdout282 2> log/22/stderr282 === End of file commands.log === Start of file http_server.log 07:51:11.770605 ====> Client connect 07:51:11.770634 accept_connection 3 returned 4 07:51:11.770648 accept_connection 3 returned 0 07:51:11.770659 Read 93 bytes 07:51:11.770668 Process 93 bytes request 07:51:11.770680 Got request: GET /verifiedserver HTTP/1.1 07:51:11.770688 Are-we-friendly question received 07:51:11.770708 Wrote request (93 bytes) input to log/22/server.input 07:51:11.770722 Identifying ourselves as friends 07:51:11.770765 Response sent (56 bytes) and written to log/22/server.response 07:51:11.770774 special request received, no persistency 07:51:11.770781 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind282 ==92305== ==92305== Process terminating with default action of signal 4 (SIGILL) ==92305== Illegal opcode at address 0x4013DC0 ==92305== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92305== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92305== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92305== by 0x40037A4: main (tool_main.c:199) === End of file valgrind282 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/19/valgrind287 ../src/curl -q --include --trace-ascii log/19/trace287 --trace-time http://test.remote.example.com.287:34835/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34835 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/19/stdout287 2> log/19/stderr287 287: stdout FAILED: --- log/19/check-expected 2025-11-07 07:51:12.864040162 +0000 +++ log/19/check-generated 2025-11-07 07:51:12.864040162 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/19/ dir 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/19/valgrind287 ../src/curl -q --include --trace-ascii log/19/trace287 --trace-time http://test.remote.example.com.287:34835/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:34835 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/19/stdout287 2> log/19/stderr287 === End of file commands.log === Start of file http_server.log 07:51:11.819632 ====> Client connect 07:51:11.819665 accept_connection 3 returned 4 07:51:11.819682 accept_connection 3 returned 0 07:51:11.819805 Read 93 bytes 07:51:11.819821 Process 93 bytes request 07:51:11.819837 Got request: GET /verifiedserver HTTP/1.1 07:51:11.819848 Are-we-friendly question received 07:51:11.819876 Wrote request (93 bytes) input to log/19/server.input 07:51:11.819898 Identifying ourselves as friends 07:51:11.819952 Response sent (56 bytes) and written to log/19/server.response 07:51:11.819963 special request received, no persistency 07:51:11.819973 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind287 ==92397== ==92397== Process terminating with default action of signal 4 (SIGILL) ==92397== Illegal opcode at address 0x4013DC0 ==92397== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92397== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92397== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92397== by 0x40037A4: main (tool_main.c:199) === End of file valgrind287 CMD (33792): ../libtool --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/valgrind271 ../src/curl -q --output log/18/curl271.out --include --trace-ascii log/18/trace271 --trace-time tftp://127.0.0.1:40354//271 > log/18/stdout271 2> log/18/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/23/valgrind289 ../src/curl -q --output log/23/curl289.out --include --trace-ascii log/23/trace289 --trace-time ftp://127.0.0.1:39237/289 -T log/23/illegal-nonexistent-file -C - > log/23/stdout289 2> log/23/stderr289 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/4/valgrind288 ../src/curl -q --output log/4/curl288.out --trace-ascii log/4/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test288.txt > log/4/stdout288 2> log/4/stderr288 288: data FAILED: --- log/4/check-expected 2025-11-07 07:51:12.870706829 +0000 +++ log/4/check-generated 2025-11-07 07:51:12.870706829 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/4/ dir 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/4/valgrind288 ../src/curl -q --output log/4/curl288.out --trace-ascii log/4/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test288.txt > log/4/stdout288 2> log/4/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 ==92351== ==92351== Process terminating with default action of signal 4 (SIGILL) ==92351== Illegal opcode at address 0x4013DC0 ==92351== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92351== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92351== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92351== by 0x40037A4: main (tool_main.c:199) === 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/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 91332 port 40354 * pid tftp => 91332 91332 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/18/valgrind271 ../src/curl -q --output log/18/curl271.out --include --trace-ascii log/18/trace271 --trace-time tftp://127.0.0.1:40354//271 > log/18/stdout271 2> log/18/stderr271 271: 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/ dir 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/18/valgrind271 ../src/curl -q --output log/18/curl271.out --include --trace-ascii log/18/trace271 --trace-time tftp://127.0.0.1:40354//271 > log/18/stdout271 2> log/18/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 07:51:11.899438 Wrote pid 91332 to log/18/server/tftp_server.pid 07:51:11.899492 Wrote port 40354 to log/18/server/tftp_server.port 07:51:11.899506 Running IPv4 version on port UDP/40354 === End of file tftp_server.log === Start of file valgrind271 ==92482== ==92482== Process terminating with default action of signal 4 (SIGILL) ==92482== Illegal opcode at address 0x4013DC0 ==92482== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92482== by 0x40037A4: main (tool_main.c:199) === End of file valgrind271 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:39237/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/ dir 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:39237/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 07:51:12.011199 ====> Client connect 07:51:12.011378 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.011713 < "USER anonymous" 07:51:12.011754 > "331 We are happy you popped in![CR][LF]" 07:51:12.011928 < "PASS ftp@example.com" 07:51:12.011952 > "230 Welcome you silly person[CR][LF]" 07:51:12.012073 < "PWD" 07:51:12.012098 > "257 "/" is current directory[CR][LF]" 07:51:12.012221 < "EPSV" 07:51:12.012240 ====> Passive DATA channel requested by client 07:51:12.012251 DATA sockfilt for passive data channel starting... 07:51:12.013703 DATA sockfilt for passive data channel started (pid 92423) 07:51:12.013790 DATA sockfilt for passive data channel listens on port 36611 07:51:12.013820 > "229 Entering Passive Mode (|||36611|)[CR][LF]" 07:51:12.013834 Client has been notified that DATA conn will be accepted on port 36611 07:51:12.014018 Client connects to port 36611 07:51:12.014044 ====> Client established passive DATA connection on port 36611 07:51:12.014102 < "TYPE I" 07:51:12.014122 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.014242 < "SIZE verifiedserver" 07:51:12.014273 > "213 17[CR][LF]" 07:51:12.014386 < "RETR verifiedserver" 07:51:12.014408 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.014468 =====> Closing passive DATA connection... 07:51:12.014480 Server disconnects passive DATA connection 07:51:12.014602 Server disconnected passive DATA connection 07:51:12.014628 DATA sockfilt for passive data channel quits (pid 92423) 07:51:12.014826 DATA sockfilt for passive data channel quit (pid 92423) 07:51:12.014849 =====> Closed passive DATA connection 07:51:12.014878 > "226 File transfer complete[CR][LF]" 07:51:12.061684 < "QUIT" 07:51:12.061737 > "221 bye bye baby[CR][LF]" 07:51:12.062546 MAIN sockfilt said DISC 07:51:12.062584 ====> Client disconnected 07:51:12.062649 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:11.839034 ====> Client connect 07:51:11.839395 Received DATA (on stdin) 07:51:11.839417 > 160 bytes data, server => client 07:51:11.839431 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:11.839442 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:11.839453 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:11.839522 < 16 bytes data, client => server 07:51:11.839534 'USER anonymous\r\n' 07:51:11.839706 Received DATA (on stdin) 07:51:11.839720 > 33 bytes data, server => client 07:51:11.839732 '331 We are happy you popped in!\r\n' 07:51:11.839784 < 22 bytes data, client => server 07:51:11.839796 'PASS ftp@example.com\r\n' 07:51:11.839896 Received DATA (on stdin) 07:51:11.839906 > 30 bytes data, server => client 07:51:11.839914 '230 Welcome you silly person\r\n' 07:51:11.839952 < 5 bytes data, client => server 07:51:11.839CMD (33792): ../libtool --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:43789/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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-time ftp://127.0.0.1:41051/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 961 'PWD\r\n' 07:51:11.840040 Received DATA (on stdin) 07:51:11.840049 > 30 bytes data, server => client 07:51:11.840058 '257 "/" is current directory\r\n' 07:51:11.840100 < 6 bytes data, client => server 07:51:11.840109 'EPSV\r\n' 07:51:11.841780 Received DATA (on stdin) 07:51:11.841791 > 39 bytes data, server => client 07:51:11.841800 '229 Entering Passive Mode (|||36611|)\r\n' 07:51:11.841919 < 8 bytes data, client => server 07:51:11.841928 'TYPE I\r\n' 07:51:11.842064 Received DATA (on stdin) 07:51:11.842074 > 33 bytes data, server => client 07:51:11.842083 '200 I modify TYPE as you wanted\r\n' 07:51:11.842121 < 21 bytes data, client => server 07:51:11.842131 'SIZE verifiedserver\r\n' 07:51:11.842215 Received DATA (on stdin) 07:51:11.842225 > 8 bytes data, server => client 07:51:11.842233 '213 17\r\n' 07:51:11.842268 < 21 bytes data, client => server 07:51:11.842276 'RETR verifiedserver\r\n' 07:51:11.842494 Received DATA (on stdin) 07:51:11.842504 > 29 bytes data, server => client 07:51:11.842523 '150 Binary junk (17 bytes).\r\n' 07:51:11.842826 Received DATA (on stdin) 07:51:11.842839 > 28 bytes data, server => client 07:51:11.842849 '226 File transfer complete\r\n' 07:51:11.889465 < 6 bytes data, client => server 07:51:11.889493 'QUIT\r\n' 07:51:11.889690 Received DATA (on stdin) 07:51:11.889704 > 18 bytes data, server => client 07:51:11.889716 '221 bye bye baby\r\n' 07:51:11.890435 ====> Client disconnect 07:51:11.890597 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.841410 Running IPv4 version 07:51:12.841466 Listening on port 36611 07:51:12.841501 Wrote pid 92423 to log/23/server/ftp_sockdata.pid 07:51:12.841595 Received PING (on stdin) 07:51:12.841665 Received PORT (on stdin) 07:51:12.841895 ====> Client connect 07:51:12.842426 Received DATA (on stdin) 07:51:12.842437 > 17 bytes data, server => client 07:51:12.842446 'WE ROOLZ: 82431\r\n' 07:51:12.842466 Received DISC (on stdin) 07:51:12.842475 ====> Client forcibly disconnected 07:51:12.842611 Received QUIT (on stdin) 07:51:12.842623 quits 07:51:12.842669 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==92491== ==92491== Process terminating with default action of signal 4 (SIGILL) ==92491== Illegal opcode at address 0x4013DC0 ==92491== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92491== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92491== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92491== by 0x40037A4: main (tool_main.c:199) === End of file valgrind289 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:43789/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/ dir 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:43789/292 --max-filesize 1000 > log/15/stdout292 2> log/15/stderr292 === End of file commands.log === Start of file http_server.log 07:51:11.933123 ====> Client connect 07:51:11.933155 accept_connection 3 returned 4 07:51:11.933172 accept_connection 3 returned 0 07:51:11.933188 Read 93 bytes 07:51:11.933199 Process 93 bytes request 07:51:11.933213 Got request: GET /verifiedserver HTTP/1.1 07:51:11.933224 Are-we-friendly question received 07:51:11.933250 Wrote request (93 bytes) input to log/15/server.input 07:51:11.933267 Identifying ourselves as friends 07:51:11.933325 Response sent (56 bytes) and written to log/15/server.response 07:51:11.933336 special request received, no persistency 07:51:11.933347 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 43540 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind292 ==92627== ==92627== Process terminating with default action of signal 4 (SIGILL) ==92627== Illegal opcode at address 0x4013DC0 ==92627== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92627== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92627== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92627== by 0x40037A4: main (tool_main.c:199) === End of file valgrind292 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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-time ftp://127.0.0.1:41051/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 291: 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/ dir 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/6/valgrind291 ../src/curl -q --output log/6/curl291.out --include --trace-ascii log/6/trace291 --trace-time ftp://127.0.0.1:41051/291 --max-filesize 100 > log/6/stdout291 2> log/6/stderr291 === End of file commands.log === Start of file ftp_server.log 07:51:12.094607 ====> Client connect 07:51:12.094759 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.095072 < "USER anonymous" 07:51:12.095116 > "331 We are happy you popped in![CR][LF]" 07:51:12.095309 < "PASS ftp@example.com" 07:51:12.095342 > "230 Welcome you silly person[CR][LF]" 07:51:12.095516 < "PWD" 07:51:12.095550 > "257 "/" is current directory[CR][LF]" 07:51:12.095730 < "EPSV" 07:51:12.095754 ====> Passive DATA channel requested by client 07:51:12.095768 DATA sockfilt for passive data channel starting... 07:51:12.097436 DATA sockfilt for passive data channel started (pid 92591) 07:51:12.097543 DATA sockfilt for passive data channel listens on port 41395 07:51:12.097582 > "229 Entering Passive Mode (|||41395|)[CR][LF]" 07:51:12.097602 Client has been notified that DATA conn will be accepted on port 41395 07:51:12.097826 Client connects to port 41395 07:51:12.097855 ====> Client established passive DATA connection on port 41395 07:51:12.097939 < "TYPE I" 07:51:12.097968 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.098131 < "SIZE verifiedserver" 07:51:12.098164 > "213 17[CR][LF]" 07:51:12.098313 < "RETR verifiedserver" 07:51:12.098345 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.098427 =====> Closing passive DATA connection... 07:51:12.098443 Server disconnects passive DATA 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/16/valgrind290 ../src/curl -q --output log/16/curl290.out --include --trace-ascii log/16/trace290 --trace-time ftp://127.0.0.1:37855/290 --max-filesize 30 > log/16/stdout290 2> log/16/stderr290 nection 07:51:12.098686 Server disconnected passive DATA connection 07:51:12.098714 DATA sockfilt for passive data channel quits (pid 92591) 07:51:12.098953 DATA sockfilt for passive data channel quit (pid 92591) 07:51:12.098976 =====> Closed passive DATA connection 07:51:12.099005 > "226 File transfer complete[CR][LF]" 07:51:12.145045 < "QUIT" 07:51:12.145101 > "221 bye bye baby[CR][LF]" 07:51:12.145858 MAIN sockfilt said DISC 07:51:12.145898 ====> Client disconnected 07:51:12.145968 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:11.922443 ====> Client connect 07:51:11.922726 Received DATA (on stdin) 07:51:11.922744 > 160 bytes data, server => client 07:51:11.922758 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:11.922770 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:11.922782 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:11.922864 < 16 bytes data, client => server 07:51:11.922882 'USER anonymous\r\n' 07:51:11.923069 Received DATA (on stdin) 07:51:11.923084 > 33 bytes data, server => client 07:51:11.923096 '331 We are happy you popped in!\r\n' 07:51:11.923149 < 22 bytes data, client => server 07:51:11.923162 'PASS ftp@example.com\r\n' 07:51:11.923293 Received DATA (on stdin) 07:51:11.923307 > 30 bytes data, server => client 07:51:11.923319 '230 Welcome you silly person\r\n' 07:51:11.923370 < 5 bytes data, client => server 07:51:11.923383 'PWD\r\n' 07:51:11.923499 Received DATA (on stdin) 07:51:11.923513 > 30 bytes data, server => client 07:51:11.923525 '257 "/" is current directory\r\n' 07:51:11.923587 < 6 bytes data, client => server 07:51:11.923601 'EPSV\r\n' 07:51:11.925554 Received DATA (on stdin) 07:51:11.925567 > 39 bytes data, server => client 07:51:11.925580 '229 Entering Passive Mode (|||41395|)\r\n' 07:51:11.925720 < 8 bytes data, client => server 07:51:11.925732 'TYPE I\r\n' 07:51:11.925917 Received DATA (on stdin) 07:51:11.925930 > 33 bytes data, server => client 07:51:11.925943 '200 I modify TYPE as you wanted\r\n' 07:51:11.925996 < 21 bytes data, client => server 07:51:11.926008 'SIZE verifiedserver\r\n' 07:51:11.926111 Received DATA (on stdin) 07:51:11.926124 > 8 bytes data, server => client 07:51:11.926135 '213 17\r\n' 07:51:11.926180 < 21 bytes data, client => server 07:51:11.926193 'RETR verifiedserver\r\n' 07:51:11.926393 Received DATA (on stdin) 07:51:11.926406 > 29 bytes data, server => client 07:51:11.926417 '150 Binary junk (17 bytes).\r\n' 07:51:11.926954 Received DATA (on stdin) 07:51:11.926969 > 28 bytes data, server => client 07:51:11.926982 '226 File transfer complete\r\n' 07:51:11.972839 < 6 bytes data, client => server 07:51:11.972862 'QUIT\r\n' 07:51:11.973053 Received DATA (on stdin) 07:51:11.973065 > 18 bytes data, server => client 07:51:11.973075 '221 bye bye baby\r\n' 07:51:11.973747 ====> Client disconnect 07:51:11.973919 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.925215 Running IPv4 version 07:51:12.925267 Listening on port 41395 07:51:12.925305 Wrote pid 92591 to log/6/server/ftp_sockdata.pid 07:51:12.925327 Received PING (on stdin) 07:51:12.925408 Received PORT (on stdin) 07:51:12.925691 ====> Client connect 07:51:12.926447 Received DATA (on stdin) 07:51:12.926461 > 17 bytes data, server => client 07:51:12.926473 'WE ROOLZ: 81211\r\n' 07:51:12.926496 Received DISC (on stdin) 07:51:12.926510 ====> Client forcibly disconnected 07:51:12.926671 Received QUIT (on stdin) 07:51:12.926684 quits 07:51:12.926740 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==92690== ==92690== Process terminating with default action of signal 4 (SIGILL) ==92690== Illegal opcode at address 0x4013DC0 ==92690== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92690== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92690== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92690== by 0x40037A4: main (tool_main.c:199) === End of file valgrind291 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/16/valgrind290 ../src/curl -q --output log/16/curl290.out --include --trace-ascii log/16/trace290 --trace-time ftp://127.0.0.1:37855/290 --max-filesize 30 > log/16/stdout290 2> log/16/stderr290 290: 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/ dir 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/16/valgrind290 ../src/curl -q --output log/16/curl290.out --include --trace-ascii log/16/trace290 --trace-time ftp://127.0.0.1:37855/290 --max-filesize 30 > log/16/stdout290 2> log/16/stderr290 === End of file commands.log === Start of file ftp_server.log 07:51:12.094687 ====> Client connect 07:51:12.094823 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.095082 < "USER anonymous" 07:51:12.095116 > "331 We are happy you popped in![CR][LF]" 07:51:12.095275 < "PASS ftp@example.com" 07:51:12.095301 > "230 Welcome you silly person[CR][LF]" 07:51:12.095595 < "PWD" 07:51:12.095652 > "257 "/" is current directory[CR][LF]" 07:51:12.095872 < "EPSV" 07:51:12.095903 ====> Passive DATA channel requested by client 07:51:12.095923 DATA sockfilt for passive data channel starting... 07:51:12.097799 DATA sockfilt for passive data channel started (pid 92593) 07:51:12.097895 DATA sockfilt for passive data channel listens on port 43561 07:51:12.097942 > "229 Entering Passive Mode (|||43561|)[CR][LF]" 07:51:12.097956 Client has been notified that DATA conn will be accepted on port 43561 07:51:12.098202 Client connects to port 43561 07:51:12.098232 ====> Client established passive DATA connection on port 43561 07:51:12.098312 < "TYPE I" 07:51:12.098343 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.098504 < "SIZE verifiedserver" 07:51:12.098545 > "213 17[CR][LF]" 07:51:12.098713 < "RETR verifiedserver" 07:51:12.098747 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.098823 =====> Closing passive DATA connection... 07:51:12.098836 Server disconnects passive DATA connection 07:51:12.098992 Server disconnected passive DATA connection 07:51:12.099013 DATA sockfilt for passive data channel quits (pid 92593) 07:51:12.099230 DATA sockfilt for passive data channel quit (pid 92593) 07:51:12.099254 =====> Closed passive DATA connection 07:51:12.099281 > "226 File transfer complete[CR][LF]" 07:51:12.141660 < "QUIT" 07:51:12.141720 > "221 bye bye baby[CR][LF]" 07:51:12.142712 MAIN sockfilt said DISC 07:51:12.142756 ====> Client disconnected 07:51:12.142838 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:11.922543 ====> Client connect 07:51:11.922781 Received DATA (on stdin) 07:51:11.922795 > 160 bytes data, server => client 07:51:11.922807 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:11.922818 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:11.922828 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:11.922898 < 16 bytes data, client => server 07:51:11.922911 'USER anonymous\r\n' 07:51:11.923064 Received DATA (on stdin) 07:51:11.923077 > 33 bytes data, server => client 07:51:11.923087 '331 We are happy you popped in!\r\n' 07:51:11.923134 < 22 bytes data, client => server 07:51:11.923146 'PASS ftp@example.com\r\n' 07:51:11.923247 Received DATA (on stdin) 07:51:11.923279 > 30 bytes data, server => client 07:51:11.923293 '230 Welcome you silly personCMD (33792): ../libtool --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/valgrind293 ../src/curl -q --output log/21/curl293.out --include --trace-ascii log/21/trace293 --trace-time http://127.0.0.1:45761/293 --max-filesize 2 > log/21/stdout293 2> log/21/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/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:39251/first/second/third/296 > log/5/stdout296 2> log/5/stderr296 \r\n' 07:51:11.923388 < 5 bytes data, client => server 07:51:11.923404 'PWD\r\n' 07:51:11.923608 Received DATA (on stdin) 07:51:11.923623 > 30 bytes data, server => client 07:51:11.923636 '257 "/" is current directory\r\n' 07:51:11.923706 < 6 bytes data, client => server 07:51:11.923722 'EPSV\r\n' 07:51:11.925906 Received DATA (on stdin) 07:51:11.925922 > 39 bytes data, server => client 07:51:11.925934 '229 Entering Passive Mode (|||43561|)\r\n' 07:51:11.926065 < 8 bytes data, client => server 07:51:11.926081 'TYPE I\r\n' 07:51:11.926292 Received DATA (on stdin) 07:51:11.926305 > 33 bytes data, server => client 07:51:11.926316 '200 I modify TYPE as you wanted\r\n' 07:51:11.926365 < 21 bytes data, client => server 07:51:11.926378 'SIZE verifiedserver\r\n' 07:51:11.926495 Received DATA (on stdin) 07:51:11.926510 > 8 bytes data, server => client 07:51:11.926522 '213 17\r\n' 07:51:11.926573 < 21 bytes data, client => server 07:51:11.926587 'RETR verifiedserver\r\n' 07:51:11.926782 Received DATA (on stdin) 07:51:11.926793 > 29 bytes data, server => client 07:51:11.926802 '150 Binary junk (17 bytes).\r\n' 07:51:11.927231 Received DATA (on stdin) 07:51:11.927246 > 28 bytes data, server => client 07:51:11.927258 '226 File transfer complete\r\n' 07:51:11.969405 < 6 bytes data, client => server 07:51:11.969434 'QUIT\r\n' 07:51:11.969679 Received DATA (on stdin) 07:51:11.969695 > 18 bytes data, server => client 07:51:11.969707 '221 bye bye baby\r\n' 07:51:11.970597 ====> Client disconnect 07:51:11.970792 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.925560 Running IPv4 version 07:51:12.925637 Listening on port 43561 07:51:12.925675 Wrote pid 92593 to log/16/server/ftp_sockdata.pid 07:51:12.925693 Received PING (on stdin) 07:51:12.925767 Received PORT (on stdin) 07:51:12.926101 ====> Client connect 07:51:12.926828 Received DATA (on stdin) 07:51:12.926842 > 17 bytes data, server => client 07:51:12.926855 'WE ROOLZ: 80324\r\n' 07:51:12.926879 Received DISC (on stdin) 07:51:12.926892 ====> Client forcibly disconnected 07:51:12.926967 Received QUIT (on stdin) 07:51:12.926980 quits 07:51:12.927040 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==92684== ==92684== Process terminating with default action of signal 4 (SIGILL) ==92684== Illegal opcode at address 0x4013DC0 ==92684== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92684== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92684== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92684== by 0x40037A4: main (tool_main.c:199) === 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/21/valgrind293 ../src/curl -q --output log/21/curl293.out --include --trace-ascii log/21/trace293 --trace-time http://127.0.0.1:45761/293 --max-filesize 2 > log/21/stdout293 2> log/21/stderr293 293: 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/ dir 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/21/valgrind293 ../src/curl -q --output log/21/curl293.out --include --trace-ascii log/21/trace293 --trace-time http://127.0.0.1:45761/293 --max-filesize 2 > log/21/stdout293 2> log/21/stderr293 === End of file commands.log === Start of file http_server.log 07:51:12.108971 ====> Client connect 07:51:12.109003 accept_connection 3 returned 4 07:51:12.109021 accept_connection 3 returned 0 07:51:12.109037 Read 93 bytes 07:51:12.109049 Process 93 bytes request 07:51:12.109064 Got request: GET /verifiedserver HTTP/1.1 07:51:12.109075 Are-we-friendly question received 07:51:12.109106 Wrote request (93 bytes) input to log/21/server.input 07:51:12.109124 Identifying ourselves as friends 07:51:12.109203 Response sent (56 bytes) and written to log/21/server.response 07:51:12.109217 special request received, no persistency 07:51:12.109228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 54828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind293 ==92851== ==92851== Process terminating with default action of signal 4 (SIGILL) ==92851== Illegal opcode at address 0x4013DC0 ==92851== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92851== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92851== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92851== by 0x40037A4: main (tool_main.c:199) === End of file valgrind293 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:39251/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/ dir 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:39251/first/second/third/296 > log/5/stdout296 2> log/5/stderr296 === End of file commands.log === Start of file ftp_server.log 07:51:12.299776 ====> Client connect 07:51:12.299921 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.300199 < "USER anonymous" 07:51:12.300241 > "331 We are happy you popped in![CR][LF]" 07:51:12.300421 < "PASS ftp@example.com" 07:51:12.300450 > "230 Welcome you silly person[CR][LF]" 07:51:12.300609 < "PWD" 07:51:12.300638 > "257 "/" is current directory[CR][LF]" 07:51:12.300808 < "EPSV" 07:51:12.300832 ====> Passive DATA channel requested by client 07:51:12.300846 DATA sockfilt for passive data channel starting... 07:51:12.302466 DATA sockfilt for passive data channel started (pid 92867) 07:51:12.302572 DATA sockfilt for passive data channel listens on port 43301 07:51:12.302616 > "229 Entering Passive Mode (|||43301|)[CR][LF]" 07:51:12.302638 Client has been notified that DATA conn will be accepted on port 43301 07:51:12.302885 Client connects to port 43301 07:51:12.302917 ====> Client established passive DATA connection on port 43301 07:51:12.302997 < "TYPE I" 07:51:12.303024 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.303200 < "SIZE verifiedserver" 07:51:12.303243 > "213 17[CR][LF]" 07:51:12.303409 < "RETR verifiedserver" 07:51:12.303445 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.303529CMD (33792): ../libtool --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/valgrind294 ../src/curl -q --output log/13/curl294.out --include --trace-ascii log/13/trace294 --trace-time ftp://127.0.0.1:33699/294/ --ftp-account "data for acct" > log/13/stdout294 2> log/13/stderr294 =====> Closing passive DATA connection... 07:51:12.303545 Server disconnects passive DATA connection 07:51:12.303787 Server disconnected passive DATA connection 07:51:12.303817 DATA sockfilt for passive data channel quits (pid 92867) 07:51:12.304002 DATA sockfilt for passive data channel quit (pid 92867) 07:51:12.304025 =====> Closed passive DATA connection 07:51:12.304050 > "226 File transfer complete[CR][LF]" 07:51:12.346980 < "QUIT" 07:51:12.347029 > "221 bye bye baby[CR][LF]" 07:51:12.348131 MAIN sockfilt said DISC 07:51:12.348176 ====> Client disconnected 07:51:12.348240 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:12.127625 ====> Client connect 07:51:12.127884 Received DATA (on stdin) 07:51:12.127902 > 160 bytes data, server => client 07:51:12.127915 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:12.127927 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:12.127937 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:12.128006 < 16 bytes data, client => server 07:51:12.128019 'USER anonymous\r\n' 07:51:12.128193 Received DATA (on stdin) 07:51:12.128206 > 33 bytes data, server => client 07:51:12.128218 '331 We are happy you popped in!\r\n' 07:51:12.128269 < 22 bytes data, client => server 07:51:12.128282 'PASS ftp@example.com\r\n' 07:51:12.128397 Received DATA (on stdin) 07:51:12.128409 > 30 bytes data, server => client 07:51:12.128421 '230 Welcome you silly person\r\n' 07:51:12.128469 < 5 bytes data, client => server 07:51:12.128481 'PWD\r\n' 07:51:12.128586 Received DATA (on stdin) 07:51:12.128598 > 30 bytes data, server => client 07:51:12.128610 '257 "/" is current directory\r\n' 07:51:12.128667 < 6 bytes data, client => server 07:51:12.128679 'EPSV\r\n' 07:51:12.130594 Received DATA (on stdin) 07:51:12.130608 > 39 bytes data, server => client 07:51:12.130620 '229 Entering Passive Mode (|||43301|)\r\n' 07:51:12.130742 < 8 bytes data, client => server 07:51:12.130759 'TYPE I\r\n' 07:51:12.130975 Received DATA (on stdin) 07:51:12.130989 > 33 bytes data, server => client 07:51:12.131002 '200 I modify TYPE as you wanted\r\n' 07:51:12.131056 < 21 bytes data, client => server 07:51:12.131070 'SIZE verifiedserver\r\n' 07:51:12.131192 Received DATA (on stdin) 07:51:12.131206 > 8 bytes data, server => client 07:51:12.131218 '213 17\r\n' 07:51:12.131268 < 21 bytes data, client => server 07:51:12.131281 'RETR verifiedserver\r\n' 07:51:12.131497 Received DATA (on stdin) 07:51:12.131510 > 29 bytes data, server => client 07:51:12.131522 '150 Binary junk (17 bytes).\r\n' 07:51:12.131995 Received DATA (on stdin) 07:51:12.132007 > 28 bytes data, server => client 07:51:12.132017 '226 File transfer complete\r\n' 07:51:12.174756 < 6 bytes data, client => server 07:51:12.174785 'QUIT\r\n' 07:51:12.174981 Received DATA (on stdin) 07:51:12.174994 > 18 bytes data, server => client 07:51:12.175005 '221 bye bye baby\r\n' 07:51:12.176015 ====> Client disconnect 07:51:12.176189 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.130253 Running IPv4 version 07:51:12.130303 Listening on port 43301 07:51:12.130332 Wrote pid 92867 to log/5/server/ftp_sockdata.pid 07:51:12.130355 Received PING (on stdin) 07:51:12.130439 Received PORT (on stdin) 07:51:12.130782 ====> Client connect 07:51:12.131549 Received DATA (on stdin) 07:51:12.131564 > 17 bytes data, server => client 07:51:12.131576 'WE ROOLZ: 80550\r\n' 07:51:12.131600 Received DISC (on stdin) 07:51:12.131613 ====> Client forcibly disconnected 07:51:12.131774 Received QUIT (on stdin) 07:51:12.131788 quits 07:51:12.131836 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==92922== ==92922== Process terminating with default action of signal 4 (SIGILL) ==92922== Illegal opcode at address 0x4013DC0 ==92922== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92922== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92922== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92922== by 0x40037A4: main (tool_main.c:199) === End of file valgrind296 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/13/valgrind294 ../src/curl -q --output log/13/curl294.out --include --trace-ascii log/13/trace294 --trace-time ftp://127.0.0.1:33699/294/ --ftp-account "data for acct" > log/13/stdout294 2> log/13/stderr294 294: 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/ dir 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/13/valgrind294 ../src/curl -q --output log/13/curl294.out --include --trace-ascii log/13/trace294 --trace-time ftp://127.0.0.1:33699/294/ --ftp-account "data for acct" > log/13/stdout294 2> log/13/stderr294 === End of file commands.log === Start of file ftp_server.log 07:51:12.281005 ====> Client connect 07:51:12.281147 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.281450 < "USER anonymous" 07:51:12.281492 > "331 We are happy you popped in![CR][LF]" 07:51:12.281688 < "PASS ftp@example.com" 07:51:12.281722 > "230 Welcome you silly person[CR][LF]" 07:51:12.281881 < "PWD" 07:51:12.281925 > "257 "/" is current directory[CR][LF]" 07:51:12.282091 < "EPSV" 07:51:12.282118 ====> Passive DATA channel requested by client 07:51:12.282130 DATA sockfilt for passive data channel starting... 07:51:12.283727 DATA sockfilt for passive data channel started (pid 92830) 07:51:12.283827 DATA sockfilt for passive data channel listens on port 40651 07:51:12.283861 > "229 Entering Passive Mode (|||40651|)[CR][LF]" 07:51:12.283875 Client has been notified that DATA conn will be accepted on port 40651 07:51:12.284066 Client connects to port 40651 07:51:12.284093 ====> Client established passive DATA connection on port 40651 07:51:12.284153 < "TYPE I" 07:51:12.284176 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.284298 < "SIZE verifiedserver" 07:51:12.284328 > "213 17[CR][LF]" 07:51:12.284445 < "RETR verifiedserver" 07:51:12.284471 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.284537 =====> Closing passive DATA connection... 07:51:12.284549 Server disconnects passive DATA connection 07:51:12.284733 Server disconnected passive DATA connection 07:51:12.284767 DATA sockfilt for passive data channel quits (pid 92830) 07:51:12.284963 DATA sockfilt for passive data channel quit (pid 92830) 07:51:12.284985 =====> Closed passive DATA connection 07:51:12.285008 > "226 File transfer complete[CR][LF]" 07:51:12.334950 < "QUIT" 07:51:12.335007 > "221 bye bye baby[CR][LF]" 07:51:12.335888 MAIN sockfilt said DISC 07:51:12.335928 ====> Client disconnected 07:51:12.336015 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.108844 ====> Client connect 07:51:13.109108 Received DATA (on stdin) 07:51:13.109124 > 160 bytes data, server => client 07:51:13.109136 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.109147 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.109157 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.109256 < 16 bytes data, client => server 07:51:13.109270 'USER anonymous\r\n' 07:51:13.109441 Received DATA (on stdin) 07:51:13.109454 > 33 bytes data, server => client 07:51:13.109465 '331 We are happy you popped in!\r\n' 07:51:13.109520 < 22 bytes data, client => server 07:51:13.109531 'PASS ftp@example.com\r\n' 07:51:13.109671 ReceivCMD (33792): ../libtool --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/valgrind275 ../src/curl -q --output log/20/curl275.out --include --trace-ascii log/20/trace275 --trace-time http://remotesite.com.275:40357/we/want/that/page/275 -p -x 127.0.0.1:45837 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:40357/we/want/that/page/275 > log/20/stdout275 2> log/20/stderr275 CMD (33792): ../libtool --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/valgrind295 ../src/curl -q --output log/17/curl295.out --include --trace-ascii log/17/trace295 --trace-time ftp://127.0.0.1:44771/295/ > log/17/stdout295 2> log/17/stderr295 ed DATA (on stdin) 07:51:13.109682 > 30 bytes data, server => client 07:51:13.109692 '230 Welcome you silly person\r\n' 07:51:13.109736 < 5 bytes data, client => server 07:51:13.109746 'PWD\r\n' 07:51:13.109873 Received DATA (on stdin) 07:51:13.109885 > 30 bytes data, server => client 07:51:13.109896 '257 "/" is current directory\r\n' 07:51:13.109954 < 6 bytes data, client => server 07:51:13.109965 'EPSV\r\n' 07:51:13.111824 Received DATA (on stdin) 07:51:13.111836 > 39 bytes data, server => client 07:51:13.111846 '229 Entering Passive Mode (|||40651|)\r\n' 07:51:13.111940 < 8 bytes data, client => server 07:51:13.111953 'TYPE I\r\n' 07:51:13.112118 Received DATA (on stdin) 07:51:13.112129 > 33 bytes data, server => client 07:51:13.112138 '200 I modify TYPE as you wanted\r\n' 07:51:13.112177 < 21 bytes data, client => server 07:51:13.112186 'SIZE verifiedserver\r\n' 07:51:13.112270 Received DATA (on stdin) 07:51:13.112280 > 8 bytes data, server => client 07:51:13.112289 '213 17\r\n' 07:51:13.112324 < 21 bytes data, client => server 07:51:13.112334 'RETR verifiedserver\r\n' 07:51:13.112493 Received DATA (on stdin) 07:51:13.112504 > 29 bytes data, server => client 07:51:13.112537 '150 Binary junk (17 bytes).\r\n' 07:51:13.112953 Received DATA (on stdin) 07:51:13.112965 > 28 bytes data, server => client 07:51:13.112974 '226 File transfer complete\r\n' 07:51:13.162689 < 6 bytes data, client => server 07:51:13.162730 'QUIT\r\n' 07:51:13.162961 Received DATA (on stdin) 07:51:13.162975 > 18 bytes data, server => client 07:51:13.162988 '221 bye bye baby\r\n' 07:51:13.163768 ====> Client disconnect 07:51:13.163965 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.111521 Running IPv4 version 07:51:12.111573 Listening on port 40651 07:51:12.111603 Wrote pid 92830 to log/13/server/ftp_sockdata.pid 07:51:12.111620 Received PING (on stdin) 07:51:12.111692 Received PORT (on stdin) 07:51:12.111971 ====> Client connect 07:51:12.112586 Received DATA (on stdin) 07:51:12.112601 > 17 bytes data, server => client 07:51:12.112612 'WE ROOLZ: 80695\r\n' 07:51:12.112637 Received DISC (on stdin) 07:51:12.112648 ====> Client forcibly disconnected 07:51:12.112730 Received QUIT (on stdin) 07:51:12.112741 quits 07:51:12.112787 ============> 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 ==92909== ==92909== Process terminating with default action of signal 4 (SIGILL) ==92909== Illegal opcode at address 0x4013DC0 ==92909== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92909== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92909== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92909== by 0x40037A4: main (tool_main.c:199) === End of file valgrind294 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/17/valgrind295 ../src/curl -q --output log/17/curl295.out --include --trace-ascii log/17/trace295 --trace-time ftp://127.0.0.1:44771/295/ > log/17/stdout295 2> log/17/stderr295 295: 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/ dir 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/17/valgrind295 ../src/curl -q --output log/17/curl295.out --include --trace-ascii log/17/trace295 --trace-time ftp://127.0.0.1:44771/295/ > log/17/stdout295 2> log/17/stderr295 === End of file commands.log === Start of file ftp_server.log 07:51:12.295082 ====> Client connect 07:51:12.295226 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.295512 < "USER anonymous" 07:51:12.295549 > "331 We are happy you popped in![CR][LF]" 07:51:12.295732 < "PASS ftp@example.com" 07:51:12.295763 > "230 Welcome you silly person[CR][LF]" 07:51:12.295935 < "PWD" 07:51:12.295966 > "257 "/" is current directory[CR][LF]" 07:51:12.296132 < "EPSV" 07:51:12.296157 ====> Passive DATA channel requested by client 07:51:12.296171 DATA sockfilt for passive data channel starting... 07:51:12.298070 DATA sockfilt for passive data channel started (pid 92857) 07:51:12.298214 DATA sockfilt for passive data channel listens on port 38163 07:51:12.298260 > "229 Entering Passive Mode (|||38163|)[CR][LF]" 07:51:12.298279 Client has been notified that DATA conn will be accepted on port 38163 07:51:12.298561 Client connects to port 38163 07:51:12.298598 ====> Client established passive DATA connection on port 38163 07:51:12.298691 < "TYPE I" 07:51:12.298725 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.298883 < "SIZE verifiedserver" 07:51:12.298921 > "213 17[CR][LF]" 07:51:12.299062 < "RETR verifiedserver" 07:51:12.299099 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.299177 =====> Closing passive DATA connection... 07:51:12.299192 Server disconnects passive DATA connection 07:51:12.299423 Server disconnected passive DATA connection 07:51:12.299448 DATA sockfilt for passive data channel quits (pid 92857) 07:51:12.299685 DATA sockfilt for passive data channel quit (pid 92857) 07:51:12.299708 =====> Closed passive DATA connection 07:51:12.299735 > "226 File transfer complete[CR][LF]" 07:51:12.348162 < "QUIT" 07:51:12.348220 > "221 bye bye baby[CR][LF]" 07:51:12.349418 MAIN sockfilt said DISC 07:51:12.349464 ====> Client disconnected 07:51:12.349543 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:12.122929 ====> Client connect 07:51:12.123187 Received DATA (on stdin) 07:51:12.123203 > 160 bytes data, server => client 07:51:12.123218 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:12.123230 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:12.123242 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:12.123316 < 16 bytes data, client => server 07:51:12.123330 'USER anonymous\r\n' 07:51:12.123501 Received DATA (on stdin) 07:51:12.123515 > 33 bytes data, server => client 07:51:12.123527 '331 We are happy you popped in!\r\n' 07:51:12.123580 < 22 bytes data, client => server 07:51:12.123593 'PASS ftp@example.com\r\n' 07:51:12.123715 Received DATA (on stdin) 07:51:12.123728 > 30 bytes data, server => client 07:51:12.123739 '230 Welcome you silly person\r\n' 07:51:12.123793 < 5 bytes data, client => server 07:51:12.123805 'PWD\r\n' 07:51:12.123913 Received DATA (on stdin) 07:51:12.123926 > 30 bytes data, server => client 07:51:12.123937 '257 "/" is current directory\r\n' 07:51:12.123995 < 6 bytes data, client => server 07:51:12.124007 'EPSV\r\n' 07:51:12.126234 Received DATA (on stdin) 07:51:12.126251 > 39 bytes data, server => client 07:51:12.126263 '229 Entering Passive Mode (|||38163|)\r\n' 07:51:12.126454 < 8 bytes data, client => server 07:51:12.126467 'TYPE I\r\n' 07:51:12.126673 Received DATA (on stdin) 07:51:12.126686 > 33 bytes data, server => client 07:51:12.126696 '200 I modify TYPE as you wanted\r\n' 07:51:12.126748 < 21 bytes data, client => server 07:51:12.126759 'SIZE verifiedserver\r\n' 07:51:12.126867 Received DATA (on stdin) 07:51:12.126878 > 8 bytes data, server => client 07:51:12.126888 '213 17\r\n' 07:51:12.126932 < 21 bytes data, client => server 07:51:12.126943 'RETR verifiedserver\r\n' 07:51:12.127226 Received DATA (on stdin) 07:51:12.127239 > 29 bytes data, server => client 07:51:12.127249 '150 Binary junk (17 bytes).\r\n' 07:51:12.127685 Received DATA (on stdin) 07:51:12.127699 > 28 bytes data, server => client 07:51:12.127710 '226CMD (33792): ../libtool --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/valgrind299 ../src/curl -q --output log/24/curl299.out --include --trace-ascii log/24/trace299 --trace-time -x http://127.0.0.1:41843 -u michal:aybabtu ftp://host.com/we/want/299 > log/24/stdout299 2> log/24/stderr299 File transfer complete\r\n' 07:51:12.175904 < 6 bytes data, client => server 07:51:12.175936 'QUIT\r\n' 07:51:12.176176 Received DATA (on stdin) 07:51:12.176192 > 18 bytes data, server => client 07:51:12.176204 '221 bye bye baby\r\n' 07:51:12.177301 ====> Client disconnect 07:51:12.177493 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.125791 Running IPv4 version 07:51:12.125891 Listening on port 38163 07:51:12.125928 Wrote pid 92857 to log/17/server/ftp_sockdata.pid 07:51:12.125950 Received PING (on stdin) 07:51:12.126061 Received PORT (on stdin) 07:51:12.126424 ====> Client connect 07:51:12.127141 Received DATA (on stdin) 07:51:12.127154 > 17 bytes data, server => client 07:51:12.127165 'WE ROOLZ: 80557\r\n' 07:51:12.127191 Received DISC (on stdin) 07:51:12.127202 ====> Client forcibly disconnected 07:51:12.127403 Received QUIT (on stdin) 07:51:12.127415 quits 07:51:12.127478 ============> 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 ==92928== ==92928== Process terminating with default action of signal 4 (SIGILL) ==92928== Illegal opcode at address 0x4013DC0 ==92928== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==92928== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92928== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==92928== by 0x40037A4: main (tool_main.c:199) === End of file valgrind295 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 91698 port 45837 * pid http-proxy => 91698 91698 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/20/valgrind275 ../src/curl -q --output log/20/curl275.out --include --trace-ascii log/20/trace275 --trace-time http://remotesite.com.275:40357/we/want/that/page/275 -p -x 127.0.0.1:45837 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:40357/we/want/that/page/275 > log/20/stdout275 2> log/20/stderr275 275: 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/ dir 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/20/valgrind275 ../src/curl -q --output log/20/curl275.out --include --trace-ascii log/20/trace275 --trace-time http://remotesite.com.275:40357/we/want/that/page/275 -p -x 127.0.0.1:45837 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:40357/we/want/that/page/275 > log/20/stdout275 2> log/20/stderr275 === End of file commands.log === Start of file http2_server.log 07:51:11.212484 Run as proxy, CONNECT to host 127.0.0.1 07:51:11.212606 Running HTTP IPv4 version on port 45837 07:51:11.212651 Wrote pid 91698 to log/20/server/http2_server.pid 07:51:11.212682 Wrote port 45837 to log/20/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:51:11.192163 ====> Client connect 07:51:11.192200 accept_connection 3 returned 4 07:51:11.192218 accept_connection 3 returned 0 07:51:11.192235 Read 93 bytes 07:51:11.192248 Process 93 bytes request 07:51:11.192263 Got request: GET /verifiedserver HTTP/1.1 07:51:11.192273 Are-we-friendly question received 07:51:11.192302 Wrote request (93 bytes) input to log/20/server.input 07:51:11.192321 Identifying ourselves as friends 07:51:11.192384 Response sent (56 bytes) and written to log/20/server.response 07:51:11.192397 special request received, no persistency 07:51:11.192409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind275 ==93006== ==93006== Process terminating with default action of signal 4 (SIGILL) ==93006== Illegal opcode at address 0x4013DC0 ==93006== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93006== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93006== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93006== by 0x40037A4: main (tool_main.c:199) === End of file valgrind275 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/24/valgrind299 ../src/curl -q --output log/24/curl299.out --include --trace-ascii log/24/trace299 --trace-time -x http://127.0.0.1:41843 -u michal:aybabtu ftp://host.com/we/want/299 > log/24/stdout299 2> log/24/stderr299 299: 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/ dir 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/24/valgrind299 ../src/curl -q --output log/24/curl299.out --include --trace-ascii log/24/trace299 --trace-time -x http://127.0.0.1:41843 -u michal:aybabtu ftp://host.com/we/want/299 > log/24/stdout299 2> log/24/stderr299 === End of file commands.log === Start of file http_server.log 07:51:12.478500 ====> Client connect 07:51:12.478534 accept_connection 3 returned 4 07:51:12.478549 accept_connection 3 returned 0 07:51:12.478563 Read 93 bytes 07:51:12.478571 Process 93 bytes request 07:51:12.478583 Got request: GET /verifiedserver HTTP/1.1 07:51:12.478591 Are-we-friendly question received 07:51:12.478609 Wrote request (93 bytes) input to log/24/server.input 07:51:12.478622 Identifying ourselves as friends 07:51:12.478685 Response sent (56 bytes) and written to log/24/server.response 07:51:12.478693 special request received, no persistency 07:51:12.478701 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind299 ==93200== ==93200== Process terminating with default action of signal 4 (SIGILL) ==93200== Illegal opcodCMD (33792): ../libtool --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/valgrind297 ../src/curl -q --output log/10/curl297.out --include --trace-ascii log/10/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36851/first/second/third/297 > log/10/stdout297 2> log/10/stderr297 CMD (33792): ../libtool --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/valgrind317 ../src/curl -q --output log/1/curl317.out --include --trace-ascii log/1/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35709 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/1/stdout317 2> log/1/stderr317 CMD (33792): ../libtool --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/valgrind315 ../src/curl -q --output log/12/curl315.out --include --trace-ascii log/12/trace315 --trace-time http://127.0.0.1:38023/315 --compressed > log/12/stdout315 2> log/12/stderr315 e at address 0x4013DC0 ==93200== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93200== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93200== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93200== by 0x40037A4: main (tool_main.c:199) === End of file valgrind299 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/10/valgrind297 ../src/curl -q --output log/10/curl297.out --include --trace-ascii log/10/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36851/first/second/third/297 > log/10/stdout297 2> log/10/stderr297 297: 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/ dir 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/10/valgrind297 ../src/curl -q --output log/10/curl297.out --include --trace-ascii log/10/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36851/first/second/third/297 > log/10/stdout297 2> log/10/stderr297 === End of file commands.log === Start of file ftp_server.log 07:51:12.625710 ====> Client connect 07:51:12.625883 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.626218 < "USER anonymous" 07:51:12.626272 > "331 We are happy you popped in![CR][LF]" 07:51:12.626492 < "PASS ftp@example.com" 07:51:12.626525 > "230 Welcome you silly person[CR][LF]" 07:51:12.626692 < "PWD" 07:51:12.626729 > "257 "/" is current directory[CR][LF]" 07:51:12.626884 < "EPSV" 07:51:12.626907 ====> Passive DATA channel requested by client 07:51:12.626920 DATA sockfilt for passive data channel starting... 07:51:12.629080 DATA sockfilt for passive data channel started (pid 93153) 07:51:12.629202 DATA sockfilt for passive data channel listens on port 42585 07:51:12.629249 > "229 Entering Passive Mode (|||42585|)[CR][LF]" 07:51:12.629268 Client has been notified that DATA conn will be accepted on port 42585 07:51:12.629618 Client connects to port 42585 07:51:12.629655 ====> Client established passive DATA connection on port 42585 07:51:12.629736 < "TYPE I" 07:51:12.629763 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.630335 < "SIZE verifiedserver" 07:51:12.630383 > "213 17[CR][LF]" 07:51:12.630580 < "RETR verifiedserver" 07:51:12.630618 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.630705 =====> Closing passive DATA connection... 07:51:12.630723 Server disconnects passive DATA connection 07:51:12.630895 Server disconnected passive DATA connection 07:51:12.630920 DATA sockfilt for passive data channel quits (pid 93153) 07:51:12.631182 DATA sockfilt for passive data channel quit (pid 93153) 07:51:12.631205 =====> Closed passive DATA connection 07:51:12.631231 > "226 File transfer complete[CR][LF]" 07:51:12.674977 < "QUIT" 07:51:12.675029 > "221 bye bye baby[CR][LF]" 07:51:12.676060 MAIN sockfilt said DISC 07:51:12.676096 ====> Client disconnected 07:51:12.676163 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:12.453554 ====> Client connect 07:51:12.453845 Received DATA (on stdin) 07:51:12.453864 > 160 bytes data, server => client 07:51:12.453878 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:12.453890 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:12.453900 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:12.453992 < 16 bytes data, client => server 07:51:12.454008 'USER anonymous\r\n' 07:51:12.454228 Received DATA (on stdin) 07:51:12.454243 > 33 bytes data, server => client 07:51:12.454255 '331 We are happy you popped in!\r\n' 07:51:12.454316 < 22 bytes data, client => server 07:51:12.454330 'PASS ftp@example.com\r\n' 07:51:12.454475 Received DATA (on stdin) 07:51:12.454487 > 30 bytes data, server => client 07:51:12.454497 '230 Welcome you silly person\r\n' 07:51:12.454548 < 5 bytes data, client => server 07:51:12.454559 'PWD\r\n' 07:51:12.454676 Received DATA (on stdin) 07:51:12.454688 > 30 bytes data, server => client 07:51:12.454699 '257 "/" is current directory\r\n' 07:51:12.454752 < 6 bytes data, client => server 07:51:12.454764 'EPSV\r\n' 07:51:12.457222 Received DATA (on stdin) 07:51:12.457237 > 39 bytes data, server => client 07:51:12.457250 '229 Entering Passive Mode (|||42585|)\r\n' 07:51:12.457405 < 8 bytes data, client => server 07:51:12.457418 'TYPE I\r\n' 07:51:12.457692 Received DATA (on stdin) 07:51:12.457705 > 33 bytes data, server => client 07:51:12.457717 '200 I modify TYPE as you wanted\r\n' 07:51:12.457762 < 21 bytes data, client => server 07:51:12.457774 'SIZE verifiedserver\r\n' 07:51:12.458332 Received DATA (on stdin) 07:51:12.458346 > 8 bytes data, server => client 07:51:12.458358 '213 17\r\n' 07:51:12.458429 < 21 bytes data, client => server 07:51:12.458448 'RETR verifiedserver\r\n' 07:51:12.458674 Received DATA (on stdin) 07:51:12.458686 > 29 bytes data, server => client 07:51:12.458698 '150 Binary junk (17 bytes).\r\n' 07:51:12.459190 Received DATA (on stdin) 07:51:12.459208 > 28 bytes data, server => client 07:51:12.459220 '226 File transfer complete\r\n' 07:51:12.502771 < 6 bytes data, client => server 07:51:12.502795 'QUIT\r\n' 07:51:12.502980 Received DATA (on stdin) 07:51:12.502992 > 18 bytes data, server => client 07:51:12.503004 '221 bye bye baby\r\n' 07:51:12.503950 ====> Client disconnect 07:51:12.504417 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.456598 Running IPv4 version 07:51:12.456668 Listening on port 42585 07:51:12.456712 Wrote pid 93153 to log/10/server/ftp_sockdata.pid 07:51:12.456920 Received PING (on stdin) 07:51:12.457054 Received PORT (on stdin) 07:51:12.457373 ====> Client connect 07:51:12.458724 Received DATA (on stdin) 07:51:12.458737 > 17 bytes data, server => client 07:51:12.458753 'WE ROOLZ: 80620\r\n' 07:51:12.458778 Received DISC (on stdin) 07:51:12.458791 ====> Client forcibly disconnected 07:51:12.458874 Received QUIT (on stdin) 07:51:12.458885 quits 07:51:12.458951 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==93278== ==93278== Process terminating with default action of signal 4 (SIGILL) ==93278== Illegal opcode at address 0x4013DC0 ==93278== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93278== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93278== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93278== by 0x40037A4: main (tool_main.c:199) === End of file valgrind297 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/1/valgrind317 ../src/curl -q --output log/1/curl317.out --include --trace-ascii log/1/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:35709 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/1/stdout317 2> log/1/stderr317 317: 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/ dir 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/1/valgrind317 ../src/curl -q --output log/1/curl317.out --include --trace-ascii log/1/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -CMD (33792): ../libtool --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/valgrind298 ../src/curl -q --output log/14/curl298.out --include --trace-ascii log/14/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39555/first/second/th%69rd/298 > log/14/stdout298 2> log/14/stderr298 x 127.0.0.1:35709 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/1/stdout317 2> log/1/stderr317 === End of file commands.log === Start of file http_server.log 07:51:12.510387 ====> Client connect 07:51:12.510421 accept_connection 3 returned 4 07:51:12.510442 accept_connection 3 returned 0 07:51:12.510459 Read 93 bytes 07:51:12.510470 Process 93 bytes request 07:51:12.510485 Got request: GET /verifiedserver HTTP/1.1 07:51:12.510495 Are-we-friendly question received 07:51:12.510521 Wrote request (93 bytes) input to log/1/server.input 07:51:12.510538 Identifying ourselves as friends 07:51:12.510594 Response sent (56 bytes) and written to log/1/server.response 07:51:12.510605 special request received, no persistency 07:51:12.510615 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind317 ==93354== ==93354== Process terminating with default action of signal 4 (SIGILL) ==93354== Illegal opcode at address 0x4013DC0 ==93354== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93354== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93354== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93354== by 0x40037A4: main (tool_main.c:199) === End of file valgrind317 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/12/valgrind315 ../src/curl -q --output log/12/curl315.out --include --trace-ascii log/12/trace315 --trace-time http://127.0.0.1:38023/315 --compressed > log/12/stdout315 2> log/12/stderr315 315: 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/ dir 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/12/valgrind315 ../src/curl -q --output log/12/curl315.out --include --trace-ascii log/12/trace315 --trace-time http://127.0.0.1:38023/315 --compressed > log/12/stdout315 2> log/12/stderr315 === End of file commands.log === Start of file http_server.log 07:51:12.502759 ====> Client connect 07:51:12.502793 accept_connection 3 returned 4 07:51:12.502810 accept_connection 3 returned 0 07:51:12.502825 Read 93 bytes 07:51:12.502835 Process 93 bytes request 07:51:12.502847 Got request: GET /verifiedserver HTTP/1.1 07:51:12.502856 Are-we-friendly question received 07:51:12.502881 Wrote request (93 bytes) input to log/12/server.input 07:51:12.502897 Identifying ourselves as friends 07:51:12.502952 Response sent (56 bytes) and written to log/12/server.response 07:51:12.502962 special request received, no persistency 07:51:12.502972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind315 ==93283== ==93283== Process terminating with default action of signal 4 (SIGILL) ==93283== Illegal opcode at address 0x4013DC0 ==93283== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93283== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93283== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93283== by 0x40037A4: main (tool_main.c:199) === End of file valgrind315 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/14/valgrind298 ../src/curl -q --output log/14/curl298.out --include --trace-ascii log/14/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39555/first/second/th%69rd/298 > log/14/stdout298 2> log/14/stderr298 298: 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/ dir 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/14/valgrind298 ../src/curl -q --output log/14/curl298.out --include --trace-ascii log/14/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:39555/first/second/th%69rd/298 > log/14/stdout298 2> log/14/stderr298 === End of file commands.log === Start of file ftp_server.log 07:51:12.632927 ====> Client connect 07:51:12.633061 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:12.633338 < "USER anonymous" 07:51:12.633377 > "331 We are happy you popped in![CR][LF]" 07:51:12.633559 < "PASS ftp@example.com" 07:51:12.633587 > "230 Welcome you silly person[CR][LF]" 07:51:12.633738 < "PWD" 07:51:12.633770 > "257 "/" is current directory[CR][LF]" 07:51:12.633933 < "EPSV" 07:51:12.633957 ====> Passive DATA channel requested by client 07:51:12.633971 DATA sockfilt for passive data channel starting... 07:51:12.635553 DATA sockfilt for passive data channel started (pid 93157) 07:51:12.635877 DATA sockfilt for passive data channel listens on port 36479 07:51:12.635936 > "229 Entering Passive Mode (|||36479|)[CR][LF]" 07:51:12.635953 Client has been notified that DATA conn will be accepted on port 36479 07:51:12.636089 Client connects to port 36479 07:51:12.636121 ====> Client established passive DATA connection on port 36479 07:51:12.636220 < "TYPE I" 07:51:12.636256 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:12.636458 < "SIZE verifiedserver" 07:51:12.636498 > "213 17[CR][LF]" 07:51:12.636796 < "RETR verifiedserver" 07:51:12.636837 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:12.636927 =====> Closing passive DATA connection... 07:51:12.636946 Server disconnects passive DATA connection 07:51:12.637206 Server disconnected passive DATA connection 07:51:12.637233 DATA sockfilt for passive data channel quits (pid 93157) 07:51:12.637430 DATA sockfilt for passive data channel quit (pid 93157) 07:51:12.637450 =====> Closed passive DATA connection 07:51:12.637472 > "226 File transfer complete[CR][LF]" 07:51:12.679899 < "QUIT" 07:51:12.679949 > "221 bye bye baby[CR][LF]" 07:51:12.680958 MAIN sockfilt said DISC 07:51:12.680998 ====> Client disconnected 07:51:12.681068 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:12.460774 ====> Client connect 07:51:12.461023 Received DATA (on stdin) 07:51:12.461040 > 160 byteCMD (33792): ../libtool --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/valgrind316 ../src/curl -q --output log/2/curl316.out --include --trace-ascii log/2/trace316 --trace-time http://127.0.0.1:43955/316 --compressed > log/2/stdout316 2> log/2/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/11/valgrind314 ../src/curl -q --output log/11/curl314.out --include --trace-ascii log/11/trace314 --trace-time http://127.0.0.1:38169/314 --compressed > log/11/stdout314 2> log/11/stderr314 s data, server => client 07:51:12.461053 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:12.461065 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:12.461076 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:12.461146 < 16 bytes data, client => server 07:51:12.461158 'USER anonymous\r\n' 07:51:12.461330 Received DATA (on stdin) 07:51:12.461344 > 33 bytes data, server => client 07:51:12.461355 '331 We are happy you popped in!\r\n' 07:51:12.461407 < 22 bytes data, client => server 07:51:12.461420 'PASS ftp@example.com\r\n' 07:51:12.461533 Received DATA (on stdin) 07:51:12.461545 > 30 bytes data, server => client 07:51:12.461556 '230 Welcome you silly person\r\n' 07:51:12.461602 < 5 bytes data, client => server 07:51:12.461613 'PWD\r\n' 07:51:12.461717 Received DATA (on stdin) 07:51:12.461730 > 30 bytes data, server => client 07:51:12.461741 '257 "/" is current directory\r\n' 07:51:12.461797 < 6 bytes data, client => server 07:51:12.461809 'EPSV\r\n' 07:51:12.463859 Received DATA (on stdin) 07:51:12.463875 > 39 bytes data, server => client 07:51:12.463885 '229 Entering Passive Mode (|||36479|)\r\n' 07:51:12.463990 < 8 bytes data, client => server 07:51:12.464003 'TYPE I\r\n' 07:51:12.464212 Received DATA (on stdin) 07:51:12.464230 > 33 bytes data, server => client 07:51:12.464243 '200 I modify TYPE as you wanted\r\n' 07:51:12.464314 < 21 bytes data, client => server 07:51:12.464329 'SIZE verifiedserver\r\n' 07:51:12.464447 Received DATA (on stdin) 07:51:12.464460 > 8 bytes data, server => client 07:51:12.464471 '213 17\r\n' 07:51:12.464518 < 21 bytes data, client => server 07:51:12.464538 'RETR verifiedserver\r\n' 07:51:12.464897 Received DATA (on stdin) 07:51:12.464911 > 29 bytes data, server => client 07:51:12.464924 '150 Binary junk (17 bytes).\r\n' 07:51:12.465417 Received DATA (on stdin) 07:51:12.465428 > 28 bytes data, server => client 07:51:12.465437 '226 File transfer complete\r\n' 07:51:12.507691 < 6 bytes data, client => server 07:51:12.507716 'QUIT\r\n' 07:51:12.507904 Received DATA (on stdin) 07:51:12.507919 > 18 bytes data, server => client 07:51:12.507930 '221 bye bye baby\r\n' 07:51:12.508844 ====> Client disconnect 07:51:12.509021 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:12.463348 Running IPv4 version 07:51:12.463403 Listening on port 36479 07:51:12.463430 Wrote pid 93157 to log/14/server/ftp_sockdata.pid 07:51:12.463451 Received PING (on stdin) 07:51:12.463701 Received PORT (on stdin) 07:51:12.463984 ====> Client connect 07:51:12.464952 Received DATA (on stdin) 07:51:12.464967 > 17 bytes data, server => client 07:51:12.464978 'WE ROOLZ: 81000\r\n' 07:51:12.465003 Received DISC (on stdin) 07:51:12.465014 ====> Client forcibly disconnected 07:51:12.465189 Received QUIT (on stdin) 07:51:12.465201 quits 07:51:12.465246 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==93299== ==93299== Process terminating with default action of signal 4 (SIGILL) ==93299== Illegal opcode at address 0x4013DC0 ==93299== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93299== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93299== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93299== by 0x40037A4: main (tool_main.c:199) === End of file valgrind298 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/2/valgrind316 ../src/curl -q --output log/2/curl316.out --include --trace-ascii log/2/trace316 --trace-time http://127.0.0.1:43955/316 --compressed > log/2/stdout316 2> log/2/stderr316 316: 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/ dir 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/2/valgrind316 ../src/curl -q --output log/2/curl316.out --include --trace-ascii log/2/trace316 --trace-time http://127.0.0.1:43955/316 --compressed > log/2/stdout316 2> log/2/stderr316 === End of file commands.log === Start of file http_server.log 07:51:13.505904 ====> Client connect 07:51:13.505932 accept_connection 3 returned 4 07:51:13.505946 accept_connection 3 returned 0 07:51:13.505958 Read 93 bytes 07:51:13.505966 Process 93 bytes request 07:51:13.505975 Got request: GET /verifiedserver HTTP/1.1 07:51:13.505983 Are-we-friendly question received 07:51:13.506024 Wrote request (93 bytes) input to log/2/server.input 07:51:13.506037 Identifying ourselves as friends 07:51:13.506084 Response sent (56 bytes) and written to log/2/server.response 07:51:13.506092 special request received, no persistency 07:51:13.506100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind316 ==93304== ==93304== Process terminating with default action of signal 4 (SIGILL) ==93304== Illegal opcode at address 0x4013DC0 ==93304== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93304== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93304== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93304== by 0x40037A4: main (tool_main.c:199) === End of file valgrind316 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/11/valgrind314 ../src/curl -q --output log/11/curl314.out --include --trace-ascii log/11/trace314 --trace-time http://127.0.0.1:38169/314 --compressed > log/11/stdout314 2> log/11/stderr314 314: 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/ dir 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/11/valgrind314 ../src/curl -q --output log/11/curl314.out --include --trace-ascii log/11/trace314 --trace-time http://127.0.0.1:38169/314 --compressed > log/11/stdout314 2> log/11/stderr314 === End of file commands.log === Start of file http_server.log 07:51:12.499427 ====> Client connect 07:51:12.499460 accept_connection 3 returned 4 07:51:12.499478 accept_connection 3 returned 0 07:51:12.499494 Read 93 bytes 07:51:12.499505 Process 93 bytes request 07:51:12.499519 Got request: GET /verifiedserver HTTP/1.1 07:51:12.499529 Are-we-friendly question received 07:51:12.499554 Wrote request (93 bytes) input to log/11/server.input 07:51:12.499572 Identifying ourselves as friends 07:51:12.499627 Response sent (56 bytes) and written to log/11/server.response 07:51:12.499639 special request received, no persistency 07:51:12.499649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 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/22/valgrind318 ../src/curl -q --output log/22/curl318.out --include --trace-ascii log/22/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:40377 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/22/stdout318 2> log/22/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/19/valgrind319 ../src/curl -q --output log/19/curl319.out --trace-ascii log/19/trace319 --trace-time http://127.0.0.1:34835/319 --raw > log/19/stdout319 2> log/19/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/4/valgrind326 ../src/curl -q --output log/4/curl326.out --trace-ascii log/4/trace326 --trace-time http://127.0.0.1:43573/326 --raw > log/4/stdout326 2> log/4/stderr326 8169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 60208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind314 ==93351== ==93351== Process terminating with default action of signal 4 (SIGILL) ==93351== Illegal opcode at address 0x4013DC0 ==93351== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93351== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93351== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93351== by 0x40037A4: main (tool_main.c:199) === End of file valgrind314 test 0318...[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/22/valgrind318 ../src/curl -q --output log/22/curl318.out --include --trace-ascii log/22/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:40377 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/22/stdout318 2> log/22/stderr318 318: 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/ dir 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/22/valgrind318 ../src/curl -q --output log/22/curl318.out --include --trace-ascii log/22/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:40377 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/22/stdout318 2> log/22/stderr318 === End of file commands.log === Start of file http_server.log 07:51:12.666727 ====> Client connect 07:51:12.666765 accept_connection 3 returned 4 07:51:12.666781 accept_connection 3 returned 0 07:51:12.666796 Read 93 bytes 07:51:12.666806 Process 93 bytes request 07:51:12.666819 Got request: GET /verifiedserver HTTP/1.1 07:51:12.666829 Are-we-friendly question received 07:51:12.666856 Wrote request (93 bytes) input to log/22/server.input 07:51:12.666874 Identifying ourselves as friends 07:51:12.666929 Response sent (56 bytes) and written to log/22/server.response 07:51:12.666939 special request received, no persistency 07:51:12.666947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind318 ==93619== ==93619== Process terminating with default action of signal 4 (SIGILL) ==93619== Illegal opcode at address 0x4013DC0 ==93619== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93619== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93619== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93619== by 0x40037A4: main (tool_main.c:199) === End of file valgrind318 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/19/valgrind319 ../src/curl -q --output log/19/curl319.out --trace-ascii log/19/trace319 --trace-time http://127.0.0.1:34835/319 --raw > log/19/stdout319 2> log/19/stderr319 319: 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/ dir 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/19/valgrind319 ../src/curl -q --output log/19/curl319.out --trace-ascii log/19/trace319 --trace-time http://127.0.0.1:34835/319 --raw > log/19/stdout319 2> log/19/stderr319 === End of file commands.log === Start of file http_server.log 07:51:12.720550 ====> Client connect 07:51:12.720579 accept_connection 3 returned 4 07:51:12.720593 accept_connection 3 returned 0 07:51:12.720607 Read 93 bytes 07:51:12.720616 Process 93 bytes request 07:51:12.720628 Got request: GET /verifiedserver HTTP/1.1 07:51:12.720637 Are-we-friendly question received 07:51:12.720659 Wrote request (93 bytes) input to log/19/server.input 07:51:12.720674 Identifying ourselves as friends 07:51:12.720720 Response sent (56 bytes) and written to log/19/server.response 07:51:12.720730 special request received, no persistency 07:51:12.720738 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind319 ==93705== ==93705== Process terminating with default action of signal 4 (SIGILL) ==93705== Illegal opcode at address 0x4013DC0 ==93705== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93705== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93705== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93705== by 0x40037A4: main (tool_main.c:199) === End of file valgrind319 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/4/valgrind326 ../src/curl -q --output log/4/curl326.out --trace-ascii log/4/trace326 --trace-time http://127.0.0.1:43573/326 --raw > log/4/stdout326 2> log/4/stderr326 326: 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/ dir 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/4/valgrind326 ../src/curl -q --output log/4/curl326.out --trace-ascii log/4/trace326 --trace-time http://127.0.0.1:43573/326 --raw > log/4/stdout326 2> log/4/stderr326 === End of file commands.log === Start of file http_server.log 07:51:13.726542 ====> Client connect 07:51:13.726570 accept_connection 3 returned 4 07:51:13.726585 acceCMD (33792): ../libtool --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/valgrind331 ../src/curl -q --output log/16/curl331.out --include --trace-ascii log/16/trace331 --trace-time -x http://127.0.0.1:44351 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/16/stdout331 2> log/16/stderr331 CMD (33792): ../libtool --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/valgrind283 ../src/curl -q --output log/8/curl283.out --include --trace-ascii log/8/trace283 --trace-time tftp://127.0.0.1:38101//invalid-file --tftp-blksize 1024 > log/8/stdout283 2> log/8/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/9/valgrind284 ../src/curl -q --output log/9/curl284.out --include --trace-ascii log/9/trace284 --trace-time tftp://127.0.0.1:49382//284 > log/9/stdout284 2> log/9/stderr284 pt_connection 3 returned 0 07:51:13.726597 Read 93 bytes 07:51:13.726607 Process 93 bytes request 07:51:13.726617 Got request: GET /verifiedserver HTTP/1.1 07:51:13.726626 Are-we-friendly question received 07:51:13.726648 Wrote request (93 bytes) input to log/4/server.input 07:51:13.726663 Identifying ourselves as friends 07:51:13.726711 Response sent (56 bytes) and written to log/4/server.response 07:51:13.726721 special request received, no persistency 07:51:13.726729 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind326 ==93717== ==93717== Process terminating with default action of signal 4 (SIGILL) ==93717== Illegal opcode at address 0x4013DC0 ==93717== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93717== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93717== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93717== by 0x40037A4: main (tool_main.c:199) === End of file valgrind326 test 0331...[HTTP with cookie using host name '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/16/valgrind331 ../src/curl -q --output log/16/curl331.out --include --trace-ascii log/16/trace331 --trace-time -x http://127.0.0.1:44351 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/16/stdout331 2> log/16/stderr331 331: 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/ dir 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/16/valgrind331 ../src/curl -q --output log/16/curl331.out --include --trace-ascii log/16/trace331 --trace-time -x http://127.0.0.1:44351 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/16/stdout331 2> log/16/stderr331 === End of file commands.log === Start of file http_server.log 07:51:12.890841 ====> Client connect 07:51:12.890879 accept_connection 3 returned 4 07:51:12.890897 accept_connection 3 returned 0 07:51:12.890914 Read 93 bytes 07:51:12.890925 Process 93 bytes request 07:51:12.890941 Got request: GET /verifiedserver HTTP/1.1 07:51:12.890951 Are-we-friendly question received 07:51:12.890979 Wrote request (93 bytes) input to log/16/server.input 07:51:12.890998 Identifying ourselves as friends 07:51:12.891062 Response sent (56 bytes) and written to log/16/server.response 07:51:12.891073 special request received, no persistency 07:51:12.891084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 47670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind331 ==94201== ==94201== Process terminating with default action of signal 4 (SIGILL) ==94201== Illegal opcode at address 0x4013DC0 ==94201== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94201== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94201== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94201== by 0x40037A4: main (tool_main.c:199) === End of file valgrind331 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/8/server/tftp_server.pid" --portfile "log/8/server/tftp_server.port" --logfile "log/8/tftp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92301 port 38101 * pid tftp => 92301 92301 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/8/valgrind283 ../src/curl -q --output log/8/curl283.out --include --trace-ascii log/8/trace283 --trace-time tftp://127.0.0.1:38101//invalid-file --tftp-blksize 1024 > log/8/stdout283 2> log/8/stderr283 283: 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/ dir 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/8/valgrind283 ../src/curl -q --output log/8/curl283.out --include --trace-ascii log/8/trace283 --trace-time tftp://127.0.0.1:38101//invalid-file --tftp-blksize 1024 > log/8/stdout283 2> log/8/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 07:51:11.790964 Wrote pid 92301 to log/8/server/tftp_server.pid 07:51:11.791025 Wrote port 38101 to log/8/server/tftp_server.port 07:51:11.791039 Running IPv4 version on port UDP/38101 === End of file tftp_server.log === Start of file valgrind283 ==93800== ==93800== Process terminating with default action of signal 4 (SIGILL) ==93800== Illegal opcode at address 0x4013DC0 ==93800== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93800== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93800== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93800== by 0x40037A4: main (tool_main.c:199) === End of file valgrind283 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/9/server/tftp_server.pid" --portfile "log/9/server/tftp_server.port" --logfile "log/9/tftp_server.log" --logdir "log/9" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92302 port 49382 * pid tftp => 92302 92302 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/9/valgrind284 ../src/curl -q --output log/9/curl284.out --include --trace-ascii log/9/trace284 --trace-time tftp://127.0.0.1:49382//284 > log/9/stdout284 2> log/9/stderr284 284: 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/ dir 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/9/valgrind284 ../src/curl -q --output log/9/curl284.out --include --trace-ascii log/9/trace284 --trace-time tftp://127.0.0.1:49382//284 > log/9/stdout284 2> log/9/stderr284 === End of file commands.log === 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/15/valgrind329 ../src/curl -q --output log/15/curl329.out --include --trace-ascii log/15/trace329 --trace-time http://127.0.0.1:43789/we/want/329 -b log/15/jar329.txt -b log/15/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:43789/we/want/3290002 > log/15/stdout329 2> log/15/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/23/valgrind328 ../src/curl -q --output log/23/curl328.out --include --trace-ascii log/23/trace328 --trace-time http://127.0.0.1:41029/hello/328 --compressed > log/23/stdout328 2> log/23/stderr328 CMD (33792): ../libtool --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/valgrind327 ../src/curl -q --output log/18/curl327.out --include --trace-ascii log/18/trace327 --trace-time http://127.0.0.1:46763/we/want/327 -b none -c log/18/cookies327 http://127.0.0.1:46763/we/want/3270002 > log/18/stdout327 2> log/18/stderr327 CMD (33792): ../libtool --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/valgrind285 ../src/curl -q --output log/3/curl285.out --include --trace-ascii log/3/trace285 --trace-time -T log/3/test285.txt tftp://127.0.0.1:42287// --connect-timeout 549 > log/3/stdout285 2> log/3/stderr285 t of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 07:51:11.794286 Wrote pid 92302 to log/9/server/tftp_server.pid 07:51:11.794343 Wrote port 49382 to log/9/server/tftp_server.port 07:51:11.794383 Running IPv4 version on port UDP/49382 === End of file tftp_server.log === Start of file valgrind284 ==93805== ==93805== Process terminating with default action of signal 4 (SIGILL) ==93805== Illegal opcode at address 0x4013DC0 ==93805== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93805== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93805== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93805== by 0x40037A4: main (tool_main.c:199) === End of file valgrind284 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/15/valgrind329 ../src/curl -q --output log/15/curl329.out --include --trace-ascii log/15/trace329 --trace-time http://127.0.0.1:43789/we/want/329 -b log/15/jar329.txt -b log/15/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:43789/we/want/3290002 > log/15/stdout329 2> log/15/stderr329 329: 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/ dir 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/15/valgrind329 ../src/curl -q --output log/15/curl329.out --include --trace-ascii log/15/trace329 --trace-time http://127.0.0.1:43789/we/want/329 -b log/15/jar329.txt -b log/15/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:43789/we/want/3290002 > log/15/stdout329 2> log/15/stderr329 === End of file commands.log === Start of file http_server.log 07:51:12.843362 ====> Client connect 07:51:12.843423 accept_connection 3 returned 4 07:51:12.843443 accept_connection 3 returned 0 07:51:12.843459 Read 93 bytes 07:51:12.843471 Process 93 bytes request 07:51:12.843484 Got request: GET /verifiedserver HTTP/1.1 07:51:12.843495 Are-we-friendly question received 07:51:12.843520 Wrote request (93 bytes) input to log/15/server.input 07:51:12.843538 Identifying ourselves as friends 07:51:12.843592 Response sent (56 bytes) and written to log/15/server.response 07:51:12.843603 special request received, no persistency 07:51:12.843613 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 43556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind329 ==94005== ==94005== Process terminating with default action of signal 4 (SIGILL) ==94005== Illegal opcode at address 0x4013DC0 ==94005== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94005== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94005== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94005== by 0x40037A4: main (tool_main.c:199) === End of file valgrind329 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/23/valgrind328 ../src/curl -q --output log/23/curl328.out --include --trace-ascii log/23/trace328 --trace-time http://127.0.0.1:41029/hello/328 --compressed > log/23/stdout328 2> log/23/stderr328 328: 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/ dir 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/23/valgrind328 ../src/curl -q --output log/23/curl328.out --include --trace-ascii log/23/trace328 --trace-time http://127.0.0.1:41029/hello/328 --compressed > log/23/stdout328 2> log/23/stderr328 === End of file commands.log === Start of file http_server.log 07:51:12.843342 ====> Client connect 07:51:12.843387 accept_connection 3 returned 4 07:51:12.843430 accept_connection 3 returned 0 07:51:12.849201 Read 93 bytes 07:51:12.849228 Process 93 bytes request 07:51:12.849244 Got request: GET /verifiedserver HTTP/1.1 07:51:12.849260 Are-we-friendly question received 07:51:12.849306 Wrote request (93 bytes) input to log/23/server.input 07:51:12.849325 Identifying ourselves as friends 07:51:12.849395 Response sent (56 bytes) and written to log/23/server.response 07:51:12.849406 special request received, no persistency 07:51:12.849416 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind328 ==94019== ==94019== Process terminating with default action of signal 4 (SIGILL) ==94019== Illegal opcode at address 0x4013DC0 ==94019== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94019== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94019== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94019== by 0x40037A4: main (tool_main.c:199) === End of file valgrind328 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/3/server/tftp_server.pid" --portfile "log/3/server/tftp_server.port" --logfile "log/3/tftp_server.log" --logdir "log/3" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92303 port 42287 * pid tftp => 92303 92303 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/3/valgrind285 ../src/curl -q --output log/3/curl285.out --include --trace-ascii log/3/trace285 --trace-time -T log/3/test285.txt tftp://127.0.0.1:42287// --connect-timeout 549 > log/3/stdout285 2> log/3/stderr285 285: 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/ dir 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/3/valgrind285 ../src/curl -q --output log/3/curl285.out --include --trace-ascii log/3/trace285 --trace-time -T log/3/test285.txt tftpCMD (33792): ../libtool --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/valgrind286 ../src/curl -q --output log/7/curl286.out --include --trace-ascii log/7/trace286 --trace-time -T log/7/test286.txt tftp://127.0.0.1:59886// > log/7/stdout286 2> log/7/stderr286 CMD (33792): ../libtool --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/valgrind330 ../src/curl -q --output log/6/curl330.out --include --trace-ascii log/6/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:45933 -H "Cookie: test=yes" --location > log/6/stdout330 2> log/6/stderr330 ://127.0.0.1:42287// --connect-timeout 549 > log/3/stdout285 2> log/3/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 07:51:11.799541 Wrote pid 92303 to log/3/server/tftp_server.pid 07:51:11.799598 Wrote port 42287 to log/3/server/tftp_server.port 07:51:11.799621 Running IPv4 version on port UDP/42287 === End of file tftp_server.log === Start of file valgrind285 ==93812== ==93812== Process terminating with default action of signal 4 (SIGILL) ==93812== Illegal opcode at address 0x4013DC0 ==93812== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93812== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93812== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93812== by 0x40037A4: main (tool_main.c:199) === End of file valgrind285 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/18/valgrind327 ../src/curl -q --output log/18/curl327.out --include --trace-ascii log/18/trace327 --trace-time http://127.0.0.1:46763/we/want/327 -b none -c log/18/cookies327 http://127.0.0.1:46763/we/want/3270002 > log/18/stdout327 2> log/18/stderr327 327: 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/ dir 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/18/valgrind327 ../src/curl -q --output log/18/curl327.out --include --trace-ascii log/18/trace327 --trace-time http://127.0.0.1:46763/we/want/327 -b none -c log/18/cookies327 http://127.0.0.1:46763/we/want/3270002 > log/18/stdout327 2> log/18/stderr327 === End of file commands.log === Start of file http_server.log 07:51:13.823229 ====> Client connect 07:51:13.823263 accept_connection 3 returned 4 07:51:13.823281 accept_connection 3 returned 0 07:51:13.823298 Read 93 bytes 07:51:13.823310 Process 93 bytes request 07:51:13.823325 Got request: GET /verifiedserver HTTP/1.1 07:51:13.823336 Are-we-friendly question received 07:51:13.823363 Wrote request (93 bytes) input to log/18/server.input 07:51:13.823381 Identifying ourselves as friends 07:51:13.823438 Response sent (56 bytes) and written to log/18/server.response 07:51:13.823449 special request received, no persistency 07:51:13.823460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind327 ==93933== ==93933== Process terminating with default action of signal 4 (SIGILL) ==93933== Illegal opcode at address 0x4013DC0 ==93933== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93933== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93933== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93933== by 0x40037A4: main (tool_main.c:199) === End of file valgrind327 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/7/server/tftp_server.pid" --portfile "log/7/server/tftp_server.port" --logfile "log/7/tftp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92320 port 59886 * pid tftp => 92320 92320 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/7/valgrind286 ../src/curl -q --output log/7/curl286.out --include --trace-ascii log/7/trace286 --trace-time -T log/7/test286.txt tftp://127.0.0.1:59886// > log/7/stdout286 2> log/7/stderr286 286: 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/ dir 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/7/valgrind286 ../src/curl -q --output log/7/curl286.out --include --trace-ascii log/7/trace286 --trace-time -T log/7/test286.txt tftp://127.0.0.1:59886// > log/7/stdout286 2> log/7/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 07:51:11.822780 Wrote pid 92320 to log/7/server/tftp_server.pid 07:51:11.822836 Wrote port 59886 to log/7/server/tftp_server.port 07:51:11.822863 Running IPv4 version on port UDP/59886 === End of file tftp_server.log === Start of file valgrind286 ==93890== ==93890== Process terminating with default action of signal 4 (SIGILL) ==93890== Illegal opcode at address 0x4013DC0 ==93890== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==93890== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93890== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==93890== by 0x40037A4: main (tool_main.c:199) === End of file valgrind286 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/6/valgrind330 ../src/curl -q --output log/6/curl330.out --include --trace-ascii log/6/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:45933 -H "Cookie: test=yes" --location > log/6/stdout330 2> log/6/stderr330 330: 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/ dir 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/6/valgrind330 ../src/curl -q --output log/6/curl330.out --include --trace-ascii log/6/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:45933 -H "Cookie: test=yes" --location > log/6/stdout330 2> log/6/stderr330 === End of file commands.log === Start of file http_server.log 07:51:12.878897 ====> Client connect 07:51:12.878936 accept_connection 3 returned 4 07:51:12.878956 accept_connection 3 returned 0 07:51:12.878975 Read 93 bytes 07:51:12.878992 Process 93 bytes request 07:51:12.879011 Got request: GET /verifiedserver HTTP/1.1 07:51:12.879021 Are-we-friCMD (33792): ../libtool --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/valgrind333 ../src/curl -q --output log/5/curl333.out --include --trace-ascii log/5/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/5/stdout333 2> log/5/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/13/valgrind334 ../src/curl -q --output log/13/curl334.out --include --trace-ascii log/13/trace334 --trace-time http://127.0.0.1:35041/want/334 > log/13/stdout334 2> log/13/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/20/valgrind335 ../src/curl -q --output log/20/curl335.out --include --trace-ascii log/20/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:40357 --proxy-digest --digest > log/20/stdout335 2> log/20/stderr335 endly question received 07:51:12.879046 Wrote request (93 bytes) input to log/6/server.input 07:51:12.879067 Identifying ourselves as friends 07:51:12.879127 Response sent (56 bytes) and written to log/6/server.response 07:51:12.879142 special request received, no persistency 07:51:12.879152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 58378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind330 ==94172== ==94172== Process terminating with default action of signal 4 (SIGILL) ==94172== Illegal opcode at address 0x4013DC0 ==94172== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94172== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94172== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94172== by 0x40037A4: main (tool_main.c:199) === End of file valgrind330 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/5/valgrind333 ../src/curl -q --output log/5/curl333.out --include --trace-ascii log/5/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/5/stdout333 2> log/5/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/5/ dir 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/5/valgrind333 ../src/curl -q --output log/5/curl333.out --include --trace-ascii log/5/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/5/stdout333 2> log/5/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==94352== ==94352== Process terminating with default action of signal 4 (SIGILL) ==94352== Illegal opcode at address 0x4013DC0 ==94352== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94352== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94352== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94352== by 0x40037A4: main (tool_main.c:199) === End of file valgrind333 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/13/valgrind334 ../src/curl -q --output log/13/curl334.out --include --trace-ascii log/13/trace334 --trace-time http://127.0.0.1:35041/want/334 > log/13/stdout334 2> log/13/stderr334 334: 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/ dir 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/13/valgrind334 ../src/curl -q --output log/13/curl334.out --include --trace-ascii log/13/trace334 --trace-time http://127.0.0.1:35041/want/334 > log/13/stdout334 2> log/13/stderr334 === End of file commands.log === Start of file http_server.log 07:51:13.104735 ====> Client connect 07:51:13.104770 accept_connection 3 returned 4 07:51:13.104789 accept_connection 3 returned 0 07:51:13.104806 Read 93 bytes 07:51:13.104818 Process 93 bytes request 07:51:13.104833 Got request: GET /verifiedserver HTTP/1.1 07:51:13.104844 Are-we-friendly question received 07:51:13.104872 Wrote request (93 bytes) input to log/13/server.input 07:51:13.104891 Identifying ourselves as friends 07:51:13.104956 Response sent (56 bytes) and written to log/13/server.response 07:51:13.104967 special request received, no persistency 07:51:13.104978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 33918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind334 ==94408== ==94408== Process terminating with default action of signal 4 (SIGILL) ==94408== Illegal opcode at address 0x4013DC0 ==94408== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94408== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94408== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94408== by 0x40037A4: main (tool_main.c:199) === End of file valgrind334 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/20/valgrind335 ../src/curl -q --output log/20/curl335.out --include --trace-ascii log/20/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:40357 --proxy-digest --digest > log/20/stdout335 2> log/20/stderr335 335: 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/ dir 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/20/valgrind335 ../src/curl -q --output log/20/curl335.out --include --trace-ascii log/20/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:40357 --proxy-digest --digest > log/20/stdout335 2> log/20/stderr335 === End of file commands.log === Start of file http_server.log 07:51:13.198073 ====> Client connect 07:51:13.198113 accept_connection 3 returned 4 07:51:13.198132 accept_connection 3 returned 0 07:51:13.198149 Read 93 bytes 07:51:13.198161 Process 93 bytes request 07:51:13.198175 Got request: GET /verifiedserver HTTP/1.1 07:51:13.198186 Are-we-friendly question received 07:51:13.198210 Wrote request (93 bytes) input to log/20/server.input 07:51:13.198228 Identifying ourselves as friends 07:51:13.198281 Response sent (56 bytes) and written to log/20/server.response 07:51:13.198292 special request received, no persistency 07:51:13.198303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intactCMD (33792): ../libtool --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/valgrind336 ../src/curl -q --output log/17/curl336.out --include --trace-ascii log/17/trace336 --trace-time ftp://127.0.0.1:44771/336 --range 3-6 > log/17/stdout336 2> log/17/stderr336 CMD (33792): ../libtool --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/valgrind337 ../src/curl -q --output log/24/curl337.out --include --trace-ascii log/24/trace337 --trace-time ftp://127.0.0.1:36707/337 --range 3-6 > log/24/stdout337 2> log/24/stderr337 === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind335 ==94490== ==94490== Process terminating with default action of signal 4 (SIGILL) ==94490== Illegal opcode at address 0x4013DC0 ==94490== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94490== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94490== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94490== by 0x40037A4: main (tool_main.c:199) === End of file valgrind335 test 0336...[FTP range download when SIZE doesn't 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/17/valgrind336 ../src/curl -q --output log/17/curl336.out --include --trace-ascii log/17/trace336 --trace-time ftp://127.0.0.1:44771/336 --range 3-6 > log/17/stdout336 2> log/17/stderr336 336: 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/ dir 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/17/valgrind336 ../src/curl -q --output log/17/curl336.out --include --trace-ascii log/17/trace336 --trace-time ftp://127.0.0.1:44771/336 --range 3-6 > log/17/stdout336 2> log/17/stderr336 === End of file commands.log === Start of file ftp_server.log 07:51:13.403927 ====> Client connect 07:51:13.404074 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:13.404361 < "USER anonymous" 07:51:13.404399 > "331 We are happy you popped in![CR][LF]" 07:51:13.404565 < "PASS ftp@example.com" 07:51:13.404609 > "230 Welcome you silly person[CR][LF]" 07:51:13.404763 < "PWD" 07:51:13.404791 > "257 "/" is current directory[CR][LF]" 07:51:13.404944 < "EPSV" 07:51:13.404966 ====> Passive DATA channel requested by client 07:51:13.404979 DATA sockfilt for passive data channel starting... 07:51:13.408017 DATA sockfilt for passive data channel started (pid 94522) 07:51:13.408149 DATA sockfilt for passive data channel listens on port 43039 07:51:13.408196 > "229 Entering Passive Mode (|||43039|)[CR][LF]" 07:51:13.408217 Client has been notified that DATA conn will be accepted on port 43039 07:51:13.408483 Client connects to port 43039 07:51:13.408518 ====> Client established passive DATA connection on port 43039 07:51:13.408663 < "TYPE I" 07:51:13.408700 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:13.408863 < "SIZE verifiedserver" 07:51:13.408899 > "213 17[CR][LF]" 07:51:13.409047 < "RETR verifiedserver" 07:51:13.409083 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:13.409171 =====> Closing passive DATA connection... 07:51:13.409188 Server disconnects passive DATA connection 07:51:13.409428 Server disconnected passive DATA connection 07:51:13.409453 DATA sockfilt for passive data channel quits (pid 94522) 07:51:13.409708 DATA sockfilt for passive data channel quit (pid 94522) 07:51:13.409731 =====> Closed passive DATA connection 07:51:13.409761 > "226 File transfer complete[CR][LF]" 07:51:13.452907 < "QUIT" 07:51:13.452974 > "221 bye bye baby[CR][LF]" 07:51:13.454431 MAIN sockfilt said DISC 07:51:13.454480 ====> Client disconnected 07:51:13.454557 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.231747 ====> Client connect 07:51:13.232032 Received DATA (on stdin) 07:51:13.232047 > 160 bytes data, server => client 07:51:13.232060 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.232071 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.232082 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.232163 < 16 bytes data, client => server 07:51:13.232176 'USER anonymous\r\n' 07:51:13.232348 Received DATA (on stdin) 07:51:13.232360 > 33 bytes data, server => client 07:51:13.232372 '331 We are happy you popped in!\r\n' 07:51:13.232423 < 22 bytes data, client => server 07:51:13.232434 'PASS ftp@example.com\r\n' 07:51:13.232558 Received DATA (on stdin) 07:51:13.232570 > 30 bytes data, server => client 07:51:13.232582 '230 Welcome you silly person\r\n' 07:51:13.232629 < 5 bytes data, client => server 07:51:13.232640 'PWD\r\n' 07:51:13.232737 Received DATA (on stdin) 07:51:13.232749 > 30 bytes data, server => client 07:51:13.232760 '257 "/" is current directory\r\n' 07:51:13.232815 < 6 bytes data, client => server 07:51:13.232826 'EPSV\r\n' 07:51:13.236176 Received DATA (on stdin) 07:51:13.236195 > 39 bytes data, server => client 07:51:13.236208 '229 Entering Passive Mode (|||43039|)\r\n' 07:51:13.236488 < 8 bytes data, client => server 07:51:13.236503 'TYPE I\r\n' 07:51:13.236648 Received DATA (on stdin) 07:51:13.236660 > 33 bytes data, server => client 07:51:13.236673 '200 I modify TYPE as you wanted\r\n' 07:51:13.236727 < 21 bytes data, client => server 07:51:13.236739 'SIZE verifiedserver\r\n' 07:51:13.236846 Received DATA (on stdin) 07:51:13.236859 > 8 bytes data, server => client 07:51:13.236871 '213 17\r\n' 07:51:13.236916 < 21 bytes data, client => server 07:51:13.236928 'RETR verifiedserver\r\n' 07:51:13.237137 Received DATA (on stdin) 07:51:13.237151 > 29 bytes data, server => client 07:51:13.237163 '150 Binary junk (17 bytes).\r\n' 07:51:13.237712 Received DATA (on stdin) 07:51:13.237726 > 28 bytes data, server => client 07:51:13.237738 '226 File transfer complete\r\n' 07:51:13.280629 < 6 bytes data, client => server 07:51:13.280670 'QUIT\r\n' 07:51:13.280935 Received DATA (on stdin) 07:51:13.280954 > 18 bytes data, server => client 07:51:13.280967 '221 bye bye baby\r\n' 07:51:13.281845 ====> Client disconnect 07:51:13.282520 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:13.235603 Running IPv4 version 07:51:13.235675 Listening on port 43039 07:51:13.235712 Wrote pid 94522 to log/17/server/ftp_sockdata.pid 07:51:13.235903 Received PING (on stdin) 07:51:13.235999 Received PORT (on stdin) 07:51:13.236380 ====> Client connect 07:51:13.237188 Received DATA (on stdin) 07:51:13.237202 > 17 bytes data, server => client 07:51:13.237214 'WE ROOLZ: 80557\r\n' 07:51:13.237239 Received DISC (on stdin) 07:51:13.237251 ====> Client forcibly disconnected 07:51:13.237409 Received QUIT (on stdin) 07:51:13.237422 quits 07:51:13.237481 ============> 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 ==94563== ==94563== Process terminating with default action of signal 4 (SIGILL) ==94563== Illegal opcode at address 0x4013DC0 ==94563== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94563== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94563== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94563== by 0x40037A4: main (tool_main.c:199) === End of file valgrind336 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/24/valgrind337 ../src/curl -q --output log/24/curl337.out --include --trace-ascii log/24/trace337 --trace-time ftp://127.0.0.1:36707/337 --range 3-6 > log/24/stdout337 2> log/24/stderr337 337: 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/ dir after 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/10/valgrind338 ../src/curl -q --output log/10/curl338.out --include --trace-ascii log/10/trace338 --trace-time http://127.0.0.1:34041/338 --next http://127.0.0.1:34041/338 --anyauth -u foo:moo > log/10/stdout338 2> log/10/stderr338 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/24/valgrind337 ../src/curl -q --output log/24/curl337.out --include --trace-ascii log/24/trace337 --trace-time ftp://127.0.0.1:36707/337 --range 3-6 > log/24/stdout337 2> log/24/stderr337 === End of file commands.log === Start of file ftp_server.log 07:51:13.645579 ====> Client connect 07:51:13.645807 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:13.646116 < "USER anonymous" 07:51:13.646157 > "331 We are happy you popped in![CR][LF]" 07:51:13.646414 < "PASS ftp@example.com" 07:51:13.646449 > "230 Welcome you silly person[CR][LF]" 07:51:13.648674 < "PWD" 07:51:13.648710 > "257 "/" is current directory[CR][LF]" 07:51:13.648886 < "EPSV" 07:51:13.648913 ====> Passive DATA channel requested by client 07:51:13.648927 DATA sockfilt for passive data channel starting... 07:51:13.651746 DATA sockfilt for passive data channel started (pid 94642) 07:51:13.651879 DATA sockfilt for passive data channel listens on port 43535 07:51:13.651922 > "229 Entering Passive Mode (|||43535|)[CR][LF]" 07:51:13.651941 Client has been notified that DATA conn will be accepted on port 43535 07:51:13.652197 Client connects to port 43535 07:51:13.652229 ====> Client established passive DATA connection on port 43535 07:51:13.652307 < "TYPE I" 07:51:13.652334 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:13.652501 < "SIZE verifiedserver" 07:51:13.652538 > "213 17[CR][LF]" 07:51:13.652689 < "RETR verifiedserver" 07:51:13.652724 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:13.652824 =====> Closing passive DATA connection... 07:51:13.652842 Server disconnects passive DATA connection 07:51:13.653105 Server disconnected passive DATA connection 07:51:13.653134 DATA sockfilt for passive data channel quits (pid 94642) 07:51:13.653368 DATA sockfilt for passive data channel quit (pid 94642) 07:51:13.653392 =====> Closed passive DATA connection 07:51:13.653422 > "226 File transfer complete[CR][LF]" 07:51:13.694922 < "QUIT" 07:51:13.694979 > "221 bye bye baby[CR][LF]" 07:51:13.695659 MAIN sockfilt said DISC 07:51:13.695710 ====> Client disconnected 07:51:13.695785 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.473400 ====> Client connect 07:51:13.473771 Received DATA (on stdin) 07:51:13.473790 > 160 bytes data, server => client 07:51:13.473804 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.473816 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.473828 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.473908 < 16 bytes data, client => server 07:51:13.473923 'USER anonymous\r\n' 07:51:13.474109 Received DATA (on stdin) 07:51:13.474123 > 33 bytes data, server => client 07:51:13.474135 '331 We are happy you popped in!\r\n' 07:51:13.474189 < 22 bytes data, client => server 07:51:13.474202 'PASS ftp@example.com\r\n' 07:51:13.474377 Received DATA (on stdin) 07:51:13.474390 > 30 bytes data, server => client 07:51:13.474402 '230 Welcome you silly person\r\n' 07:51:13.476509 < 5 bytes data, client => server 07:51:13.476528 'PWD\r\n' 07:51:13.476659 Received DATA (on stdin) 07:51:13.476672 > 30 bytes data, server => client 07:51:13.476684 '257 "/" is current directory\r\n' 07:51:13.476745 < 6 bytes data, client => server 07:51:13.476758 'EPSV\r\n' 07:51:13.479896 Received DATA (on stdin) 07:51:13.479911 > 39 bytes data, server => client 07:51:13.479924 '229 Entering Passive Mode (|||43535|)\r\n' 07:51:13.480058 < 8 bytes data, client => server 07:51:13.480075 'TYPE I\r\n' 07:51:13.480284 Received DATA (on stdin) 07:51:13.480302 > 33 bytes data, server => client 07:51:13.480314 '200 I modify TYPE as you wanted\r\n' 07:51:13.480364 < 21 bytes data, client => server 07:51:13.480377 'SIZE verifiedserver\r\n' 07:51:13.480485 Received DATA (on stdin) 07:51:13.480498 > 8 bytes data, server => client 07:51:13.480509 '213 17\r\n' 07:51:13.480556 < 21 bytes data, client => server 07:51:13.480568 'RETR verifiedserver\r\n' 07:51:13.480794 Received DATA (on stdin) 07:51:13.480807 > 29 bytes data, server => client 07:51:13.480820 '150 Binary junk (17 bytes).\r\n' 07:51:13.481371 Received DATA (on stdin) 07:51:13.481385 > 28 bytes data, server => client 07:51:13.481397 '226 File transfer complete\r\n' 07:51:13.522693 < 6 bytes data, client => server 07:51:13.522720 'QUIT\r\n' 07:51:13.522933 Received DATA (on stdin) 07:51:13.522948 > 18 bytes data, server => client 07:51:13.522960 '221 bye bye baby\r\n' 07:51:13.523539 ====> Client disconnect 07:51:13.523737 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:13.478754 Running IPv4 version 07:51:13.478809 Listening on port 43535 07:51:13.478862 Wrote pid 94642 to log/24/server/ftp_sockdata.pid 07:51:13.479384 Received PING (on stdin) 07:51:13.479731 Received PORT (on stdin) 07:51:13.480097 ====> Client connect 07:51:13.480847 Received DATA (on stdin) 07:51:13.480861 > 17 bytes data, server => client 07:51:13.480874 'WE ROOLZ: 83461\r\n' 07:51:13.480902 Received DISC (on stdin) 07:51:13.480915 ====> Client forcibly disconnected 07:51:13.481092 Received QUIT (on stdin) 07:51:13.481106 quits 07:51:13.481161 ============> 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 ==94719== ==94719== Process terminating with default action of signal 4 (SIGILL) ==94719== Illegal opcode at address 0x4013DC0 ==94719== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94719== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94719== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94719== by 0x40037A4: main (tool_main.c:199) === End of file valgrind337 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/10/valgrind338 ../src/curl -q --output log/10/curl338.out --include --trace-ascii log/10/trace338 --trace-time http://127.0.0.1:34041/338 --next http://127.0.0.1:34041/338 --anyauth -u foo:moo > log/10/stdout338 2> log/10/stderr338 338: 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/ dir 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/10/valgrind338 ../src/curl -q --output log/10/curl338.out --include --trace-ascii log/10/trace338 --trace-time http://127.0.0.1:34041/338 --next http://127.0.0.1:34041/338 --anyauth -u foo:moo > log/10/stdout338 2> log/10/stderr338 === End of file commands.log === Start of file http_server.log 07:51:13.501903 ====> Client connect 07:51:13.501937 accept_connection 3 returned 4 07:51:13.501953 accept_connection 3 returned 0 07:51:13.501968 Read 93 bytes 07:51:13.501995 Process 93 bytes request 07:51:13.502008 Got request: GET /verifiedserver HTTP/1.1 07:51:13.502017 Are-we-friendly question received 07:51:13.502041 Wrote request (93 bytes) input to log/10/server.input 07:51:13.502058 Identifying ourselves as friends 07:51:13.502110 Response sent (56 bytes) and written to log/10/server.response 07:51:13.502120 special request received, no persistency 07:51:13.502129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 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/11/valgrind343 ../src/curl -q --output log/11/curl343.out --include --trace-ascii log/11/trace343 --trace-time http://127.0.0.1:38169/343 --etag-compare log/11/etag343 --etag-save log/11/out343 > log/11/stdout343 2> log/11/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/12/valgrind339 ../src/curl -q --output log/12/curl339.out --include --trace-ascii log/12/trace339 --trace-time http://127.0.0.1:38023/339 --etag-save log/12/etag339 > log/12/stdout339 2> log/12/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/1/valgrind342 ../src/curl -q --output log/1/curl342.out --include --trace-ascii log/1/trace342 --trace-time http://127.0.0.1:35709/342 --etag-compare log/1/etag342 > log/1/stdout342 2> log/1/stderr342 0966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind338 ==94662== ==94662== Process terminating with default action of signal 4 (SIGILL) ==94662== Illegal opcode at address 0x4013DC0 ==94662== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94662== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94662== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94662== by 0x40037A4: main (tool_main.c:199) === End of file valgrind338 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/11/valgrind343 ../src/curl -q --output log/11/curl343.out --include --trace-ascii log/11/trace343 --trace-time http://127.0.0.1:38169/343 --etag-compare log/11/etag343 --etag-save log/11/out343 > log/11/stdout343 2> log/11/stderr343 343: 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/ dir 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/11/valgrind343 ../src/curl -q --output log/11/curl343.out --include --trace-ascii log/11/trace343 --trace-time http://127.0.0.1:38169/343 --etag-compare log/11/etag343 --etag-save log/11/out343 > log/11/stdout343 2> log/11/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 07:51:13.567416 ====> Client connect 07:51:13.567448 accept_connection 3 returned 4 07:51:13.567465 accept_connection 3 returned 0 07:51:13.567484 Read 93 bytes 07:51:13.567496 Process 93 bytes request 07:51:13.567509 Got request: GET /verifiedserver HTTP/1.1 07:51:13.567520 Are-we-friendly question received 07:51:13.567544 Wrote request (93 bytes) input to log/11/server.input 07:51:13.567562 Identifying ourselves as friends 07:51:13.567617 Response sent (56 bytes) and written to log/11/server.response 07:51:13.567628 special request received, no persistency 07:51:13.567638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 60224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind343 ==94886== ==94886== Process terminating with default action of signal 4 (SIGILL) ==94886== Illegal opcode at address 0x4013DC0 ==94886== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94886== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94886== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94886== by 0x40037A4: main (tool_main.c:199) === End of file valgrind343 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/12/valgrind339 ../src/curl -q --output log/12/curl339.out --include --trace-ascii log/12/trace339 --trace-time http://127.0.0.1:38023/339 --etag-save log/12/etag339 > log/12/stdout339 2> log/12/stderr339 339: 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/ dir 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/12/valgrind339 ../src/curl -q --output log/12/curl339.out --include --trace-ascii log/12/trace339 --trace-time http://127.0.0.1:38023/339 --etag-save log/12/etag339 > log/12/stdout339 2> log/12/stderr339 === End of file commands.log === Start of file http_server.log 07:51:13.538574 ====> Client connect 07:51:13.538610 accept_connection 3 returned 4 07:51:13.538628 accept_connection 3 returned 0 07:51:13.538643 Read 93 bytes 07:51:13.538654 Process 93 bytes request 07:51:13.538668 Got request: GET /verifiedserver HTTP/1.1 07:51:13.538678 Are-we-friendly question received 07:51:13.538707 Wrote request (93 bytes) input to log/12/server.input 07:51:13.538726 Identifying ourselves as friends 07:51:13.538792 Response sent (56 bytes) and written to log/12/server.response 07:51:13.538804 special request received, no persistency 07:51:13.538814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind339 ==94776== ==94776== Process terminating with default action of signal 4 (SIGILL) ==94776== Illegal opcode at address 0x4013DC0 ==94776== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94776== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94776== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94776== by 0x40037A4: main (tool_main.c:199) === End of file valgrind339 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/1/valgrind342 ../src/curl -q --output log/1/curl342.out --include --trace-ascii log/1/trace342 --trace-time http://127.0.0.1:35709/342 --etag-compare log/1/etag342 > log/1/stdout342 2> log/1/stderr342 342: 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/ dir 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/1/valgrind342 ../src/curl -q --output log/1/curl342.out --include --trace-ascii log/1/trace342 --trace-time http://127.0.0.1:35709/342 --etag-compare log/1/etag342 > log/1/stdout342 2> log/1/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 07:51:CMD (33792): ../libtool --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/valgrind340 ../src/curl -q --output log/14/curl340.out --include --trace-ascii log/14/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:39555/%00first/second/third/340 > log/14/stdout340 2> log/14/stderr340 13.557356 ====> Client connect 07:51:13.557392 accept_connection 3 returned 4 07:51:13.557411 accept_connection 3 returned 0 07:51:13.557429 Read 93 bytes 07:51:13.557441 Process 93 bytes request 07:51:13.557454 Got request: GET /verifiedserver HTTP/1.1 07:51:13.557465 Are-we-friendly question received 07:51:13.557490 Wrote request (93 bytes) input to log/1/server.input 07:51:13.557508 Identifying ourselves as friends 07:51:13.557579 Response sent (56 bytes) and written to log/1/server.response 07:51:13.557591 special request received, no persistency 07:51:13.557601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind342 ==94841== ==94841== Process terminating with default action of signal 4 (SIGILL) ==94841== Illegal opcode at address 0x4013DC0 ==94841== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94841== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94841== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94841== by 0x40037A4: main (tool_main.c:199) === End of file valgrind342 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/14/valgrind340 ../src/curl -q --output log/14/curl340.out --include --trace-ascii log/14/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:39555/%00first/second/third/340 > log/14/stdout340 2> log/14/stderr340 340: 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/ dir 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/14/valgrind340 ../src/curl -q --output log/14/curl340.out --include --trace-ascii log/14/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:39555/%00first/second/third/340 > log/14/stdout340 2> log/14/stderr340 === End of file commands.log === Start of file ftp_server.log 07:51:13.713931 ====> Client connect 07:51:13.714071 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:13.714355 < "USER anonymous" 07:51:13.714397 > "331 We are happy you popped in![CR][LF]" 07:51:13.714596 < "PASS ftp@example.com" 07:51:13.714627 > "230 Welcome you silly person[CR][LF]" 07:51:13.714796 < "PWD" 07:51:13.714830 > "257 "/" is current directory[CR][LF]" 07:51:13.714999 < "EPSV" 07:51:13.715024 ====> Passive DATA channel requested by client 07:51:13.715037 DATA sockfilt for passive data channel starting... 07:51:13.717140 DATA sockfilt for passive data channel started (pid 94728) 07:51:13.717299 DATA sockfilt for passive data channel listens on port 36191 07:51:13.717350 > "229 Entering Passive Mode (|||36191|)[CR][LF]" 07:51:13.717368 Client has been notified that DATA conn will be accepted on port 36191 07:51:13.717681 Client connects to port 36191 07:51:13.717732 ====> Client established passive DATA connection on port 36191 07:51:13.717844 < "TYPE I" 07:51:13.717888 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:13.718144 < "SIZE verifiedserver" 07:51:13.718196 > "213 17[CR][LF]" 07:51:13.718375 < "RETR verifiedserver" 07:51:13.718410 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:13.718503 =====> Closing passive DATA connection... 07:51:13.718519 Server disconnects passive DATA connection 07:51:13.718667 Server disconnected passive DATA connection 07:51:13.718692 DATA sockfilt for passive data channel quits (pid 94728) 07:51:13.718944 DATA sockfilt for passive data channel quit (pid 94728) 07:51:13.718969 =====> Closed passive DATA connection 07:51:13.718995 > "226 File transfer complete[CR][LF]" 07:51:13.765071 < "QUIT" 07:51:13.765128 > "221 bye bye baby[CR][LF]" 07:51:13.767291 MAIN sockfilt said DISC 07:51:13.767369 ====> Client disconnected 07:51:13.767447 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.541775 ====> Client connect 07:51:13.542030 Received DATA (on stdin) 07:51:13.542045 > 160 bytes data, server => client 07:51:13.542057 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.542068 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.542079 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.542149 < 16 bytes data, client => server 07:51:13.542162 'USER anonymous\r\n' 07:51:13.542350 Received DATA (on stdin) 07:51:13.542362 > 33 bytes data, server => client 07:51:13.542374 '331 We are happy you popped in!\r\n' 07:51:13.542428 < 22 bytes data, client => server 07:51:13.542440 'PASS ftp@example.com\r\n' 07:51:13.542576 Received DATA (on stdin) 07:51:13.542589 > 30 bytes data, server => client 07:51:13.542601 '230 Welcome you silly person\r\n' 07:51:13.542653 < 5 bytes data, client => server 07:51:13.542665 'PWD\r\n' 07:51:13.542777 Received DATA (on stdin) 07:51:13.542789 > 30 bytes data, server => client 07:51:13.542801 '257 "/" is current directory\r\n' 07:51:13.542859 < 6 bytes data, client => server 07:51:13.542872 'EPSV\r\n' 07:51:13.545321 Received DATA (on stdin) 07:51:13.545336 > 39 bytes data, server => client 07:51:13.545348 '229 Entering Passive Mode (|||36191|)\r\n' 07:51:13.545598 < 8 bytes data, client => server 07:51:13.545616 'TYPE I\r\n' 07:51:13.545865 Received DATA (on stdin) 07:51:13.545885 > 33 bytes data, server => client 07:51:13.545898 '200 I modify TYPE as you wanted\r\n' 07:51:13.545984 < 21 bytes data, client => server 07:51:13.545998 'SIZE verifiedserver\r\n' 07:51:13.546149 Received DATA (on stdin) 07:51:13.546163 > 8 bytes data, server => client 07:51:13.546174 '213 17\r\n' 07:51:13.546232 < 21 bytes data, client => server 07:51:13.546245 'RETR verifiedserver\r\n' 07:51:13.546428 Received DATA (on stdin) 07:51:13.546449 > 29 bytes data, server => client 07:51:13.546463 '150 Binary junk (17 bytes).\r\n' 07:51:13.546944 Received DATA (on stdin) 07:51:13.546957 > 28 bytes data, server => client 07:51:13.546967 '226 File transfer complete\r\n' 07:51:13.592825 < 6 bytes data, client => server 07:51:13.592852 'QUIT\r\n' 07:51:13.593309 Received DATA (on stdin) 07:51:13.593327 > 18 bytes data, server => client 07:51:13.593339 '221 bye bye baby\r\n' 07:51:13.594034 ====> Client disconnect 07:51:13.595400 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:13.544768 Running IPv4 version 07:51:13.544836 Listening on port 36191 07:51:13.544869 Wrote pid 94728 to log/14/server/ftp_sockdata.pid 07:51:13.545028 Received PING (on stdin) 07:51:13.545111 Received PORT (on stdin) 07:51:13.545561 ====> Client connect 07:51:13.546475 Received DATA (on stdin) 07:51:13.546492 > 17 bytes data, server => client 07:51:13.546504 'WE ROOLZ: 81000\r\n' 07:51:13.546535 Received DISC (on stdin) 07:51:13.546549 ====> Client forcibly disconnected 07:51:13.546652 Received QUIT (on stdin) 07:51:13.546665 quits 07:51:13.546718 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End 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/2/valgrind341 ../src/curl -q --output log/2/curl341.out --include --trace-ascii log/2/trace341 --trace-time http://127.0.0.1:43955/341 --etag-compare log/2/etag341 > log/2/stdout341 2> log/2/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/19/valgrind345 ../src/curl -q --output log/19/curl345.out --include --trace-ascii log/19/trace345 --trace-time http://127.0.0.1:34835/345 --etag-compare log/19/etag345 --etag-save log/19/etag345 > log/19/stdout345 2> log/19/stderr345 CMD (33792): ../libtool --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/valgrind344 ../src/curl -q --output log/22/curl344.out --include --trace-ascii log/22/trace344 --trace-time http://127.0.0.1:40377/344 --etag-compare log/22/etag344 --etag-save log/22/etag344 > log/22/stdout344 2> log/22/stderr344 ver.cmd === Start of file valgrind340 ==94980== ==94980== Process terminating with default action of signal 4 (SIGILL) ==94980== Illegal opcode at address 0x4013DC0 ==94980== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94980== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94980== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94980== by 0x40037A4: main (tool_main.c:199) === End of file valgrind340 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/2/valgrind341 ../src/curl -q --output log/2/curl341.out --include --trace-ascii log/2/trace341 --trace-time http://127.0.0.1:43955/341 --etag-compare log/2/etag341 > log/2/stdout341 2> log/2/stderr341 341: 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/ dir 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/2/valgrind341 ../src/curl -q --output log/2/curl341.out --include --trace-ascii log/2/trace341 --trace-time http://127.0.0.1:43955/341 --etag-compare log/2/etag341 > log/2/stdout341 2> log/2/stderr341 === End of file commands.log === Start of file http_server.log 07:51:14.558021 ====> Client connect 07:51:14.558062 accept_connection 3 returned 4 07:51:14.558080 accept_connection 3 returned 0 07:51:14.558095 Read 93 bytes 07:51:14.558106 Process 93 bytes request 07:51:14.558119 Got request: GET /verifiedserver HTTP/1.1 07:51:14.558129 Are-we-friendly question received 07:51:14.558153 Wrote request (93 bytes) input to log/2/server.input 07:51:14.558171 Identifying ourselves as friends 07:51:14.558225 Response sent (56 bytes) and written to log/2/server.response 07:51:14.558235 special request received, no persistency 07:51:14.558246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind341 ==94845== ==94845== Process terminating with default action of signal 4 (SIGILL) ==94845== Illegal opcode at address 0x4013DC0 ==94845== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==94845== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94845== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==94845== by 0x40037A4: main (tool_main.c:199) === End of file valgrind341 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/19/valgrind345 ../src/curl -q --output log/19/curl345.out --include --trace-ascii log/19/trace345 --trace-time http://127.0.0.1:34835/345 --etag-compare log/19/etag345 --etag-save log/19/etag345 > log/19/stdout345 2> log/19/stderr345 345: 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/ dir 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/19/valgrind345 ../src/curl -q --output log/19/curl345.out --include --trace-ascii log/19/trace345 --trace-time http://127.0.0.1:34835/345 --etag-compare log/19/etag345 --etag-save log/19/etag345 > log/19/stdout345 2> log/19/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 07:51:13.751111 ====> Client connect 07:51:13.751146 accept_connection 3 returned 4 07:51:13.751165 accept_connection 3 returned 0 07:51:13.751181 Read 93 bytes 07:51:13.751193 Process 93 bytes request 07:51:13.751207 Got request: GET /verifiedserver HTTP/1.1 07:51:13.751218 Are-we-friendly question received 07:51:13.751245 Wrote request (93 bytes) input to log/19/server.input 07:51:13.751264 Identifying ourselves as friends 07:51:13.751324 Response sent (56 bytes) and written to log/19/server.response 07:51:13.751337 special request received, no persistency 07:51:13.751348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind345 ==95153== ==95153== Process terminating with default action of signal 4 (SIGILL) ==95153== Illegal opcode at address 0x4013DC0 ==95153== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95153== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95153== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95153== by 0x40037A4: main (tool_main.c:199) === End of file valgrind345 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/22/valgrind344 ../src/curl -q --output log/22/curl344.out --include --trace-ascii log/22/trace344 --trace-time http://127.0.0.1:40377/344 --etag-compare log/22/etag344 --etag-save log/22/etag344 > log/22/stdout344 2> log/22/stderr344 344: 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/ dir 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/22/valgrind344 ../src/curl -q --output log/22/curl344.out --include --trace-ascii log/22/trace344 --trace-time http://127.0.0.1:40377/344 --etag-compare log/22/etag344 --etag-save log/22/etag344 > log/22/stdout344 2> log/22/stderr344 === End of file commands.log === Start of file http_server.log 07:51:13.750442 ====> Client connect 07:51:13.750476 accept_connection 3 returned 4 07:51:13.750494 accept_connection 3 returned 0 07:51:13.750508 Read 93 bytes 07:51:13.750518 Process 93 bytes request 07:51:13.750533 Got request: GET /verifiedserver HTTP/1.1 07:51:13.750542 Are-we-friendly question received 07:51:13.750571 Wrote request (93 bytes) input to log/22/server.input 07:51:13.750588 Identifying ourselves as friends 07:51:13.750642 Response sent (56 bytes) and written to log/22/server.response 07:51:13.750652 special request received, no peCMD (33792): ../libtool --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/valgrind346 ../src/curl -q --output log/4/curl346.out --include --trace-ascii log/4/trace346 --trace-time -x http://127.0.0.1:43573/346 -U puser: -u suser: http://remote.example/346 > log/4/stdout346 2> log/4/stderr346 CMD (33792): ../libtool --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/valgrind347 ../src/curl -q --output log/16/curl347.out --include --trace-ascii log/16/trace347 --trace-time http://127.0.0.1:44351/347 --etag-save log/16/etag347 > log/16/stdout347 2> log/16/stderr347 CMD (33792): ../libtool --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/valgrind349 ../src/curl -q --output log/9/curl349.out --include --trace-ascii log/9/trace349 --trace-time http://127.0.0.1:42717/349 --fail-with-body > log/9/stdout349 2> log/9/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/8/valgrind348 ../src/curl -q --output log/8/curl348.out --include --trace-ascii log/8/trace348 --trace-time ftp://127.0.0.1:35961/348 -T log/8/test348.txt > log/8/stdout348 2> log/8/stderr348 rsistency 07:51:13.750661 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind344 ==95147== ==95147== Process terminating with default action of signal 4 (SIGILL) ==95147== Illegal opcode at address 0x4013DC0 ==95147== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95147== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95147== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95147== by 0x40037A4: main (tool_main.c:199) === End of file valgrind344 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/4/valgrind346 ../src/curl -q --output log/4/curl346.out --include --trace-ascii log/4/trace346 --trace-time -x http://127.0.0.1:43573/346 -U puser: -u suser: http://remote.example/346 > log/4/stdout346 2> log/4/stderr346 346: 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/ dir 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/4/valgrind346 ../src/curl -q --output log/4/curl346.out --include --trace-ascii log/4/trace346 --trace-time -x http://127.0.0.1:43573/346 -U puser: -u suser: http://remote.example/346 > log/4/stdout346 2> log/4/stderr346 === End of file commands.log === Start of file http_server.log 07:51:14.757719 ====> Client connect 07:51:14.757745 accept_connection 3 returned 4 07:51:14.757759 accept_connection 3 returned 0 07:51:14.757770 Read 93 bytes 07:51:14.757779 Process 93 bytes request 07:51:14.757788 Got request: GET /verifiedserver HTTP/1.1 07:51:14.757796 Are-we-friendly question received 07:51:14.757814 Wrote request (93 bytes) input to log/4/server.input 07:51:14.757827 Identifying ourselves as friends 07:51:14.757872 Response sent (56 bytes) and written to log/4/server.response 07:51:14.757880 special request received, no persistency 07:51:14.757887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind346 ==95169== ==95169== Process terminating with default action of signal 4 (SIGILL) ==95169== Illegal opcode at address 0x4013DC0 ==95169== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95169== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95169== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95169== by 0x40037A4: main (tool_main.c:199) === End of file valgrind346 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/16/valgrind347 ../src/curl -q --output log/16/curl347.out --include --trace-ascii log/16/trace347 --trace-time http://127.0.0.1:44351/347 --etag-save log/16/etag347 > log/16/stdout347 2> log/16/stderr347 347: 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/ dir 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/16/valgrind347 ../src/curl -q --output log/16/curl347.out --include --trace-ascii log/16/trace347 --trace-time http://127.0.0.1:44351/347 --etag-save log/16/etag347 > log/16/stdout347 2> log/16/stderr347 === End of file commands.log === Start of file http_server.log 07:51:13.849907 ====> Client connect 07:51:13.849942 accept_connection 3 returned 4 07:51:13.849960 accept_connection 3 returned 0 07:51:13.849975 Read 93 bytes 07:51:13.849986 Process 93 bytes request 07:51:13.850000 Got request: GET /verifiedserver HTTP/1.1 07:51:13.850015 Are-we-friendly question received 07:51:13.850042 Wrote request (93 bytes) input to log/16/server.input 07:51:13.850060 Identifying ourselves as friends 07:51:13.850117 Response sent (56 bytes) and written to log/16/server.response 07:51:13.850127 special request received, no persistency 07:51:13.850137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 47680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind347 ==95321== ==95321== Process terminating with default action of signal 4 (SIGILL) ==95321== Illegal opcode at address 0x4013DC0 ==95321== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95321== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95321== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95321== by 0x40037A4: main (tool_main.c:199) === End of file valgrind347 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/9/valgrind349 ../src/curl -q --output log/9/curl349.out --include --trace-ascii log/9/trace349 --trace-time http://127.0.0.1:42717/349 --fail-with-body > log/9/stdout349 2> log/9/stderr349 349: 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/ dir 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/9/valgrind349 ../src/curl -q --output log/9/curl349.out --include --trace-ascii log/9/trace349 --trace-time http://127.0.0.1:42717/349 --fail-with-body > log/9/stdout349 2> log/9/stderr349 === End of file commands.log === Start of file http_server.log 07:51:13.882186 ====> Client connect 07:51:13.882222 accept_connection 3 returned 4 07:51:13.882240 accept_connection 3 returned 0 07:51:13.882255 Read 93 bytes 07:51:13.882266 Process 93 bytes request 07:51:13.882280 Got request: GET /verifiedserver HTTP/1.1 07:51:13.882291 Are-we-friendly question received 07:51:13.882318 Wrote request (93 bytes) input to log/9/server.input 07:51:13.882338 Identifying ourselves as friends 07:51:13.882397 Response sent (56 bytes) and written to log/9/server.response 07:51:13.882409 special request received, no persistency 07:51:13.882419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 54452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind349 ==95379== ==95379== Process terminating with default action of signal 4 (SIGILL) ==95379== Illegal opcode at address 0x4013DC0 ==95379== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95379== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95379== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95379== by 0x40037A4: main (tool_main.c:199) === End of file valgrind349 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/8/valgrind348 ../src/curl -q --output log/8/curl348.out --include --trace-ascii log/8/trace348 --trace-time ftp://127.0.0.1:35961/348 -T log/8/test348.txt > log/8/stdout348 2> log/8/stderr348 348: 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/ dir 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/8/valgrind348 ../src/curl -q --output log/8/curl348.out --include --trace-ascii log/8/trace348 --trace-time ftp://127.0.0.1:35961/348 -T log/8/test348.txt > log/8/stdout348 2> log/8/stderr348 === End of file commands.log === Start of file ftp_server.log 07:51:14.051985 ====> Client connect 07:51:14.052141 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:14.052449 < "USER anonymous" 07:51:14.052490 > "331 We are happy you popped in![CR][LF]" 07:51:14.052860 < "PASS ftp@example.com" 07:51:14.052887 > "230 Welcome you silly person[CR][LF]" 07:51:14.054453 < "PWD" 07:51:14.054642 > "257 "/" is current directory[CR][LF]" 07:51:14.055010 < "EPSV" 07:51:14.055353 ====> Passive DATA channel requested by client 07:51:14.055371 DATA sockfilt for passive data channel starting... 07:51:14.057252 DATA sockfilt for passive data channel started (pid 95371) 07:51:14.057358 DATA sockfilt for passive data channel listens on port 36577 07:51:14.057398 > "229 Entering Passive Mode (|||36577|)[CR][LF]" 07:51:14.057414 Client has been notified that DATA conn will be accepted on port 36577 07:51:14.057636 Client connects to port 36577 07:51:14.057662 ====> Client established passive DATA connection on port 36577 07:51:14.057734 < "TYPE I" 07:51:14.057757 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:14.057908 < "SIZE verifiedserver" 07:51:14.057947 > "213 17[CR][LF]" 07:51:14.058094 < "RETR verifiedserver" 07:51:14.058121 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:14.058204 =====> Closing passive DATA connection... 07:51:14.058221 Server disconnects passive DATA connection 07:51:14.058457 Server disconnected passive DATA connection 07:51:14.058484 DATA sockfilt for passive data channel quits (pid 95371) 07:51:14.058717 DATA sockfilt for passive data channel quit (pid 95371) 07:51:14.058741 =====> Closed passive DATA connection 07:51:14.058768 > "226 File transfer complete[CR][LF]" 07:51:14.104881 < "QUIT" 07:51:14.104932 > "221 bye bye baby[CR][LF]" 07:51:14.105735 MAIN sockfilt said DISC 07:51:14.105772 ====> Client disconnected 07:51:14.105844 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.879829 ====> Client connect 07:51:13.880107 Received DATA (on stdin) 07:51:13.880124 > 160 bytes data, server => client 07:51:13.880137 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.880149 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.880161 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.880243 < 16 bytes data, client => server 07:51:13.880257 'USER anonymous\r\n' 07:51:13.880419 Received DATA (on stdin) 07:51:13.880431 > 33 bytes data, server => client 07:51:13.880443 '331 We are happy you popped in!\r\n' 07:51:13.880489 < 22 bytes data, client => server 07:51:13.880502 'PASS ftp@example.com\r\n' 07:51:13.880816 Received DATA (on stdin) 07:51:13.880828 > 30 bytes data, server => client 07:51:13.880840 '230 Welcome you silly person\r\n' 07:51:13.880884 < 5 bytes data, client => server 07:51:13.880898 'PWD\r\n' 07:51:13.882572 Received DATA (on stdin) 07:51:13.882592 > 30 bytes data, server => client 07:51:13.882604 '257 "/" is current directory\r\n' 07:51:13.882666 < 6 bytes data, client => server 07:51:13.882679 'EPSV\r\n' 07:51:13.885365 Received DATA (on stdin) 07:51:13.885380 > 39 bytes data, server => client 07:51:13.885393 '229 Entering Passive Mode (|||36577|)\r\n' 07:51:13.885530 < 8 bytes data, client => server 07:51:13.885542 'TYPE I\r\n' 07:51:13.885704 Received DATA (on stdin) 07:51:13.885716 > 33 bytes data, server => client 07:51:13.885728 '200 I modify TYPE as you wanted\r\n' 07:51:13.885776 < 21 bytes data, client => server 07:51:13.885788 'SIZE verifiedserver\r\n' 07:51:13.885893 Received DATA (on stdin) 07:51:13.885905 > 8 bytes data, server => client 07:51:13.885916 '213 17\r\n' 07:51:13.885962 < 21 bytes data, client => server 07:51:13.885974 'RETR verifiedserver\r\n' 07:51:13.886171 Received DATA (on stdin) 07:51:13.886183 > 29 bytes data, server => client 07:51:13.886195 '150 Binary junk (17 bytes).\r\n' 07:51:13.886717 Received DATA (on stdin) 07:51:13.886731 > 28 bytes data, server => client 07:51:13.886743 '226 File transfer complete\r\n' 07:51:13.932628 < 6 bytes data, client => server 07:51:13.932653 'QUIT\r\n' 07:51:13.932887 Received DATA (on stdin) 07:51:13.932901 > 18 bytes data, server => client 07:51:13.932913 '221 bye bye baby\r\n' 07:51:13.933625 ====> Client disconnect 07:51:13.933791 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:14.884849 Running IPv4 version 07:51:14.884917 Listening on port 36577 07:51:14.884954 Wrote pid 95371 to log/8/server/ftp_sockdata.pid 07:51:14.885144 Received PING (on stdin) 07:51:14.885224 Received PORT (on stdin) 07:51:14.885503 ====> Client connect 07:51:14.886221 Received DATA (on stdin) 07:51:14.886235 > 17 bytes data, server => client 07:51:14.886247 'WE ROOLZ: 80636\r\n' 07:51:14.886270 Received DISC (on stdin) 07:51:14.886282 ====> Client forcibly disconnected 07:51:14.886439 Received QUIT (on stdin) 07:51:14.886451 quits 07:51:14.886506 ============> 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 CMD (33792): ../libtool --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/valgrind350 ../src/curl -q --output log/15/curl350.out --include --trace-ascii log/15/trace350 --trace-time ftp://127.0.0.1:38789// --ftp-method multicwd > log/15/stdout350 2> log/15/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/3/valgrind355 ../src/curl -q --output log/3/curl355.out --include --trace-ascii log/3/trace355 --trace-time http://127.0.0.1:34059/355 --alt-svc "" > log/3/stdout355 2> log/3/stderr355 test348.txt data to see that FTP works so does it? === End of file test348.txt === Start of file valgrind348 ==95516== ==95516== Process terminating with default action of signal 4 (SIGILL) ==95516== Illegal opcode at address 0x4013DC0 ==95516== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95516== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95516== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95516== by 0x40037A4: main (tool_main.c:199) === End of file valgrind348 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/15/valgrind350 ../src/curl -q --output log/15/curl350.out --include --trace-ascii log/15/trace350 --trace-time ftp://127.0.0.1:38789// --ftp-method multicwd > log/15/stdout350 2> log/15/stderr350 350: 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/ dir 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/15/valgrind350 ../src/curl -q --output log/15/curl350.out --include --trace-ascii log/15/trace350 --trace-time ftp://127.0.0.1:38789// --ftp-method multicwd > log/15/stdout350 2> log/15/stderr350 === End of file commands.log === Start of file ftp_server.log 07:51:14.087605 ====> Client connect 07:51:14.087795 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:14.088110 < "USER anonymous" 07:51:14.088150 > "331 We are happy you popped in![CR][LF]" 07:51:14.088328 < "PASS ftp@example.com" 07:51:14.088354 > "230 Welcome you silly person[CR][LF]" 07:51:14.088504 < "PWD" 07:51:14.088538 > "257 "/" is current directory[CR][LF]" 07:51:14.088705 < "EPSV" 07:51:14.088730 ====> Passive DATA channel requested by client 07:51:14.088744 DATA sockfilt for passive data channel starting... 07:51:14.090684 DATA sockfilt for passive data channel started (pid 95440) 07:51:14.090799 DATA sockfilt for passive data channel listens on port 36677 07:51:14.090840 > "229 Entering Passive Mode (|||36677|)[CR][LF]" 07:51:14.090860 Client has been notified that DATA conn will be accepted on port 36677 07:51:14.091099 Client connects to port 36677 07:51:14.091130 ====> Client established passive DATA connection on port 36677 07:51:14.091206 < "TYPE I" 07:51:14.091235 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:14.091403 < "SIZE verifiedserver" 07:51:14.091432 > "213 17[CR][LF]" 07:51:14.091583 < "RETR verifiedserver" 07:51:14.091618 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:14.091702 =====> Closing passive DATA connection... 07:51:14.091716 Server disconnects passive DATA connection 07:51:14.091918 Server disconnected passive DATA connection 07:51:14.091947 DATA sockfilt for passive data channel quits (pid 95440) 07:51:14.092153 DATA sockfilt for passive data channel quit (pid 95440) 07:51:14.092180 =====> Closed passive DATA connection 07:51:14.092213 > "226 File transfer complete[CR][LF]" 07:51:14.135532 < "QUIT" 07:51:14.135584 > "221 bye bye baby[CR][LF]" 07:51:14.135899 MAIN sockfilt said DISC 07:51:14.135932 ====> Client disconnected 07:51:14.135999 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.915455 ====> Client connect 07:51:13.915758 Received DATA (on stdin) 07:51:13.915776 > 160 bytes data, server => client 07:51:13.915790 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.915803 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.915813 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.915911 < 16 bytes data, client => server 07:51:13.915926 'USER anonymous\r\n' 07:51:13.916102 Received DATA (on stdin) 07:51:13.916116 > 33 bytes data, server => client 07:51:13.916128 '331 We are happy you popped in!\r\n' 07:51:13.916181 < 22 bytes data, client => server 07:51:13.916193 'PASS ftp@example.com\r\n' 07:51:13.916302 Received DATA (on stdin) 07:51:13.916314 > 30 bytes data, server => client 07:51:13.916324 '230 Welcome you silly person\r\n' 07:51:13.916369 < 5 bytes data, client => server 07:51:13.916380 'PWD\r\n' 07:51:13.916485 Received DATA (on stdin) 07:51:13.916498 > 30 bytes data, server => client 07:51:13.916509 '257 "/" is current directory\r\n' 07:51:13.916568 < 6 bytes data, client => server 07:51:13.916581 'EPSV\r\n' 07:51:13.918813 Received DATA (on stdin) 07:51:13.918828 > 39 bytes data, server => client 07:51:13.918840 '229 Entering Passive Mode (|||36677|)\r\n' 07:51:13.918960 < 8 bytes data, client => server 07:51:13.918977 'TYPE I\r\n' 07:51:13.919192 Received DATA (on stdin) 07:51:13.919206 > 33 bytes data, server => client 07:51:13.919218 '200 I modify TYPE as you wanted\r\n' 07:51:13.919271 < 21 bytes data, client => server 07:51:13.919284 'SIZE verifiedserver\r\n' 07:51:13.919375 Received DATA (on stdin) 07:51:13.919385 > 8 bytes data, server => client 07:51:13.919394 '213 17\r\n' 07:51:13.919440 < 21 bytes data, client => server 07:51:13.919454 'RETR verifiedserver\r\n' 07:51:13.919663 Received DATA (on stdin) 07:51:13.919674 > 29 bytes data, server => client 07:51:13.919683 '150 Binary junk (17 bytes).\r\n' 07:51:13.920164 Received DATA (on stdin) 07:51:13.920178 > 28 bytes data, server => client 07:51:13.920190 '226 File transfer complete\r\n' 07:51:13.963318 < 6 bytes data, client => server 07:51:13.963344 'QUIT\r\n' 07:51:13.963536 Received DATA (on stdin) 07:51:13.963568 > 18 bytes data, server => client 07:51:13.963581 '221 bye bye baby\r\n' 07:51:13.963789 ====> Client disconnect 07:51:13.963948 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:14.918440 Running IPv4 version 07:51:14.918495 Listening on port 36677 07:51:14.918549 Wrote pid 95440 to log/15/server/ftp_sockdata.pid 07:51:14.918572 Received PING (on stdin) 07:51:14.918659 Received PORT (on stdin) 07:51:14.918998 ====> Client connect 07:51:14.919706 Received DATA (on stdin) 07:51:14.919718 > 17 bytes data, server => client 07:51:14.919727 'WE ROOLZ: 80326\r\n' 07:51:14.919746 Received DISC (on stdin) 07:51:14.919756 ====> Client forcibly disconnected 07:51:14.919907 Received QUIT (on stdin) 07:51:14.919921 quits 07:51:14.919974 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==95569== ==95569== Process terminating with default action of signal 4 (SIGILL) ==95569== Illegal opcode at address 0x4013DC0 ==95569== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95569== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95569== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95569== by 0x40037A4: main (tool_main.c:199) === End of file valgrind350 test 0355...[load Alt-Svc from file and use] ../libtool --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/valgrind355 ../src/curl -q --output log/3/curl355.out --include --trace-ascii log/3/trace355 --trace-time http://127.0.0.1:34059/355 --alt-svc "" > log/3/stdout355 2> log/3/stderr355 355: 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/ dir after test 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 34059 "20290222 22:19:28" 0 0 === End of file altsvc-355 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --CMD (33792): ../libtool --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/valgrind352 ../src/curl -q --output log/18/curl352.out --include --trace-ascii log/18/trace352 --trace-time ftp://127.0.0.1:34455// --ftp-method singlecwd > log/18/stdout352 2> log/18/stderr352 num-callers=16 --log-file=log/3/valgrind355 ../src/curl -q --output log/3/curl355.out --include --trace-ascii log/3/trace355 --trace-time http://127.0.0.1:34059/355 --alt-svc "" > log/3/stdout355 2> log/3/stderr355 === End of file commands.log === Start of file http_server.log 07:51:14.957525 ====> Client connect 07:51:14.957551 accept_connection 3 returned 4 07:51:14.957565 accept_connection 3 returned 0 07:51:14.957578 Read 93 bytes 07:51:14.957587 Process 93 bytes request 07:51:14.957599 Got request: GET /verifiedserver HTTP/1.1 07:51:14.957607 Are-we-friendly question received 07:51:14.957626 Wrote request (93 bytes) input to log/3/server.input 07:51:14.957645 Identifying ourselves as friends 07:51:14.957700 Response sent (56 bytes) and written to log/3/server.response 07:51:14.957712 special request received, no persistency 07:51:14.957723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === End of file http_verify.out === Start of file server.cmd Testnum 355 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74873 === End of file server.response === Start of file valgrind355 ==95558== ==95558== Process terminating with default action of signal 4 (SIGILL) ==95558== Illegal opcode at address 0x4013DC0 ==95558== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95558== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95558== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95558== by 0x40037A4: main (tool_main.c:199) === End of file valgrind355 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/18/valgrind352 ../src/curl -q --output log/18/curl352.out --include --trace-ascii log/18/trace352 --trace-time ftp://127.0.0.1:34455// --ftp-method singlecwd > log/18/stdout352 2> log/18/stderr352 352: 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/ dir 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/18/valgrind352 ../src/curl -q --output log/18/curl352.out --include --trace-ascii log/18/trace352 --trace-time ftp://127.0.0.1:34455// --ftp-method singlecwd > log/18/stdout352 2> log/18/stderr352 === End of file commands.log === Start of file ftp_server.log 07:51:14.107481 ====> Client connect 07:51:14.107599 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:14.107825 < "USER anonymous" 07:51:14.107854 > "331 We are happy you popped in![CR][LF]" 07:51:14.108011 < "PASS ftp@example.com" 07:51:14.108037 > "230 Welcome you silly person[CR][LF]" 07:51:14.108162 < "PWD" 07:51:14.108196 > "257 "/" is current directory[CR][LF]" 07:51:14.108381 < "EPSV" 07:51:14.108412 ====> Passive DATA channel requested by client 07:51:14.108428 DATA sockfilt for passive data channel starting... 07:51:14.109801 DATA sockfilt for passive data channel started (pid 95510) 07:51:14.109891 DATA sockfilt for passive data channel listens on port 43479 07:51:14.109922 > "229 Entering Passive Mode (|||43479|)[CR][LF]" 07:51:14.109937 Client has been notified that DATA conn will be accepted on port 43479 07:51:14.110122 Client connects to port 43479 07:51:14.110147 ====> Client established passive DATA connection on port 43479 07:51:14.110204 < "TYPE I" 07:51:14.110225 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:14.110353 < "SIZE verifiedserver" 07:51:14.110383 > "213 17[CR][LF]" 07:51:14.110501 < "RETR verifiedserver" 07:51:14.110528 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:14.110595 =====> Closing passive DATA connection... 07:51:14.110607 Server disconnects passive DATA connection 07:51:14.110794 Server disconnected passive DATA connection 07:51:14.110816 DATA sockfilt for passive data channel quits (pid 95510) 07:51:14.110976 DATA sockfilt for passive data channel quit (pid 95510) 07:51:14.110995 =====> Closed passive DATA connection 07:51:14.111016 > "226 File transfer complete[CR][LF]" 07:51:14.155113 < "QUIT" 07:51:14.155171 > "221 bye bye baby[CR][LF]" 07:51:14.155883 MAIN sockfilt said DISC 07:51:14.155931 ====> Client disconnected 07:51:14.156003 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:14.935340 ====> Client connect 07:51:14.935543 Received DATA (on stdin) 07:51:14.935557 > 160 bytes data, server => client 07:51:14.935567 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:14.935577 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:14.935585 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:14.935643 < 16 bytes data, client => server 07:51:14.935653 'USER anonymous\r\n' 07:51:14.935799 Received DATA (on stdin) 07:51:14.935810 > 33 bytes data, server => client 07:51:14.935819 '331 We are happy you popped in!\r\n' 07:51:14.935873 < 22 bytes data, client => server 07:51:14.935883 'PASS ftp@example.com\r\n' 07:51:14.935980 Received DATA (on stdin) 07:51:14.935990 > 30 bytes data, server => client 07:51:14.936000 '230 Welcome you silly person\r\n' 07:51:14.936038 < 5 bytes data, client => server 07:51:14.936047 'PWD\r\n' 07:51:14.936146 Received DATA (on stdin) 07:51:14.936160 > 30 bytes data, server => client 07:51:14.936172 '257 "/" is current directory\r\n' 07:51:14.936233 < 6 bytes data, client => server 07:51:14.936247 'EPSV\r\n' 07:51:14.937884 Received DATA (on stdin) 07:51:14.937896 > 39 bytes data, server => client 07:51:14.937906 '229 Entering Passive Mode (|||43479|)\r\n' 07:51:14.938021 < 8 bytes data, client => server 07:51:14.938031 'TYPE I\r\n' 07:51:14.938172 Received DATA (on stdin) 07:51:14.938183 > 33 bytes data, server => client 07:51:14.938192 '200 I modify TYPE as you wanted\r\n' 07:51:14.938231 < 21 bytes data, client => server 07:51:14.938240 'SIZE verifiedserver\r\n' 07:51:14.938326 Received DATA (on stdin) 07:51:14.938336 > 8 bytes data, server => client 07:51:14.938345 '213 17\r\n' 07:51:14.938381 < 21 bytes data, client => server 07:51:14.938390 'RETR verifiedserver\r\n' 07:51:14.938553 Received DATA (on stdin) 07:51:14.938563 > 29 bytes data, server => client 07:51:14.938572 '150 Binary junk (17 bytes).\r\n' 07:51:14.938960 Received DATA (on stdin) 07:51:14.938972 > 28 bytes data, server => client 07:51:14.938981 '226 File transfer complete\r\n' 07:51:14.982868 < 6 bytes data, client => server 07:51:14.982901 'QUIT\r\n' 07:51:14.983129 Received DATA (on stdin) 07:51:14.983145 > 18 bytes data, server => client 07:51:14.983158 '221 bye bye baby\r\n' 07:51:14.983760 ====> Client disconnect 07:51:14.983952 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:14.937602 Running IPv4 version 07:51:14.937651 Listening on port 43479 07:51:14.937679 Wrote pid 95510 to log/18/server/ftp_sockdata.pid 07:51:14.937697 Received PING (on stdin) 07:51:14.937765 Received PORT (on stdin) 07:51:14.937998 ====> Client connect 07:51:14.938592 Received DATA (on stdin) 07:51:14.938603 > 17 bytes data, server => client 07:51:14.938613 'WE ROOLZ: 80643\r\n' 07:51:14.938632 Received DISC (on stdin) 07:51:14.938642 ====> 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/23/valgrind351 ../src/curl -q --output log/23/curl351.out --include --trace-ascii log/23/trace351 --trace-time ftp://127.0.0.1:39237// --ftp-method nocwd > log/23/stdout351 2> log/23/stderr351 CMD (33792): ../libtool --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/valgrind354 ../src/curl -q --output log/6/curl354.out --include --trace-ascii log/6/trace354 --trace-time ftp://127.0.0.1:41051/354 > log/6/stdout354 2> log/6/stderr354 t forcibly disconnected 07:51:14.938765 Received QUIT (on stdin) 07:51:14.938776 quits 07:51:14.938819 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==95650== ==95650== Process terminating with default action of signal 4 (SIGILL) ==95650== Illegal opcode at address 0x4013DC0 ==95650== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95650== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95650== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95650== by 0x40037A4: main (tool_main.c:199) === End of file valgrind352 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/23/valgrind351 ../src/curl -q --output log/23/curl351.out --include --trace-ascii log/23/trace351 --trace-time ftp://127.0.0.1:39237// --ftp-method nocwd > log/23/stdout351 2> log/23/stderr351 351: 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/ dir 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/23/valgrind351 ../src/curl -q --output log/23/curl351.out --include --trace-ascii log/23/trace351 --trace-time ftp://127.0.0.1:39237// --ftp-method nocwd > log/23/stdout351 2> log/23/stderr351 === End of file commands.log === Start of file ftp_server.log 07:51:14.103241 ====> Client connect 07:51:14.103401 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:14.103718 < "USER anonymous" 07:51:14.103762 > "331 We are happy you popped in![CR][LF]" 07:51:14.103955 < "PASS ftp@example.com" 07:51:14.103984 > "230 Welcome you silly person[CR][LF]" 07:51:14.104168 < "PWD" 07:51:14.104203 > "257 "/" is current directory[CR][LF]" 07:51:14.104404 < "EPSV" 07:51:14.104430 ====> Passive DATA channel requested by client 07:51:14.104446 DATA sockfilt for passive data channel starting... 07:51:14.106235 DATA sockfilt for passive data channel started (pid 95499) 07:51:14.106344 DATA sockfilt for passive data channel listens on port 37123 07:51:14.106382 > "229 Entering Passive Mode (|||37123|)[CR][LF]" 07:51:14.106401 Client has been notified that DATA conn will be accepted on port 37123 07:51:14.106625 Client connects to port 37123 07:51:14.106652 ====> Client established passive DATA connection on port 37123 07:51:14.106728 < "TYPE I" 07:51:14.106755 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:14.106925 < "SIZE verifiedserver" 07:51:14.106976 > "213 17[CR][LF]" 07:51:14.107175 < "RETR verifiedserver" 07:51:14.107213 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:14.107313 =====> Closing passive DATA connection... 07:51:14.107333 Server disconnects passive DATA connection 07:51:14.107428 Server disconnected passive DATA connection 07:51:14.107499 DATA sockfilt for passive data channel quits (pid 95499) 07:51:14.108000 DATA sockfilt for passive data channel quit (pid 95499) 07:51:14.108037 =====> Closed passive DATA connection 07:51:14.108079 > "226 File transfer complete[CR][LF]" 07:51:14.148244 < "QUIT" 07:51:14.148297 > "221 bye bye baby[CR][LF]" 07:51:14.149050 MAIN sockfilt said DISC 07:51:14.149091 ====> Client disconnected 07:51:14.149158 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.931072 ====> Client connect 07:51:13.931368 Received DATA (on stdin) 07:51:13.931388 > 160 bytes data, server => client 07:51:13.931403 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.931417 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.931429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.931511 < 16 bytes data, client => server 07:51:13.931529 'USER anonymous\r\n' 07:51:13.931718 Received DATA (on stdin) 07:51:13.931734 > 33 bytes data, server => client 07:51:13.931747 '331 We are happy you popped in!\r\n' 07:51:13.931805 < 22 bytes data, client => server 07:51:13.931821 'PASS ftp@example.com\r\n' 07:51:13.931935 Received DATA (on stdin) 07:51:13.931950 > 30 bytes data, server => client 07:51:13.931963 '230 Welcome you silly person\r\n' 07:51:13.932017 < 5 bytes data, client => server 07:51:13.932033 'PWD\r\n' 07:51:13.932156 Received DATA (on stdin) 07:51:13.932172 > 30 bytes data, server => client 07:51:13.932189 '257 "/" is current directory\r\n' 07:51:13.932255 < 6 bytes data, client => server 07:51:13.932271 'EPSV\r\n' 07:51:13.934352 Received DATA (on stdin) 07:51:13.934366 > 39 bytes data, server => client 07:51:13.934378 '229 Entering Passive Mode (|||37123|)\r\n' 07:51:13.934518 < 8 bytes data, client => server 07:51:13.934531 'TYPE I\r\n' 07:51:13.934702 Received DATA (on stdin) 07:51:13.934715 > 33 bytes data, server => client 07:51:13.934727 '200 I modify TYPE as you wanted\r\n' 07:51:13.934775 < 21 bytes data, client => server 07:51:13.934787 'SIZE verifiedserver\r\n' 07:51:13.934933 Received DATA (on stdin) 07:51:13.934950 > 8 bytes data, server => client 07:51:13.934962 '213 17\r\n' 07:51:13.935024 < 21 bytes data, client => server 07:51:13.935039 'RETR verifiedserver\r\n' 07:51:13.935288 Received DATA (on stdin) 07:51:13.935303 > 29 bytes data, server => client 07:51:13.935315 '150 Binary junk (17 bytes).\r\n' 07:51:13.936040 Received DATA (on stdin) 07:51:13.936061 > 28 bytes data, server => client 07:51:13.936073 '226 File transfer complete\r\n' 07:51:13.976022 < 6 bytes data, client => server 07:51:13.976049 'QUIT\r\n' 07:51:13.976247 Received DATA (on stdin) 07:51:13.976277 > 18 bytes data, server => client 07:51:13.976291 '221 bye bye baby\r\n' 07:51:13.976938 ====> Client disconnect 07:51:13.977114 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:14.933874 Running IPv4 version 07:51:14.933931 Listening on port 37123 07:51:14.933966 Wrote pid 95499 to log/23/server/ftp_sockdata.pid 07:51:14.934117 Received PING (on stdin) 07:51:14.934208 Received PORT (on stdin) 07:51:14.934491 ====> Client connect 07:51:14.935179 Received DATA (on stdin) 07:51:14.935192 > 17 bytes data, server => client 07:51:14.935204 'WE ROOLZ: 82431\r\n' 07:51:14.935312 Received DISC (on stdin) 07:51:14.935326 ====> Client forcibly disconnected 07:51:14.935483 Received QUIT (on stdin) 07:51:14.935505 quits 07:51:14.935722 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==95623== ==95623== Process terminating with default action of signal 4 (SIGILL) ==95623== Illegal opcode at address 0x4013DC0 ==95623== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95623== by 0x40037A4: main (tool_main.c:199) === End of file valgrind351 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/6/valgrind354 ../src/curl -q --output log/6/curl354.out --include --trace-ascii log/6/trace354 --trace-time ftp://127.0.0.1:41051/354 > log/6/stdout354 2> log/6/stderr354 354: 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/ dir 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-callersCMD (33792): ../libtool --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:47416//332 --tftp-blksize 400 > log/21/stdout332 2> log/21/stderr332 CMD (33792): ../libtool --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/valgrind360 ../src/curl -q --output log/13/curl360.out --include --trace-ascii log/13/trace360 --trace-time http://127.0.0.1:35041/360 --fail-with-body --fail --no-progress-meter > log/13/stdout360 2> log/13/stderr360 =16 --log-file=log/6/valgrind354 ../src/curl -q --output log/6/curl354.out --include --trace-ascii log/6/trace354 --trace-time ftp://127.0.0.1:41051/354 > log/6/stdout354 2> log/6/stderr354 === End of file commands.log === Start of file ftp_server.log 07:51:14.110637 ====> Client connect 07:51:14.110792 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:14.111105 < "USER anonymous" 07:51:14.111146 > "331 We are happy you popped in![CR][LF]" 07:51:14.111366 < "PASS ftp@example.com" 07:51:14.111398 > "230 Welcome you silly person[CR][LF]" 07:51:14.111588 < "PWD" 07:51:14.111624 > "257 "/" is current directory[CR][LF]" 07:51:14.111822 < "EPSV" 07:51:14.111850 ====> Passive DATA channel requested by client 07:51:14.111867 DATA sockfilt for passive data channel starting... 07:51:14.113150 DATA sockfilt for passive data channel started (pid 95512) 07:51:14.113235 DATA sockfilt for passive data channel listens on port 40297 07:51:14.113270 > "229 Entering Passive Mode (|||40297|)[CR][LF]" 07:51:14.113285 Client has been notified that DATA conn will be accepted on port 40297 07:51:14.113463 Client connects to port 40297 07:51:14.113486 ====> Client established passive DATA connection on port 40297 07:51:14.113546 < "TYPE I" 07:51:14.113565 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:14.113688 < "SIZE verifiedserver" 07:51:14.113716 > "213 17[CR][LF]" 07:51:14.113832 < "RETR verifiedserver" 07:51:14.113857 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:14.113919 =====> Closing passive DATA connection... 07:51:14.113931 Server disconnects passive DATA connection 07:51:14.114113 Server disconnected passive DATA connection 07:51:14.114136 DATA sockfilt for passive data channel quits (pid 95512) 07:51:14.114300 DATA sockfilt for passive data channel quit (pid 95512) 07:51:14.114318 =====> Closed passive DATA connection 07:51:14.114339 > "226 File transfer complete[CR][LF]" 07:51:14.158174 < "QUIT" 07:51:14.158226 > "221 bye bye baby[CR][LF]" 07:51:14.159192 MAIN sockfilt said DISC 07:51:14.159240 ====> Client disconnected 07:51:14.159306 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:13.938485 ====> Client connect 07:51:13.938760 Received DATA (on stdin) 07:51:13.938781 > 160 bytes data, server => client 07:51:13.938795 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:13.938809 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:13.938821 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:13.938898 < 16 bytes data, client => server 07:51:13.938916 'USER anonymous\r\n' 07:51:13.939100 Received DATA (on stdin) 07:51:13.939115 > 33 bytes data, server => client 07:51:13.939128 '331 We are happy you popped in!\r\n' 07:51:13.939190 < 22 bytes data, client => server 07:51:13.939221 'PASS ftp@example.com\r\n' 07:51:13.939350 Received DATA (on stdin) 07:51:13.939365 > 30 bytes data, server => client 07:51:13.939378 '230 Welcome you silly person\r\n' 07:51:13.939436 < 5 bytes data, client => server 07:51:13.939452 'PWD\r\n' 07:51:13.939577 Received DATA (on stdin) 07:51:13.939592 > 30 bytes data, server => client 07:51:13.939606 '257 "/" is current directory\r\n' 07:51:13.939670 < 6 bytes data, client => server 07:51:13.939687 'EPSV\r\n' 07:51:13.941231 Received DATA (on stdin) 07:51:13.941243 > 39 bytes data, server => client 07:51:13.941253 '229 Entering Passive Mode (|||40297|)\r\n' 07:51:13.941362 < 8 bytes data, client => server 07:51:13.941373 'TYPE I\r\n' 07:51:13.941508 Received DATA (on stdin) 07:51:13.941518 > 33 bytes data, server => client 07:51:13.941527 '200 I modify TYPE as you wanted\r\n' 07:51:13.941565 < 21 bytes data, client => server 07:51:13.941575 'SIZE verifiedserver\r\n' 07:51:13.941658 Received DATA (on stdin) 07:51:13.941668 > 8 bytes data, server => client 07:51:13.941677 '213 17\r\n' 07:51:13.941713 < 21 bytes data, client => server 07:51:13.941722 'RETR verifiedserver\r\n' 07:51:13.941875 Received DATA (on stdin) 07:51:13.941885 > 29 bytes data, server => client 07:51:13.941894 '150 Binary junk (17 bytes).\r\n' 07:51:13.942283 Received DATA (on stdin) 07:51:13.942295 > 28 bytes data, server => client 07:51:13.942304 '226 File transfer complete\r\n' 07:51:13.985993 < 6 bytes data, client => server 07:51:13.986019 'QUIT\r\n' 07:51:13.986182 Received DATA (on stdin) 07:51:13.986200 > 18 bytes data, server => client 07:51:13.986213 '221 bye bye baby\r\n' 07:51:13.987082 ====> Client disconnect 07:51:13.987257 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:14.940958 Running IPv4 version 07:51:14.941001 Listening on port 40297 07:51:14.941031 Wrote pid 95512 to log/6/server/ftp_sockdata.pid 07:51:14.941048 Received PING (on stdin) 07:51:14.941115 Received PORT (on stdin) 07:51:14.941339 ====> Client connect 07:51:14.941914 Received DATA (on stdin) 07:51:14.941925 > 17 bytes data, server => client 07:51:14.941935 'WE ROOLZ: 81211\r\n' 07:51:14.941953 Received DISC (on stdin) 07:51:14.941962 ====> Client forcibly disconnected 07:51:14.942088 Received QUIT (on stdin) 07:51:14.942098 quits 07:51:14.942141 ============> 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 ==95655== ==95655== Process terminating with default action of signal 4 (SIGILL) ==95655== Illegal opcode at address 0x4013DC0 ==95655== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95655== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95655== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95655== by 0x40037A4: main (tool_main.c:199) === End of file valgrind354 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 94346 port 47416 * pid tftp => 94346 94346 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-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:47416//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/ dir 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:47416//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 07:51:13.064261 Wrote pid 94346 to log/21/server/tftp_server.pid 07:51:13.064322 Wrote port 47416 to log/21/server/tftp_server.port 07:51:13.064336 Running IPv4 version on port UDP/47416 === End of file tftp_server.log === Start of file valgrind332 ==95827== ==95827== Process terminating with default action of signal 4 (SIGILL) ==95827== Illegal opcode at address 0x4013DC0 ==95827== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95827== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95827== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95827== by 0x40037A4: main (tool_main.c:199) === End of file valgrind332 CMD (33792): ../libtool --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/valgrind357 ../src/curl -q --output log/5/curl357.out --include --trace-ascii log/5/trace357 --trace-time http://127.0.0.1:42797/we/want/357 -T log/5/test357.txt --expect100-timeout 99 > log/5/stdout357 2> log/5/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/13/valgrind360 ../src/curl -q --output log/13/curl360.out --include --trace-ascii log/13/trace360 --trace-time http://127.0.0.1:35041/360 --fail-with-body --fail --no-progress-meter > log/13/stdout360 2> log/13/stderr360 360: stderr FAILED: --- log/13/check-expected 2025-11-07 07:51:15.270706852 +0000 +++ log/13/check-generated 2025-11-07 07:51:15.270706852 +0000 @@ -1 +0,0 @@ -Warning: --fail deselects --fail-with-body here[CR][LF] == Contents of files in the log/13/ dir 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/13/valgrind360 ../src/curl -q --output log/13/curl360.out --include --trace-ascii log/13/trace360 --trace-time http://127.0.0.1:35041/360 --fail-with-body --fail --no-progress-meter > log/13/stdout360 2> log/13/stderr360 === End of file commands.log === Start of file http_server.log 07:51:14.086123 ====> Client connect 07:51:14.086157 accept_connection 3 returned 4 07:51:14.086173 accept_connection 3 returned 0 07:51:14.086189 Read 93 bytes 07:51:14.086200 Process 93 bytes request 07:51:14.086213 Got request: GET /verifiedserver HTTP/1.1 07:51:14.086223 Are-we-friendly question received 07:51:14.086250 Wrote request (93 bytes) input to log/13/server.input 07:51:14.086267 Identifying ourselves as friends 07:51:14.086321 Response sent (56 bytes) and written to log/13/server.response 07:51:14.086332 special request received, no persistency 07:51:14.086342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 33934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind360 ==95913== ==95913== Process terminating with default action of signal 4 (SIGILL) ==95913== Illegal opcode at address 0x4013DC0 ==95913== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95913== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95913== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95913== by 0x40037A4: main (tool_main.c:199) === End of file valgrind360 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/5/valgrind357 ../src/curl -q --output log/5/curl357.out --include --trace-ascii log/5/trace357 --trace-time http://127.0.0.1:42797/we/want/357 -T log/5/test357.txt --expect100-timeout 99 > log/5/stdout357 2> log/5/stderr357 357: 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/ dir 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/5/valgrind357 ../src/curl -q --output log/5/curl357.out --include --trace-ascii log/5/trace357 --trace-time http://127.0.0.1:42797/we/want/357 -T log/5/test357.txt --expect100-timeout 99 > log/5/stdout357 2> log/5/stderr357 === End of file commands.log === Start of file http_server.log 07:51:14.072854 ====> Client connect 07:51:14.072889 accept_connection 3 returned 4 07:51:14.072909 accept_connection 3 returned 0 07:51:14.072926 Read 93 bytes 07:51:14.072938 Process 93 bytes request 07:51:14.072954 Got request: GET /verifiedserver HTTP/1.1 07:51:14.072965 Are-we-friendly question received 07:51:14.072991 Wrote request (93 bytes) input to log/5/server.input 07:51:14.073010 Identifying ourselves as friends 07:51:14.073070 Response sent (56 bytes) and written to log/5/server.response 07:51:14.073082 special request received, no persistency 07:51:14.073093 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --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/valgrind361 ../src/curl -q --output log/20/curl361.out --include --trace-ascii log/20/trace361 --trace-time http://127.0.0.1:40357/361 http://127.0.0.1:40357/361 --fail-with-body > log/20/stdout361 2> log/20/stderr361 CMD (33792): ../libtool --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/valgrind362 ../src/curl -q --output log/17/curl362.out --include --trace-ascii log/17/trace362 --trace-time ftp://127.0.0.1:44771/362 -T log/17/test362.txt --continue-at - > log/17/stdout362 2> log/17/stderr362 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==95924== ==95924== Process terminating with default action of signal 4 (SIGILL) ==95924== Illegal opcode at address 0x4013DC0 ==95924== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==95924== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95924== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==95924== by 0x40037A4: main (tool_main.c:199) === End of file valgrind357 test 0361...[HTTP GET --fail-with-body on HTTP error return - 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/20/valgrind361 ../src/curl -q --output log/20/curl361.out --include --trace-ascii log/20/trace361 --trace-time http://127.0.0.1:40357/361 http://127.0.0.1:40357/361 --fail-with-body > log/20/stdout361 2> log/20/stderr361 361: 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/ dir 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/20/valgrind361 ../src/curl -q --output log/20/curl361.out --include --trace-ascii log/20/trace361 --trace-time http://127.0.0.1:40357/361 http://127.0.0.1:40357/361 --fail-with-body > log/20/stdout361 2> log/20/stderr361 === End of file commands.log === Start of file http_server.log 07:51:14.205518 ====> Client connect 07:51:14.205551 accept_connection 3 returned 4 07:51:14.205568 accept_connection 3 returned 0 07:51:14.205584 Read 93 bytes 07:51:14.205594 Process 93 bytes request 07:51:14.205608 Got request: GET /verifiedserver HTTP/1.1 07:51:14.205618 Are-we-friendly question received 07:51:14.205642 Wrote request (93 bytes) input to log/20/server.input 07:51:14.205659 Identifying ourselves as friends 07:51:14.205712 Response sent (56 bytes) and written to log/20/server.response 07:51:14.205722 special request received, no persistency 07:51:14.205732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53656 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind361 ==96039== ==96039== Process terminating with default action of signal 4 (SIGILL) ==96039== Illegal opcode at address 0x4013DC0 ==96039== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96039== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96039== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96039== by 0x40037A4: main (tool_main.c:199) === End of file valgrind361 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/17/valgrind362 ../src/curl -q --output log/17/curl362.out --include --trace-ascii log/17/trace362 --trace-time ftp://127.0.0.1:44771/362 -T log/17/test362.txt --continue-at - > log/17/stdout362 2> log/17/stderr362 362: 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/ dir 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/17/valgrind362 ../src/curl -q --output log/17/curl362.out --include --trace-ascii log/17/trace362 --trace-time ftp://127.0.0.1:44771/362 -T log/17/test362.txt --continue-at - > log/17/stdout362 2> log/17/stderr362 === End of file commands.log === Start of file ftp_server.log 07:51:14.581331 ====> Client connect 07:51:14.581519 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:14.581872 < "USER anonymous" 07:51:14.581913 > "331 We are happy you popped in![CR][LF]" 07:51:14.582084 < "PASS ftp@example.com" 07:51:14.582112 > "230 Welcome you silly person[CR][LF]" 07:51:14.582262 < "PWD" 07:51:14.582290 > "257 "/" is current directory[CR][LF]" 07:51:14.582446 < "EPSV" 07:51:14.582469 ====> Passive DATA channel requested by client 07:51:14.582483 DATA sockfilt for passive data channel starting... 07:51:14.585545 DATA sockfilt for passive data channel started (pid 96116) 07:51:14.585661 DATA sockfilt for passive data channel listens on port 40797 07:51:14.585703 > "229 Entering Passive Mode (|||40797|)[CR][LF]" 07:51:14.585722 Client has been notified that DATA conn will be accepted on port 40797CMD (33792): ../libtool --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/valgrind370 ../src/curl -q --output log/14/curl370.out --include --trace-ascii log/14/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/14/nowhere/etag370 > log/14/stdout370 2> log/14/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/11/valgrind367 ../src/curl -q --output log/11/curl367.out --include --trace-ascii log/11/trace367 --trace-time http://:example@127.0.0.1:38169/367 > log/11/stdout367 2> log/11/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/10/valgrind365 ../src/curl -q --output log/10/curl365.out --include --trace-ascii log/10/trace365 --trace-time http://127.0.0.1:34041/365 > log/10/stdout365 2> log/10/stderr365 07:51:14.585967 Client connects to port 40797 07:51:14.585999 ====> Client established passive DATA connection on port 40797 07:51:14.586080 < "TYPE I" 07:51:14.586109 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:14.586262 < "SIZE verifiedserver" 07:51:14.586301 > "213 17[CR][LF]" 07:51:14.586447 < "RETR verifiedserver" 07:51:14.586482 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:14.586564 =====> Closing passive DATA connection... 07:51:14.586580 Server disconnects passive DATA connection 07:51:14.586829 Server disconnected passive DATA connection 07:51:14.586855 DATA sockfilt for passive data channel quits (pid 96116) 07:51:14.587088 DATA sockfilt for passive data channel quit (pid 96116) 07:51:14.587111 =====> Closed passive DATA connection 07:51:14.587141 > "226 File transfer complete[CR][LF]" 07:51:14.628293 < "QUIT" 07:51:14.628351 > "221 bye bye baby[CR][LF]" 07:51:14.629339 MAIN sockfilt said DISC 07:51:14.629378 ====> Client disconnected 07:51:14.629457 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:14.409135 ====> Client connect 07:51:14.409484 Received DATA (on stdin) 07:51:14.409503 > 160 bytes data, server => client 07:51:14.409517 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:14.409529 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:14.409540 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:14.409652 < 16 bytes data, client => server 07:51:14.409666 'USER anonymous\r\n' 07:51:14.409864 Received DATA (on stdin) 07:51:14.409878 > 33 bytes data, server => client 07:51:14.409890 '331 We are happy you popped in!\r\n' 07:51:14.409941 < 22 bytes data, client => server 07:51:14.409953 'PASS ftp@example.com\r\n' 07:51:14.410059 Received DATA (on stdin) 07:51:14.410071 > 30 bytes data, server => client 07:51:14.410083 '230 Welcome you silly person\r\n' 07:51:14.410128 < 5 bytes data, client => server 07:51:14.410140 'PWD\r\n' 07:51:14.410236 Received DATA (on stdin) 07:51:14.410248 > 30 bytes data, server => client 07:51:14.410260 '257 "/" is current directory\r\n' 07:51:14.410314 < 6 bytes data, client => server 07:51:14.410326 'EPSV\r\n' 07:51:14.413679 Received DATA (on stdin) 07:51:14.413695 > 39 bytes data, server => client 07:51:14.413707 '229 Entering Passive Mode (|||40797|)\r\n' 07:51:14.413835 < 8 bytes data, client => server 07:51:14.413850 'TYPE I\r\n' 07:51:14.414056 Received DATA (on stdin) 07:51:14.414069 > 33 bytes data, server => client 07:51:14.414081 '200 I modify TYPE as you wanted\r\n' 07:51:14.414130 < 21 bytes data, client => server 07:51:14.414142 'SIZE verifiedserver\r\n' 07:51:14.414247 Received DATA (on stdin) 07:51:14.414260 > 8 bytes data, server => client 07:51:14.414271 '213 17\r\n' 07:51:14.414316 < 21 bytes data, client => server 07:51:14.414327 'RETR verifiedserver\r\n' 07:51:14.414530 Received DATA (on stdin) 07:51:14.414542 > 29 bytes data, server => client 07:51:14.414554 '150 Binary junk (17 bytes).\r\n' 07:51:14.415093 Received DATA (on stdin) 07:51:14.415108 > 28 bytes data, server => client 07:51:14.415120 '226 File transfer complete\r\n' 07:51:14.456036 < 6 bytes data, client => server 07:51:14.456073 'QUIT\r\n' 07:51:14.456306 Received DATA (on stdin) 07:51:14.456322 > 18 bytes data, server => client 07:51:14.456335 '221 bye bye baby\r\n' 07:51:14.457225 ====> Client disconnect 07:51:14.457410 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:14.413131 Running IPv4 version 07:51:14.413206 Listening on port 40797 07:51:14.413242 Wrote pid 96116 to log/17/server/ftp_sockdata.pid 07:51:14.413434 Received PING (on stdin) 07:51:14.413519 Received PORT (on stdin) 07:51:14.413870 ====> Client connect 07:51:14.414579 Received DATA (on stdin) 07:51:14.414593 > 17 bytes data, server => client 07:51:14.414604 'WE ROOLZ: 80557\r\n' 07:51:14.414629 Received DISC (on stdin) 07:51:14.414641 ====> Client forcibly disconnected 07:51:14.414812 Received QUIT (on stdin) 07:51:14.414824 quits 07:51:14.414889 ============> 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 ==96126== ==96126== Process terminating with default action of signal 4 (SIGILL) ==96126== Illegal opcode at address 0x4013DC0 ==96126== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96126== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96126== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96126== by 0x40037A4: main (tool_main.c:199) === End of file valgrind362 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/14/valgrind370 ../src/curl -q --output log/14/curl370.out --include --trace-ascii log/14/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/14/nowhere/etag370 > log/14/stdout370 2> log/14/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/14/ dir 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/14/valgrind370 ../src/curl -q --output log/14/curl370.out --include --trace-ascii log/14/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/14/nowhere/etag370 > log/14/stdout370 2> log/14/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==96266== ==96266== Process terminating with default action of signal 4 (SIGILL) ==96266== Illegal opcode at address 0x4013DC0 ==96266== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96266== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96266== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96266== by 0x40037A4: main (tool_main.c:199) === End of file valgrind370 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/10/valgrind365 ../src/curl -q --output log/10/curl365.out --include --trace-ascii log/10/trace365 --trace-time http://127.0.0.1:34041/365 > log/10/stdout365 2> log/10/stderr365 365: 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/ dir 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/10/valgrind365 ../src/curl -q --output log/10/curl365.out --include --trace-ascii log/10/trace365 --trace-time http://127.0.0.1:34041/365 > log/10/stdout365 2> log/10/stderr365 === End of file commands.log === Start of file http_server.log 07:51:14.578025 ====> Client connect 07:51:14.578057 accept_connection 3 returned 4 07:51:14.578074 accept_connection 3 returned 0 07:51:14.578089 Read 93 bytes 07:51:14.578100 Process 93 bytes request 07:51:14.578112 Got request: GET /verifiedserver HTTP/1.1 07:51:14.578123 Are-we-friendly question received 07:51:14.578147 Wrote request (93 bytes) input to log/10/server.input 07:51:14.578166 Identifying ourselves as friends 07:51:14.578218 Response sent (56 bytes) and written to log/10/server.response 07:51:14.578229 special request received, no persistency 07:51:14.578241 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 60972 * using 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/valgrind368 ../src/curl -q --output log/12/curl368.out --include --trace-ascii log/12/trace368 --trace-time http://127.0.0.1:38023/368 -r 4 > log/12/stdout368 2> log/12/stderr368 CMD (33792): ../libtool --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/valgrind369 ../src/curl -q --output log/1/curl369.out --include --trace-ascii log/1/trace369 --trace-time http://127.0.0.1:35709/369 --etag-save log/1/nowhere/etag369 --next http://127.0.0.1:35709/369 --include --output log/1/curl369.out > log/1/stdout369 2> log/1/stderr369 /1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind365 ==96294== ==96294== Process terminating with default action of signal 4 (SIGILL) ==96294== Illegal opcode at address 0x4013DC0 ==96294== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96294== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96294== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96294== by 0x40037A4: main (tool_main.c:199) === End of file valgrind365 test 0367...[Empty user name 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/11/valgrind367 ../src/curl -q --output log/11/curl367.out --include --trace-ascii log/11/trace367 --trace-time http://:example@127.0.0.1:38169/367 > log/11/stdout367 2> log/11/stderr367 367: 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/ dir 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/11/valgrind367 ../src/curl -q --output log/11/curl367.out --include --trace-ascii log/11/trace367 --trace-time http://:example@127.0.0.1:38169/367 > log/11/stdout367 2> log/11/stderr367 === End of file commands.log === Start of file http_server.log 07:51:14.581113 ====> Client connect 07:51:14.581145 accept_connection 3 returned 4 07:51:14.581162 accept_connection 3 returned 0 07:51:14.581177 Read 93 bytes 07:51:14.581188 Process 93 bytes request 07:51:14.581200 Got request: GET /verifiedserver HTTP/1.1 07:51:14.581211 Are-we-friendly question received 07:51:14.581234 Wrote request (93 bytes) input to log/11/server.input 07:51:14.581251 Identifying ourselves as friends 07:51:14.581305 Response sent (56 bytes) and written to log/11/server.response 07:51:14.581318 special request received, no persistency 07:51:14.581329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 60236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind367 ==96296== ==96296== Process terminating with default action of signal 4 (SIGILL) ==96296== Illegal opcode at address 0x4013DC0 ==96296== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96296== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96296== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96296== by 0x40037A4: main (tool_main.c:199) === End of file valgrind367 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/12/valgrind368 ../src/curl -q --output log/12/curl368.out --include --trace-ascii log/12/trace368 --trace-time http://127.0.0.1:38023/368 -r 4 > log/12/stdout368 2> log/12/stderr368 368: 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/ dir 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/12/valgrind368 ../src/curl -q --output log/12/curl368.out --include --trace-ascii log/12/trace368 --trace-time http://127.0.0.1:38023/368 -r 4 > log/12/stdout368 2> log/12/stderr368 === End of file commands.log === Start of file http_server.log 07:51:14.585461 ====> Client connect 07:51:14.585604 accept_connection 3 returned 4 07:51:14.585648 accept_connection 3 returned 0 07:51:14.585665 Read 93 bytes 07:51:14.585677 Process 93 bytes request 07:51:14.585690 Got request: GET /verifiedserver HTTP/1.1 07:51:14.585701 Are-we-friendly question received 07:51:14.585732 Wrote request (93 bytes) input to log/12/server.input 07:51:14.585750 Identifying ourselves as friends 07:51:14.585909 Response sent (56 bytes) and written to log/12/server.response 07:51:14.585924 special request received, no persistency 07:51:14.585935 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind368 ==96310== ==96310== Process terminating with default action of signal 4 (SIGILL) ==96310== Illegal opcode at address 0x4013DC0 ==96310== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96310== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96310== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96310== by 0x40037A4: main (tool_main.c:199) === End of file valgrind368 test 0369...[--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/1/valgrind369 ../src/curl -q --output log/1/curl369.out --include --trace-ascii log/1/trace369 --trace-time http://127.0.0.1:35709/369 --etag-save log/1/nowhere/etag369 --next http://127.0.0.1:35709/369 --include --output log/1/curl369.out > log/1/stdout369 2> log/1/stderr369 369: 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/ dir 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/1/valgrind369 ../src/curl -q --output log/1/curl369.out --include --trace-ascii log/1/trace369 --trace-time http://127.0.0.1:35709/369 --etag-save log/1/nowhere/etag369 --next http://127.0.0.1:35709/369 --include --output log/1/curl369.out > log/1/stdout369 2> log/1/stderr369 === End of file commands.log === Start of file http_server.log 07:51:14.596352 ====> Client connect 07:51:14.596385 accept_connection 3 returned 4 07:51:14.596402 accept_connection 3 returned 0 07:51:14.596417 Read 93 bytes 07:51:14.596429 Process 93 bytes 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/valgrind371 ../src/curl -q --output log/2/curl371.out --include --trace-ascii log/2/trace371 --trace-time http://127.0.0.1:43955/371 -o log/2/dump -o log/2/dump2 --no-progress-meter > log/2/stdout371 2> log/2/stderr371 CMD (33792): ../libtool --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/valgrind366 ../src/curl -q --output log/24/curl366.out --include --trace-ascii log/24/trace366 --trace-time http://127.0.0.1:41843/366 --retry 2 --retry-max-time 10 > log/24/stdout366 2> log/24/stderr366 st 07:51:14.596444 Got request: GET /verifiedserver HTTP/1.1 07:51:14.596458 Are-we-friendly question received 07:51:14.596483 Wrote request (93 bytes) input to log/1/server.input 07:51:14.596501 Identifying ourselves as friends 07:51:14.596588 Response sent (56 bytes) and written to log/1/server.response 07:51:14.596599 special request received, no persistency 07:51:14.596609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind369 ==96367== ==96367== Process terminating with default action of signal 4 (SIGILL) ==96367== Illegal opcode at address 0x4013DC0 ==96367== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96367== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96367== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96367== by 0x40037A4: main (tool_main.c:199) === End of file valgrind369 CMD (33792): ../libtool --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/valgrind373 ../src/curl -q --output log/22/curl373.out --include --trace-ascii log/22/trace373 --trace-time http://127.0.0.1:40377/chunked-transfer-encoding/373 > log/22/stdout373 2> log/22/stderr373 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/2/valgrind371 ../src/curl -q --output log/2/curl371.out --include --trace-ascii log/2/trace371 --trace-time http://127.0.0.1:43955/371 -o log/2/dump -o log/2/dump2 --no-progress-meter > log/2/stdout371 2> log/2/stderr371 371: stderr FAILED: --- log/2/check-expected 2025-11-07 07:51:15.850706857 +0000 +++ log/2/check-generated 2025-11-07 07:51:15.850706857 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/2/ dir 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/2/valgrind371 ../src/curl -q --output log/2/curl371.out --include --trace-ascii log/2/trace371 --trace-time http://127.0.0.1:43955/371 -o log/2/dump -o log/2/dump2 --no-progress-meter > log/2/stdout371 2> log/2/stderr371 === End of file commands.log === Start of file http_server.log 07:51:15.599561 ====> Client connect 07:51:15.599597 accept_connection 3 returned 4 07:51:15.599615 accept_connection 3 returned 0 07:51:15.599631 Read 93 bytes 07:51:15.599643 Process 93 bytes request 07:51:15.599659 Got request: GET /verifiedserver HTTP/1.1 07:51:15.599670 Are-we-friendly question received 07:51:15.599699 Wrote request (93 bytes) input to log/2/server.input 07:51:15.599719 Identifying ourselves as friends 07:51:15.599778 Response sent (56 bytes) and written to log/2/server.response 07:51:15.599790 special request received, no persistency 07:51:15.599801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind371 ==96390== ==96390== Process terminating with default action of signal 4 (SIGILL) ==96390== Illegal opcode at address 0x4013DC0 ==96390== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96390== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96390== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96390== by 0x40037A4: main (tool_main.c:199) === End of file valgrind371 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/24/valgrind366 ../src/curl -q --output log/24/curl366.out --include --trace-ascii log/24/trace366 --trace-time http://127.0.0.1:41843/366 --retry 2 --retry-max-time 10 > log/24/stdout366 2> log/24/stderr366 366: 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/ dir 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/24/valgrind366 ../src/curl -q --output log/24/curl366.out --include --trace-ascii log/24/trace366 --trace-time http://127.0.0.1:41843/366 --retry 2 --retry-max-time 10 > log/24/stdout366 2> log/24/stderr366 === End of file commands.log === Start of file http_server.log 07:51:14.578017 ====> Client connect 07:51:14.578047 accept_connection 3 returned 4 07:51:14.578065 accept_connection 3 returned 0 07:51:14.578080 Read 93 bytes 07:51:14.578091 Process 93 bytes request 07:51:14.578106 Got request: GET /verifiedserver HTTP/1.1 07:51:14.578117 Are-we-friendly question received 07:51:14.578142 Wrote request (93 bytes) input to log/24/server.input 07:51:14.578159 Identifying ourselves as friends 07:51:14.578210 Response sent (56 bytes) and written to log/24/server.response 07:51:14.578221 special request received, no persistency 07:51:14.578232 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind366 ==96287== ==96287== Process terminating with default action of signal 4 (SIGILL) ==96287== Illegal opcode at address 0x4013DC0 ==96287== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96287== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96287== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96287== by 0x40037A4: main (tool_main.c:199) === End of file valgrind366 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/22/valgrind373 ../src/curl -q --output log/22/curl373.out --include --trace-ascii log/22/trace373 --trace-time http://127.0.0.1:40377/chunked-transfer-encoding/373 > log/22/stdout373 2> log/22/stderr373 373: 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/ dir 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/22/valgrind373 ../src/curl -q --output log/22/curl373.out --include --trace-ascii log/22/trace373 --trace-time http://127.0.0.1:40377/chunked-transfer-encoding/373 > log/22/stdout373 2> log/22/stderr373 === End of file commands.log === Start of file http_server.log 07:51:14.766317 ====> Client connect 07:51:14.766352 accept_connection 3 returned 4 07:51:14.766371 accept_connection 3 returned 0 07:51:14.766387 Read 93 bytes 07:51:14.766398 Process 93 bytes request 07:51:14.766411 Got request: GET /verifiedserver HTTP/1.1 07:51:14.766421 Are-we-friendly question received 07:51:14.766450 Wrote request (93 bytes) input to log/22/server.input 07:51:14.766482 Identifying ourselves as friends 07:51:14.766544 Response sent (56 bytes) and written to log/22/server.response 07:51:14.766556 special request received, no persistency 07:51:14.766567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 CMD (33792): ../libtool --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/valgrind372 ../src/curl -q --output log/19/curl372.out --include --trace-ascii log/19/trace372 --trace-time --raw http://127.0.0.1:34835/binary-zero-in-data-section/372 > log/19/stdout372 2> log/19/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/4/valgrind374 ../src/curl -q --output log/4/curl374.out --include --trace-ascii log/4/trace374 --trace-time http://127.0.0.1:43573/gif/374 > log/4/stdout374 2> log/4/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/7/valgrind353 ../src/curl -q --output log/7/curl353.out --include --trace-ascii log/7/trace353 --trace-time ftp://127.0.0.1:39633/ --ftp-method singlecwd > log/7/stdout353 2> log/7/stderr353 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind373 ==96703== ==96703== Process terminating with default action of signal 4 (SIGILL) ==96703== Illegal opcode at address 0x4013DC0 ==96703== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96703== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96703== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96703== by 0x40037A4: main (tool_main.c:199) === End of file valgrind373 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/19/valgrind372 ../src/curl -q --output log/19/curl372.out --include --trace-ascii log/19/trace372 --trace-time --raw http://127.0.0.1:34835/binary-zero-in-data-section/372 > log/19/stdout372 2> log/19/stderr372 372: 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/ dir 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/19/valgrind372 ../src/curl -q --output log/19/curl372.out --include --trace-ascii log/19/trace372 --trace-time --raw http://127.0.0.1:34835/binary-zero-in-data-section/372 > log/19/stdout372 2> log/19/stderr372 === End of file commands.log === Start of file http_server.log 07:51:14.753522 ====> Client connect 07:51:14.753559 accept_connection 3 returned 4 07:51:14.753578 accept_connection 3 returned 0 07:51:14.753596 Read 93 bytes 07:51:14.753608 Process 93 bytes request 07:51:14.753622 Got request: GET /verifiedserver HTTP/1.1 07:51:14.753633 Are-we-friendly question received 07:51:14.753661 Wrote request (93 bytes) input to log/19/server.input 07:51:14.753680 Identifying ourselves as friends 07:51:14.753740 Response sent (56 bytes) and written to log/19/server.response 07:51:14.753753 special request received, no persistency 07:51:14.753764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind372 ==96681== ==96681== Process terminating with default action of signal 4 (SIGILL) ==96681== Illegal opcode at address 0x4013DC0 ==96681== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96681== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96681== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96681== by 0x40037A4: main (tool_main.c:199) === End of file valgrind372 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/4/valgrind374 ../src/curl -q --output log/4/curl374.out --include --trace-ascii log/4/trace374 --trace-time http://127.0.0.1:43573/gif/374 > log/4/stdout374 2> log/4/stderr374 374: 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/ dir 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/4/valgrind374 ../src/curl -q --output log/4/curl374.out --include --trace-ascii log/4/trace374 --trace-time http://127.0.0.1:43573/gif/374 > log/4/stdout374 2> log/4/stderr374 === End of file commands.log === Start of file http_server.log 07:51:15.769355 ====> Client connect 07:51:15.769392 accept_connection 3 returned 4 07:51:15.769410 accept_connection 3 returned 0 07:51:15.769581 Read 93 bytes 07:51:15.769597 Process 93 bytes request 07:51:15.769611 Got request: GET /verifiedserver HTTP/1.1 07:51:15.769622 Are-we-friendly question received 07:51:15.769653 Wrote request (93 bytes) input to log/4/server.input 07:51:15.769672 Identifying ourselves as friends 07:51:15.769731 Response sent (56 bytes) and written to log/4/server.response 07:51:15.769742 special request received, no persistency 07:51:15.769753 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind374 ==96704== ==96704== Process terminating with default action of signal 4 (SIGILL) ==96704== Illegal opcode at address 0x4013DC0 ==96704== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96704== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96704== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96704== by 0x40037A4: main (tool_main.c:199) === End of file valgrind374 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 39633 (log/7/server/ftp_server.port) RUN: FTP server is PID 95453 port 39633 * pid ftp => 95453 95453 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/7/valgrind353 ../src/curl -q --output log/7/curl353.out --include --trace-ascii log/7/trace353 --trace-time ftp://127.0.0.1:39633/ --ftp-method singlecwd > log/7/stdout353 2> log/7/stderr353 353: 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/ dir 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/7/valgrind353 ../src/curl -q --output log/7/curl353.out --include --trace-ascii log/7/trace353 --trace-time ftp://127.0.0.1:39633/ --ftp-method singlecwd > log/7/stdout353 2> log/7/stderr353 === End of file commands.log === Start of file ftp_server.log 07:51:14.128112 FTP server listens on port IPv4/39633 07:51:14.128211 logged pid 95453 in log/7/server/ftp_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/16/valgrind376 ../src/curl -q --include --trace-ascii log/16/trace376 --trace-time http://127.0.0.1:44351/376 -o log/16/save-376 --remove-on-error > log/16/stdout376 2> log/16/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/9/valgrind378 ../src/curl -q --output log/9/curl378.out --include --trace-ascii log/9/trace378 --trace-time -T log/9/378 -d input http://never-accessed > log/9/stdout378 2> log/9/stderr378 .pid 07:51:14.128245 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:14.955688 Running IPv4 version 07:51:14.955759 Listening on port 39633 07:51:14.955799 Wrote pid 95541 to log/7/server/ftp_sockctrl.pid 07:51:14.955834 Wrote port 39633 to log/7/server/ftp_server.port 07:51:14.955947 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==96878== ==96878== Process terminating with default action of signal 4 (SIGILL) ==96878== Illegal opcode at address 0x4013DC0 ==96878== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96878== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96878== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96878== by 0x40037A4: main (tool_main.c:199) === End of file valgrind353 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/16/valgrind376 ../src/curl -q --include --trace-ascii log/16/trace376 --trace-time http://127.0.0.1:44351/376 -o log/16/save-376 --remove-on-error > log/16/stdout376 2> log/16/stderr376 376: 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/ dir 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/16/valgrind376 ../src/curl -q --include --trace-ascii log/16/trace376 --trace-time http://127.0.0.1:44351/376 -o log/16/save-376 --remove-on-error > log/16/stdout376 2> log/16/stderr376 === End of file commands.log === Start of file http_server.log 07:51:14.915071 ====> Client connect 07:51:14.915119 accept_connection 3 returned 4 07:51:14.915140 accept_connection 3 returned 0 07:51:14.915157 Read 93 bytes 07:51:14.915168 Process 93 bytes request 07:51:14.915185 Got request: GET /verifiedserver HTTP/1.1 07:51:14.915196 Are-we-friendly question received 07:51:14.915228 Wrote request (93 bytes) input to log/16/server.input 07:51:14.915248 Identifying ourselves as friends 07:51:14.915318 Response sent (56 bytes) and written to log/16/server.response 07:51:14.915331 special request received, no persistency 07:51:14.915342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 47692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind376 ==96872== ==96872== Process terminating with default action of signal 4 (SIGILL) ==96872== Illegal opcode at address 0x4013DC0 ==96872== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96872== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96872== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96872== by 0x40037A4: main (tool_main.c:199) === End of file valgrind376 CMD (33792): ../libtool --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/valgrind379 ../src/curl -q --include --trace-ascii log/8/trace379 --trace-time http://127.0.0.1:36147/379 -o log/8/save --remove-on-error --no-clobber > log/8/stdout379 2> log/8/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/3/valgrind381 ../src/curl -q --output log/3/curl381.out --include --trace-ascii log/3/trace381 --trace-time --netrc-optional --netrc-file log/3/netrc381 ftp://mary:drfrank@127.0.0.1:41643/ > log/3/stdout381 2> log/3/stderr381 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/9/valgrind378 ../src/curl -q --output log/9/curl378.out --include --trace-ascii log/9/trace378 --trace-time -T log/9/378 -d input http://never-accessed > log/9/stdout378 2> log/9/stderr378 378: stderr FAILED: --- log/9/check-expected 2025-11-07 07:51:16.110706860 +0000 +++ log/9/check-generated 2025-11-07 07:51:16.110706860 +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/9/ dir 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/9/valgrind378 ../src/curl -q --output log/9/curl378.out --include --trace-ascii log/9/trace378 --trace-time -T log/9/378 -d input http://never-accessed > log/9/stdout378 2> log/9/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==96849== ==96849== Process terminating with default action of signal 4 (SIGILL) ==96849== Illegal opcode at address 0x4013DC0 ==96849== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96849== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96849== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96849== by 0x40037A4: main (tool_main.c:199) === End of file valgrind378 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/8/valgrind379 ../src/curl -q --include --trace-ascii log/8/trace379 --trace-time http://127.0.0.1:36147/379 -o log/8/save --remove-on-error --no-clobber > log/8/stdout379 2> log/8/stderr379 379: 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/ dir 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/8/valgrind379 ../src/curl -q --include --trace-ascii log/8/trace379 --trace-time http://127.0.0.1:36147/379 -o log/8/save --remove-on-error --no-clobber > log/8/stdout379 2> log/8/stderr379 === End of file commands.log === Start of file http_server.log 07:51:14.930949 ====> Client connect 07:51:14.930984 accept_connection 3 returned 4 07:51:14.931001 accept_connection 3 returned 0 07:51:14.931017 Read 93 bytes 07:51:14.931029 Process 93 bytes request 07:51:14.931043 Got request: GET /verifiedserver HTTP/1.1 07:51:14.931054 Are-we-friendly question received 07:51:14.931082 Wrote request (93 bytes) input to log/8/server.input 07:51:14.931104 Identifying ourselves as friends 07:51:14.931162 Response sent (56 bytes) and written to log/8/server.response 07:51:14.931174 special request received, no persistency 07:51:14.931185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind379 ==96916== ==96916== Process terminating with default action of signal 4 (SIGILL) ==96916== Illegal opcode at address 0x4013DC0 ==96916== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==96916== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96916== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==96916== by 0x40037A4: main (tool_main.c:199) === End of file valgrind379 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/3/valgrind381 ../src/curl -q --output log/3/curl381.out --include --trace-ascii log/3/trace381 --trace-time --netrc-optional --netrc-file log/3/netrc381 ftp://mary:drfrank@127.0.0.1:41643/ > log/3/stdout381 2> log/3/stderr381 381: 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/ dir 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/3/valgrind381 ../src/curl -q --output log/3/curl381.out --include --trace-ascii log/3/trace381 --trace-time --netrc-optional --netrc-file log/3/netrc381 ftp://mary:drfrank@127.0.0.1:41643/ > log/3/stdout381 2> log/3/stderr381 === End of file commands.log === Start of file ftp_server.log 07:51:15.193995 ====> Client connect 07:51:15.194156 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:15.194442 < "USER anonymous" 07:51:15.194477 > "331 We are happy you popped in![CR][LF]" 07:51:15.194660 < "PASS ftp@example.com" 07:51:15.194686 > "230 Welcome you silly person[CR][LF]" 07:51:15.194835 < "PWD" 07:51:15.194867 > "257 "/" is current directory[CR][LF]" 07:51:15.195025 < "EPSV" 07:51:15.195052 ====> Passive DATA channel requested by client 07:51:15.195068 DATA sockfilt for passive data channel starting... 07:51:15.197253 DATA sockfilt for passive data channel started (pid 97112) 07:51:15.197361 DATA sockfilt for passive data channel listens on port 46663 07:51:15.197401 > "229 Entering Passive Mode (|||46663|)[CR][LF]" 07:51:15.197422 Client has been notified that DATA conn will be accepted on port 46663 07:51:15.197648 Client connects to port 46663 07:51:15.197681 ====> Client established passive DATA connection on port 46663 07:51:15.197763 < "TYPE I" 07:51:15.197793 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:15.198048 < "SIZE verifiedserver" 07:51:15.198089 > "213 17[CR][LF]" 07:51:15.198241 < "RETR verifiedserver" 07:51:15.198272 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:15.198359 =====> Closing passive DATA connection... 07:51:15.198375 Server disconnects passive DATA connection 07:51:15.198595 Server disconnected passive DATA connection 07:51:15.198620 DATA sockfilt for passive data channel quits (pid 97112) 07:51:15.198913 DATA sockfilt for passive data channel quit (pid 97112) 07:51:15.198936 =====> Closed passive DATA connection 07:51:15.198963 > "226 File transfer complete[CR][LF]" 07:51:15.241557 < "QUIT" 07:51:15.241610 > "221 bye bye baby[CR][LF]" 07:51:15.242723 MAIN sockfilt said DISC 07:51:15.242774 ====> Client disconnected 07:51:15.242850 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:15.021832 ====> Client connect 07:51:15.022114 Received DATA (on stdin) 07:51:15.0221CMD (33792): ../libtool --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/valgrind385 ../src/curl -q --output log/6/curl385.out --include --trace-ascii log/6/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:45933/385 -H "Content-Type: drinks/hot" > log/6/stdout385 2> log/6/stderr385 CMD (33792): ../libtool --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/valgrind384 ../src/curl -q --output log/23/curl384.out --include --trace-ascii log/23/trace384 --trace-time --json @- http://127.0.0.1:41029/384 -H "Accept: foobar/*" log/23/stdout384 2> log/23/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/18/valgrind383 ../src/curl -q --output log/18/curl383.out --include --trace-ascii log/18/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:46763/383 > log/18/stdout383 2> log/18/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/15/valgrind380 ../src/curl -q --output log/15/curl380.out --include --trace-ascii log/15/trace380 --trace-time --netrc --netrc-file log/15/netrc380 ftp://mary@127.0.0.1:38789/ > log/15/stdout380 2> log/15/stderr380 CMD (33792): ../libtool --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/valgrind386 ../src/curl -q --output log/21/curl386.out --include --trace-ascii log/21/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:45761/386 --next http://127.0.0.1:45761/3860002 > log/21/stdout386 2> log/21/stderr386 31 > 160 bytes data, server => client 07:51:15.022144 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:15.022155 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:15.022167 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:15.022246 < 16 bytes data, client => server 07:51:15.022260 'USER anonymous\r\n' 07:51:15.022426 Received DATA (on stdin) 07:51:15.022438 > 33 bytes data, server => client 07:51:15.022450 '331 We are happy you popped in!\r\n' 07:51:15.022501 < 22 bytes data, client => server 07:51:15.022514 'PASS ftp@example.com\r\n' 07:51:15.022633 Received DATA (on stdin) 07:51:15.022645 > 30 bytes data, server => client 07:51:15.022656 '230 Welcome you silly person\r\n' 07:51:15.022702 < 5 bytes data, client => server 07:51:15.022713 'PWD\r\n' 07:51:15.022813 Received DATA (on stdin) 07:51:15.022825 > 30 bytes data, server => client 07:51:15.022836 '257 "/" is current directory\r\n' 07:51:15.022891 < 6 bytes data, client => server 07:51:15.022904 'EPSV\r\n' 07:51:15.025378 Received DATA (on stdin) 07:51:15.025393 > 39 bytes data, server => client 07:51:15.025405 '229 Entering Passive Mode (|||46663|)\r\n' 07:51:15.025515 < 8 bytes data, client => server 07:51:15.025529 'TYPE I\r\n' 07:51:15.025740 Received DATA (on stdin) 07:51:15.025753 > 33 bytes data, server => client 07:51:15.025765 '200 I modify TYPE as you wanted\r\n' 07:51:15.025813 < 21 bytes data, client => server 07:51:15.025825 'SIZE verifiedserver\r\n' 07:51:15.026036 Received DATA (on stdin) 07:51:15.026049 > 8 bytes data, server => client 07:51:15.026061 '213 17\r\n' 07:51:15.026109 < 21 bytes data, client => server 07:51:15.026121 'RETR verifiedserver\r\n' 07:51:15.026325 Received DATA (on stdin) 07:51:15.026337 > 29 bytes data, server => client 07:51:15.026349 '150 Binary junk (17 bytes).\r\n' 07:51:15.026911 Received DATA (on stdin) 07:51:15.026926 > 28 bytes data, server => client 07:51:15.026938 '226 File transfer complete\r\n' 07:51:15.069332 < 6 bytes data, client => server 07:51:15.069362 'QUIT\r\n' 07:51:15.069566 Received DATA (on stdin) 07:51:15.069582 > 18 bytes data, server => client 07:51:15.069595 '221 bye bye baby\r\n' 07:51:15.070601 ====> Client disconnect 07:51:15.070805 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:15.024891 Running IPv4 version 07:51:15.024952 Listening on port 46663 07:51:15.024989 Wrote pid 97112 to log/3/server/ftp_sockdata.pid 07:51:15.025142 Received PING (on stdin) 07:51:15.025221 Received PORT (on stdin) 07:51:15.025550 ====> Client connect 07:51:15.026401 Received DATA (on stdin) 07:51:15.026416 > 17 bytes data, server => client 07:51:15.026428 'WE ROOLZ: 80340\r\n' 07:51:15.026452 Received DISC (on stdin) 07:51:15.026570 ====> Client forcibly disconnected 07:51:15.026602 Received QUIT (on stdin) 07:51:15.026613 quits 07:51:15.026673 ============> 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 ==97244== ==97244== Process terminating with default action of signal 4 (SIGILL) ==97244== Illegal opcode at address 0x4013DC0 ==97244== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97244== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97244== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97244== by 0x40037A4: main (tool_main.c:199) === End of file valgrind381 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/6/valgrind385 ../src/curl -q --output log/6/curl385.out --include --trace-ascii log/6/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:45933/385 -H "Content-Type: drinks/hot" > log/6/stdout385 2> log/6/stderr385 385: 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/ dir 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/6/valgrind385 ../src/curl -q --output log/6/curl385.out --include --trace-ascii log/6/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:45933/385 -H "Content-Type: drinks/hot" > log/6/stdout385 2> log/6/stderr385 === End of file commands.log === Start of file http_server.log 07:51:15.040095 ====> Client connect 07:51:15.040127 accept_connection 3 returned 4 07:51:15.040146 accept_connection 3 returned 0 07:51:15.040161 Read 93 bytes 07:51:15.040172 Process 93 bytes request 07:51:15.040184 Got request: GET /verifiedserver HTTP/1.1 07:51:15.040195 Are-we-friendly question received 07:51:15.040220 Wrote request (93 bytes) input to log/6/server.input 07:51:15.040239 Identifying ourselves as friends 07:51:15.040299 Response sent (56 bytes) and written to log/6/server.response 07:51:15.040312 special request received, no persistency 07:51:15.040323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 58392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind385 ==97145== ==97145== Process terminating with default action of signal 4 (SIGILL) ==97145== Illegal opcode at address 0x4013DC0 ==97145== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97145== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97145== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97145== by 0x40037A4: main (tool_main.c:199) === End of file valgrind385 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/18/valgrind383 ../src/curl -q --output log/18/curl383.out --include --trace-ascii log/18/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:46763/383 > log/18/stdout383 2> log/18/stderr383 383: 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/ dir 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/18/valgrind383 ../src/curl -q --output log/18/curl383.out --include --trace-ascii log/18/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:46763/383 > log/18/stdout383 2> log/18/stderr383 === End of file commands.log === Start of file http_server.log 07:51:16.034018 ====> Client connect 07:51:16.034054 accept_connection 3 returned 4 07:51:16.034073 accept_connection 3 returned 0 07:51:16.034090 Read 93 bytes 07:51:16.034101 Process 93 bytes request 07:51:16.034115 Got request: GET /verifiedserver HTTP/1.1 07:51:16.034126 Are-we-friendly question received 07:51:16.034154 Wrote request (93 bytes) input to log/18/server.input 07:51:16.034173 Identifying ourselves as friends 07:51:16.034232 Response sent (56 bytes) and written to log/18/server.response 07:51:16.034245 special request received, no persistency 07:51:16.034256 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind383 ==97135== ==97135== Process terminating with default action of signal 4 (SIGILL) ==97135== Illegal opcode at address 0x4013DC0 ==97135== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97135== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97135== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97135== by 0x40037A4: main (tool_main.c:199) === End of file valgrind383 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/23/valgrind384 ../src/curl -q --output log/23/curl384.out --include --trace-ascii log/23/trace384 --trace-time --json @- http://127.0.0.1:41029/384 -H "Accept: foobar/*" log/23/stdout384 2> log/23/stderr384 384: 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/ dir 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/23/valgrind384 ../src/curl -q --output log/23/curl384.out --include --trace-ascii log/23/trace384 --trace-time --json @- http://127.0.0.1:41029/384 -H "Accept: foobar/*" log/23/stdout384 2> log/23/stderr384 === End of file commands.log === Start of file http_server.log 07:51:15.035648 ====> Client connect 07:51:15.035778 accept_connection 3 returned 4 07:51:15.035798 accept_connection 3 returned 0 07:51:15.035813 Read 93 bytes 07:51:15.035825 Process 93 bytes request 07:51:15.035850 Got request: GET /verifiedserver HTTP/1.1 07:51:15.035861 Are-we-friendly question received 07:51:15.035889 Wrote request (93 bytes) input to log/23/server.input 07:51:15.035906 Identifying ourselves as friends 07:51:15.035991 Response sent (56 bytes) and written to log/23/server.response 07:51:15.036002 special request received, no persistency 07:51:15.036012 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stdin-for-384 { "drink": "coffee" } === End of file stdin-for-384 === Start of file valgrind384 ==97137== ==97137== Process terminating with default action of signal 4 (SIGILL) ==97137== Illegal opcode at address 0x4013DC0 ==97137== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97137== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97137== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97137== by 0x40037A4: main (tool_main.c:199) === End of file valgrind384 test 0380...[pick netrc password based on user name 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/15/valgrind380 ../src/curl -q --output log/15/curl380.out --include --trace-ascii log/15/trace380 --trace-time --netrc --netrc-file log/15/netrc380 ftp://mary@127.0.0.1:38789/ > log/15/stdout380 2> log/15/stderr380 380: 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/ dir 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/15/valgrind380 ../src/curl -q --output log/15/curl380.out --include --trace-ascii log/15/trace380 --trace-time --netrc --netrc-file log/15/netrc380 ftp://mary@127.0.0.1:38789/ > log/15/stdout380 2> log/15/stderr380 === End of file commands.log === Start of file ftp_server.log 07:51:15.174550 ====> Client connect 07:51:15.176330 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:15.177077 < "USER anonymous" 07:51:15.177130 > "331 We are happy you popped in![CR][LF]" 07:51:15.177347 < "PASS ftp@example.com" 07:51:15.177381 > "230 Welcome you silly person[CR][LF]" 07:51:15.177570 < "PWD" 07:51:15.177619 > "257 "/" is current directory[CR][LF]" 07:51:15.181588 < "EPSV" 07:51:15.181629 ====> Passive DATA channel requested by client 07:51:15.181646 DATA sockfilt for passive data channel starting... 07:51:15.183948 DATA sockfilt for passive data channel started (pid 97086) 07:51:15.184081 DATA sockfilt for passive data channel listens on port 36063 07:51:15.184126 > "229 Entering Passive Mode (|||36063|)[CR][LF]" 07:51:15.184148 Client has been notified that DATA conn will be accepted on port 36063 07:51:15.184416 Client connects to port 36063 07:51:15.184447 ====> Client established passive DATA connection on port 36063 07:51:15.184525 < "TYPE I" 07:51:15.184558 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:15.184756 < "SIZE verifiedserver" 07:51:15.184799 > "213 17[CR][LF]" 07:51:15.184989 < "RETR verifiedserver" 07:51:15.185033 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:15.185127 =====> Closing passive DATA connection... 07:51:15.185147 Server disconnects passive DATA connection 07:51:15.185394 Server disconnected passive DATA connection 07:51:15.185439 DATA sockfilt for passive data channel quits (pid 97086) 07:51:15.186037 DATA sockfilt for passive data channel quit (pid 97086) 07:51:15.186067 =====> Closed passive DATA connection 07:51:15.186099 > "226 File transfer complete[CR][LF]" 07:51:15.231777 < "QUIT" 07:51:15.231832 > "221 bye bye baby[CR][LF]" 07:51:15.232351 MAIN sockfilt said DISC 07:51:15.232391 ====> Client disconnected 07:51:15.232465 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:15.001739 ====> Client connect 07:51:15.004659 Received DATA (on stdin) 07:51:15.004689 > 160 bytes data, server => client 07:51:15.004704 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:15.004716 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:15.004728 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:15.004853 < 16 bytes data, client => server 07:51:15.004872 'USER anonymous\r\n' 07:51:15.005087 Received DATA (on stdin) 07:CMD (33792): ../libtool --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/valgrind387 ../src/curl -q --output log/13/curl387.out --include --trace-ascii log/13/trace387 --trace-time http://127.0.0.1:35041/387 -sS --tr-encoding > log/13/stdout387 2> log/13/stderr387 51:15.005104 > 33 bytes data, server => client 07:51:15.005116 '331 We are happy you popped in!\r\n' 07:51:15.005181 < 22 bytes data, client => server 07:51:15.005197 'PASS ftp@example.com\r\n' 07:51:15.005333 Received DATA (on stdin) 07:51:15.005347 > 30 bytes data, server => client 07:51:15.005360 '230 Welcome you silly person\r\n' 07:51:15.005417 < 5 bytes data, client => server 07:51:15.005431 'PWD\r\n' 07:51:15.005571 Received DATA (on stdin) 07:51:15.005584 > 30 bytes data, server => client 07:51:15.005596 '257 "/" is current directory\r\n' 07:51:15.005667 < 6 bytes data, client => server 07:51:15.005681 'EPSV\r\n' 07:51:15.012104 Received DATA (on stdin) 07:51:15.012119 > 39 bytes data, server => client 07:51:15.012131 '229 Entering Passive Mode (|||36063|)\r\n' 07:51:15.012274 < 8 bytes data, client => server 07:51:15.012292 'TYPE I\r\n' 07:51:15.012521 Received DATA (on stdin) 07:51:15.012536 > 33 bytes data, server => client 07:51:15.012548 '200 I modify TYPE as you wanted\r\n' 07:51:15.012606 < 21 bytes data, client => server 07:51:15.012621 'SIZE verifiedserver\r\n' 07:51:15.012751 Received DATA (on stdin) 07:51:15.012766 > 8 bytes data, server => client 07:51:15.012778 '213 17\r\n' 07:51:15.012842 < 21 bytes data, client => server 07:51:15.012857 'RETR verifiedserver\r\n' 07:51:15.013119 Received DATA (on stdin) 07:51:15.013134 > 29 bytes data, server => client 07:51:15.013146 '150 Binary junk (17 bytes).\r\n' 07:51:15.014052 Received DATA (on stdin) 07:51:15.014067 > 28 bytes data, server => client 07:51:15.014080 '226 File transfer complete\r\n' 07:51:15.059537 < 6 bytes data, client => server 07:51:15.059565 'QUIT\r\n' 07:51:15.059790 Received DATA (on stdin) 07:51:15.059809 > 18 bytes data, server => client 07:51:15.059822 '221 bye bye baby\r\n' 07:51:15.060237 ====> Client disconnect 07:51:15.060361 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:15.011541 Running IPv4 version 07:51:15.011620 Listening on port 36063 07:51:15.011667 Wrote pid 97086 to log/15/server/ftp_sockdata.pid 07:51:15.011832 Received PING (on stdin) 07:51:15.011938 Received PORT (on stdin) 07:51:15.012315 ====> Client connect 07:51:15.013207 Received DATA (on stdin) 07:51:15.013229 > 17 bytes data, server => client 07:51:15.013241 'WE ROOLZ: 80326\r\n' 07:51:15.013271 Received DISC (on stdin) 07:51:15.013286 ====> Client forcibly disconnected 07:51:15.013466 Received QUIT (on stdin) 07:51:15.013484 quits 07:51:15.013545 ============> 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 ==97213== ==97213== Process terminating with default action of signal 4 (SIGILL) ==97213== Illegal opcode at address 0x4013DC0 ==97213== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind380 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/21/valgrind386 ../src/curl -q --output log/21/curl386.out --include --trace-ascii log/21/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:45761/386 --next http://127.0.0.1:45761/3860002 > log/21/stdout386 2> log/21/stderr386 386: 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/ dir 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/21/valgrind386 ../src/curl -q --output log/21/curl386.out --include --trace-ascii log/21/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:45761/386 --next http://127.0.0.1:45761/3860002 > log/21/stdout386 2> log/21/stderr386 === End of file commands.log === Start of file http_server.log 07:51:15.077782 ====> Client connect 07:51:15.077820 accept_connection 3 returned 4 07:51:15.077839 accept_connection 3 returned 0 07:51:15.077855 Read 93 bytes 07:51:15.077867 Process 93 bytes request 07:51:15.077882 Got request: GET /verifiedserver HTTP/1.1 07:51:15.077893 Are-we-friendly question received 07:51:15.077924 Wrote request (93 bytes) input to log/21/server.input 07:51:15.077943 Identifying ourselves as friends 07:51:15.078006 Response sent (56 bytes) and written to log/21/server.response 07:51:15.078018 special request received, no persistency 07:51:15.078029 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 54838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind386 ==97277== ==97277== Process terminating with default action of signal 4 (SIGILL) ==97277== Illegal opcode at address 0x4013DC0 ==97277== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97277== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97277== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97277== by 0x40037A4: main (tool_main.c:199) === End of file valgrind386 CMD (33792): ../libtool --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/valgrind389 ../src/curl -q --output log/20/curl389.out --include --trace-ascii log/20/trace389 --trace-time -4 http://curlmachine.localhost:40357/389 > log/20/stdout389 2> log/20/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/5/valgrind388 ../src/curl -q --include --trace-ascii log/5/trace388 --trace-time http://127.0.0.1:42797/3880001 -u testuser:testpass --digest http://127.0.0.1:42797/3880002 > log/5/stdout388 2> log/5/stderr388 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/13/valgrind387 ../src/curl -q --output log/13/curl387.out --include --trace-ascii log/13/trace387 --trace-time http://127.0.0.1:35041/387 -sS --tr-encoding > log/13/stdout387 2> log/13/stderr387 387: stderr FAILED: --- log/13/check-expected 2025-11-07 07:51:16.344040196 +0000 +++ log/13/check-generated 2025-11-07 07:51:16.344040196 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/13/ dir 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/13/valgrind387 ../src/curl -q --output log/13/curl387.out --include --trace-ascii log/13/trace387 --trace-time http://127.0.0.1:35041/387 -sS --tr-encoding > log/13/stdout387 2> log/13/stderr387 === End of file commands.log === Start of file http_server.log 07:51:15.128264 ====> Client connect 07:51:15.128315 accept_connection 3 returned 4 07:51:15.128335 accept_connection 3 returned 0 07:51:15.128352 Read 93 bytes 07:51:15.128363 Process 93 bytes request 07:51:15.128378 Got request: GET /verifiedserver HTTP/1.1 07:51:15.128388 Are-we-friendly question received 07:51:15.128416 Wrote request (93 bytes) input to log/13/server.input 07:51:15.128435 Identifying ourselves as friends 07:51:15.128495 Response sent (56 bytes) and written to log/13/server.response 07:51:15.128506 special request received, no persistency 07:51:15.128516 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 33946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind387 ==97479== ==97479== Process terminating with default action of signal 4 (SIGILL) ==97479== Illegal opcode at address 0x4013DC0 ==97479== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97479== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97479== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97479== by 0x40037A4: main (tool_main.c:199) === End of file valgrind387 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/20/valgrind389 ../src/curl -q --output log/20/curl389.out --include --trace-ascii log/20/trace389 --trace-time -4 http://curlmachine.localhost:40357/389 > log/20/stdout389 2> log/20/stderr389 389: 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/ dir 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/20/valgrind389 ../src/curl -q --output log/20/curl389.out --include --trace-ascii log/20/trace389 --trace-time -4 http://curlmachine.localhost:40357/389 > log/20/stdout389 2> log/20/stderr389 === End of file commands.log === Start of file http_server.log 07:51:15.242884 ====> Client connect 07:51:15.242923 accept_connection 3 returned 4 07:51:15.242942 accept_connection 3 returned 0 07:51:15.242957 Read 93 bytes 07:51:15.242968 Process 93 bytes request 07:51:15.242982 Got request: GET /verifiedserver HTTP/1.1 07:51:15.242993 Are-we-friendly question received 07:51:15.243016 Wrote request (93 bytes) input to log/20/server.input 07:51:15.243035 Identifying ourselves as friends 07:51:15.243089 Response sent (56 bytes) and written to log/20/server.response 07:51:15.243100 special request received, no persistency 07:51:15.243111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind389 ==97565== ==97565== Process terminating with default action of signal 4 (SIGILL) ==97565== Illegal opcode at address 0x4013DC0 ==97565== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97565== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97565== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97565== by 0x40037A4: main (tool_main.c:199) === End of file valgrind389 CMD (33792): ../libtool --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/valgrind390 ../src/curl -q --include --trace-ascii log/17/trace390 --trace-time http://127.0.0.1:42601/390 file://localhost/startdir/src/build-curl/tests/log/17/test390.txt ftp://127.0.0.1:44771/3900002 --parallel -o log/17/390.a -o log/17/390.b -o log/17/390.c > log/17/stdout390 2> log/17/stderr390 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/5/valgrind388 ../src/curl -q --include --trace-ascii log/5/trace388 --trace-time http://127.0.0.1:42797/3880001 -u testuser:testpass --digest http://127.0.0.1:42797/3880002 > log/5/stdout388 2> log/5/stderr388 388: stdout FAILED: --- log/5/check-expected 2025-11-07 07:51:16.470706863 +0000 +++ log/5/check-generated 2025-11-07 07:51:16.470706863 +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/5/ dir 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/5/valgrind388 ../src/curl -q --include --trace-ascii log/5/trace388 --trace-time http://127.0.0.1:42797/3880001 -u testuser:testpass --digest http://127.0.0.1:42797/3880002 > log/5/stdout388 2> log/5/stderr388 === End of file commands.log === Start of file http_server.log 07:51:15.246190 ====> Client connect 07:51:15.246229 accept_connection 3 returned 4 07:51:15.246247 accept_connection 3 returned 0 07:51:15.246263 Read 93 bytes 07:51:15.246274 Process 93 bytes request 07:51:15.246287 Got request: GET /verifiedserver HTTP/1.1 07:51:15.246297 Are-we-friendly question received 07:51:15.246361 Wrote request (93 bytes) input to log/5/server.input 07:51:15.246380 Identifying ourselves as friends 07:51:15.246440 Response sent (56 bytes) and written to log/5/server.response 07:51:15.246451 special request received, no persistency 07:51:15.246461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind388 ==97589== ==97589== Process terminating with default action of signal 4 (SIGILL) ==97589== Illegal opcode at address 0x4013DC0 ==97589== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97589== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97589== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97589== by 0x40037A4: main (tool_main.c:199) === End of file valgrind388 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/17/valgrind390 ../src/curl -q --include --trace-ascii log/17/trace390 --trace-time http://127.0.0.1:42601/390 file://localhost/startdir/src/build-curl/tests/log/17/test390.txt ftp://127.0.0.1:44771/3900002 --parallel -o log/17/390.a -o log/17/390.b -o log/17/390.c > log/17/stdout390 2> log/17/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind390 ../src/curl -q --include --trace-ascii log/17/trace390 --trace-time http://127.0.0.1:42601/390 file://localhost/startdir/src/build-curl/tests/log/17/test390.txt ftp://127.0.0.1:44771/3900002 --parallel -o log/17/390.a -o log/17/390.b -o log/17/390.c > log/17/stdout390 2> log/17/stderr390 === End of file commands.log === Start of file ftp_server.log 07:51:15.720957 ====> Client connect 07:51:15.721112 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:15.721394 < "USER anonymous" 07:51:15.721430 > "331 We are happy you popped in![CR][LF]" 07:51:15.721599 < "PASS ftp@example.com" 07:51:15.721626 > "230 Welcome you silly person[CR][LF]" 07:51:15.721780 < "PWD" 07:51:15.721808 > "257 "/" is current directory[CR][LF]" 07:51:15.721980 < "EPSV" 07:51:15.722004 ====> Passive DATA channel requested by client 07:51:15.722018 DATA sockfilt for passive data channel starting... 07:51:15.723986 DATA sockfilt for passive data channel started (pid 97719) 07:51:15.724129 DATA sockfilt for passive data channel listens on port 39323 07:51:15.724173 > "229 Entering Passive Mode (|||39323|)[CR][LF]" 07:51:15.724192 Client has been notified that DATA conn will be accepted on port 39323 07:51:15.724479 Client connects to port 39323 07:51:15.724512 ====> Client established passive DATA connection on port 39323 07:51:15.724611 < "TYPE I" 07:51:15.724645 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:15.724807 < "SIZE verifiedserver" 07:51:15.724844 > "213 17[CR][LF]" 07:51:15.724984 < "RETR verifiedserver" 07:51:15.725020 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:15.725106 =====> Closing passive DATA connection... 07:51:15.725121 Server disconnects passive DATA connection 07:51:15.725350 Server disconnected passive DATA connection 07:51:15.725375 DATA sockfilt for passive data channel quits (pid 97719) 07:51:15.725635 DATA sockfilt for passive data channel quit (pid 97719) 07:51:15.725658 =====> Closed passive DATA connection 07:51:15.725686 > "226 File transfer complete[CR][LF]" 07:51:15.768911 < "QUIT" 07:51:15.768953 > "221 bye bye baby[CR][LF]" 07:51:15.769166 MAIN sockfilt said DISC 07:51:15.769198 ====> Client disconnected 07:51:15.769266 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:15.548800 ====> Client connect 07:51:15.549073 Received DATA (on stdin) 07:51:15.549090 > 160 bytes data, server => client 07:51:15.549104 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:15.549116 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:15.549128 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:15.549209 < 16 bytes data, client => server 07:51:15.549223 'USER anonymous\r\n' 07:51:15.549382 Received DATA (on stdin) 07:51:15.549395 > 33 bytes data, server => client 07:51:15.549407 '331 We are happy you popped in!\r\n' 07:51:15.549459 < 22 bytes data, client => server 07:51:15.549472 'PASS ftp@example.com\r\n' 07:51:15.549573 Received DATA (on stdin) 07:51:15.549585 > 30 bytes data, server => client 07:51:15.549596 '230 Welcome you silly person\r\n' 07:51:15.549645 < 5 bytes data, client => server 07:51:15.549656 'PWD\r\n' 07:51:15.549756 Received DATA (on stdin) 07:51:15.549768 > 30 bytes data, server => client 07:51:15.549780 '257 "/" is current directory\r\n' 07:51:15.549840 < 6 bytes data, client => server 07:51:15.549853 'EPSV\r\n' 07:51:15.552147 Received DATA (on stdin) 07:51:15.552164 > 39 bytes data, server => client 07:51:15.552176 '229 Entering Passive Mode (|||39323|)\r\n' 07:51:15.552371 < 8 bytes data, client => server 07:51:15.552383 'TYPE I\r\n' 07:51:15.552593 Received DATA (on stdin) 07:51:15.552605 > 33 bytes data, server => client 07:51:15.552616 '200 I modify TYPE as you wanted\r\n' 07:51:15.552671 < 21 bytes data, client => server 07:51:15.552683 'SIZE verifiedserver\r\n' 07:51:15.552789 Received DATA (on stdin) 07:51:15.552800 > 8 bytes data, server => client 07:51:15.552810 '213 17\r\n' 07:51:15.552854 < 21 bytes data, client => server 07:51:15.552865 'RETR verifiedserver\r\n' 07:51:15.553067 Received DATA (on stdin) 07:51:15.553079 > 29 bytes data, server => client 07:51:15.553090 '150 Binary junk (17 bytes).\r\n' 07:51:15.553636 Received DATA (on stdin) 07:51:15.553648 > 28 bytes data, server => client 07:51:15.553660 '226 File transfer complete\r\n' 07:51:15.596660 < 6 bytes data, client => server 07:51:15.596693 'QUIT\r\n' 07:51:15.596900 Received DATA (on stdin) 07:51:15.596911 > 18 bytes data, server => client 07:51:15.596920 '221 bye bye baby\r\n' 07:51:15.597060 ====> Client disconnect 07:51:15.597209 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:15.551708 Running IPv4 version 07:51:15.551806 Listening on port 39323 07:51:15.551842 Wrote pid 97719 to log/17/server/ftp_sockdata.pid 07:51:15.551864 Received PING (on stdin) 07:51:15.551978 Received PORT (on stdin) 07:51:15.552342 ====> Client connect 07:51:15.553114 Received DATA (on stdin) 07:51:15.553127 > 17 bytes data, server => client 07:51:15.553138 'WE ROOLZ: 80557\r\n' 07:51:15.553162 Received DISC (on stdin) 07:51:15.553173 ====> Client forcibly disconnected 07:51:15.553333 Received QUIT (on stdin) 07:51:15.553345 quits 07:51:15.553405 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:51:16.530340 ====> Client connect 07:51:16.530379 accept_connection 3 returned 4 07:51:16.530399 accept_connection 3 returned 0 07:51:16.530415 Read 93 bytes 07:51:16.530427 Process 93 bytes request 07:51:16.530443 Got request: GET /verifiedserver HTTP/1.1 07:51:16.530454 Are-we-friendly question received 07:51:16.530485 Wrote request (93 bytes) input to log/17/server.input 07:51:16.530505 Identifying ourselves as friends 07:51:16.530568 Response sent (56 bytes) and written to log/17/server.response 07:51:16.530581 special request received, no persistency 07:51:16.530591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 50602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === 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!hellofCMD (33792): ../libtool --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/valgrind391 ../src/curl -q --output log/14/curl391.out --include --trace-ascii log/14/trace391 --trace-time http://127.0.0.1:34115/../../391 --path-as-is -L > log/14/stdout391 2> log/14/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/12/valgrind393 ../src/curl -q --output log/12/curl393.out --include --trace-ascii log/12/trace393 --trace-time http://127.0.0.1:38023/393 --max-filesize 2000000 > log/12/stdout393 2> log/12/stderr393 ile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!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 ==97733== ==97733== Process terminating with default action of signal 4 (SIGILL) ==97733== Illegal opcode at address 0x4013DC0 ==97733== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97733== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97733== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97733== by 0x40037A4: main (tool_main.c:199) === End of file valgrind390 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/12/valgrind393 ../src/curl -q --output log/12/curl393.out --include --trace-ascii log/12/trace393 --trace-time http://127.0.0.1:38023/393 --max-filesize 2000000 > log/12/stdout393 2> log/12/stderr393 393: 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/ dir after test 393 === 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/1/valgrind394 ../src/curl -q --output log/1/curl394.out --include --trace-ascii log/1/trace394 --trace-time http://127.0.0.1:35709/394 > log/1/stdout394 2> log/1/stderr394 CMD (33792): ../libtool --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/valgrind396 ../src/curl -q --output log/24/curl396.out --include --trace-ascii log/24/trace396 --trace-time http://127.0.0.1:41843/396 --compressed > log/24/stdout396 2> log/24/stderr396 -leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind393 ../src/curl -q --output log/12/curl393.out --include --trace-ascii log/12/trace393 --trace-time http://127.0.0.1:38023/393 --max-filesize 2000000 > log/12/stdout393 2> log/12/stderr393 === End of file commands.log === Start of file http_server.log 07:51:15.697490 ====> Client connect 07:51:15.697520 accept_connection 3 returned 4 07:51:15.697539 accept_connection 3 returned 0 07:51:15.697551 Read 93 bytes 07:51:15.697560 Process 93 bytes request 07:51:15.697571 Got request: GET /verifiedserver HTTP/1.1 07:51:15.697580 Are-we-friendly question received 07:51:15.697601 Wrote request (93 bytes) input to log/12/server.input 07:51:15.697615 Identifying ourselves as friends 07:51:15.697659 Response sent (56 bytes) and written to log/12/server.response 07:51:15.697668 special request received, no persistency 07:51:15.697676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind393 ==97915== ==97915== Process terminating with default action of signal 4 (SIGILL) ==97915== Illegal opcode at address 0x4013DC0 ==97915== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97915== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97915== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97915== by 0x40037A4: main (tool_main.c:199) === End of file valgrind393 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/14/valgrind391 ../src/curl -q --output log/14/curl391.out --include --trace-ascii log/14/trace391 --trace-time http://127.0.0.1:34115/../../391 --path-as-is -L > log/14/stdout391 2> log/14/stderr391 391: 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/ dir 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/14/valgrind391 ../src/curl -q --output log/14/curl391.out --include --trace-ascii log/14/trace391 --trace-time http://127.0.0.1:34115/../../391 --path-as-is -L > log/14/stdout391 2> log/14/stderr391 === End of file commands.log === Start of file http_server.log 07:51:15.688716 ====> Client connect 07:51:15.688755 accept_connection 3 returned 4 07:51:15.688773 accept_connection 3 returned 0 07:51:15.688789 Read 93 bytes 07:51:15.688801 Process 93 bytes request 07:51:15.688818 Got request: GET /verifiedserver HTTP/1.1 07:51:15.688829 Are-we-friendly question received 07:51:15.688856 Wrote request (93 bytes) input to log/14/server.input 07:51:15.688874 Identifying ourselves as friends 07:51:15.688931 Response sent (56 bytes) and written to log/14/server.response 07:51:15.688942 special request received, no persistency 07:51:15.688952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 36190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind391 ==97882== ==97882== Process terminating with default action of signal 4 (SIGILL) ==97882== Illegal opcode at address 0x4013DC0 ==97882== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97882== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97882== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97882== by 0x40037A4: main (tool_main.c:199) === End of file valgrind391 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/1/valgrind394 ../src/curl -q --output log/1/curl394.out --include --trace-ascii log/1/trace394 --trace-time http://127.0.0.1:35709/394 > log/1/stdout394 2> log/1/stderr394 394: 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/ dir 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/1/valgrind394 ../src/curl -q --output log/1/curl394.out --include --trace-ascii log/1/trace394 --trace-time http://127.0.0.1:35709/394 > log/1/stdout394 2> log/1/stderr394 === End of file commands.log === Start of file http_server.log 07:51:15.699010 ====> Client connect 07:51:15.699048 accept_connection 3 returned 4 07:51:15.699067 accept_connection 3 returned 0 07:51:15.699082 Read 93 bytes 07:51:15.699095 Process 93 bytes request 07:51:15.699109 Got request: GET /verifiedserver HTTP/1.1 07:51:15.699120 Are-we-friendly question received 07:51:15.699148 Wrote request (93 bytes) input to log/1/server.input 07:51:15.699166 Identifying ourselves as friends 07:51:15.699236 Response sent (56 bytes) and written to log/1/server.response 07:51:15.699248 special request received, no persistency 07:51:15.699259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind394 ==97922== ==97922== Process terminating with default action of signal 4 (SIGILL) ==97922== Illegal opcode at address 0x4013DC0 ==97922== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97922== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97922== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97922== by 0x40037A4: main (tool_main.c:199) === 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/24/valgrind396 ../src/curl -q --output 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/2/valgrind395 ../src/curl -q --output log/2/curl395.out --include --trace-ascii log/2/trace395 --trace-time http://127.0.0.1:43955/395 > log/2/stdout395 2> log/2/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/10/valgrind397 ../src/curl -q --output log/10/curl397.out --include --trace-ascii log/10/trace397 --trace-time http://127.0.0.1:34041/397 --compressed > log/10/stdout397 2> log/10/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/11/valgrind392 ../src/curl -q --output log/11/curl392.out --include --trace-ascii log/11/trace392 --trace-time -4 http://localhost:38169/392 -b none http://localhost:38169/392 > log/11/stdout392 2> log/11/stderr392 /24/curl396.out --include --trace-ascii log/24/trace396 --trace-time http://127.0.0.1:41843/396 --compressed > log/24/stdout396 2> log/24/stderr396 396: 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/ dir 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/24/valgrind396 ../src/curl -q --output log/24/curl396.out --include --trace-ascii log/24/trace396 --trace-time http://127.0.0.1:41843/396 --compressed > log/24/stdout396 2> log/24/stderr396 === End of file commands.log === Start of file http_server.log 07:51:15.704561 ====> Client connect 07:51:15.704586 accept_connection 3 returned 4 07:51:15.704601 accept_connection 3 returned 0 07:51:15.704613 Read 93 bytes 07:51:15.704622 Process 93 bytes request 07:51:15.704633 Got request: GET /verifiedserver HTTP/1.1 07:51:15.704641 Are-we-friendly question received 07:51:15.704663 Wrote request (93 bytes) input to log/24/server.input 07:51:15.704681 Identifying ourselves as friends 07:51:15.704736 Response sent (56 bytes) and written to log/24/server.response 07:51:15.704748 special request received, no persistency 07:51:15.704758 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind396 ==98020== ==98020== Process terminating with default action of signal 4 (SIGILL) ==98020== Illegal opcode at address 0x4013DC0 ==98020== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98020== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98020== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98020== by 0x40037A4: main (tool_main.c:199) === End of file valgrind396 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/2/valgrind395 ../src/curl -q --output log/2/curl395.out --include --trace-ascii log/2/trace395 --trace-time http://127.0.0.1:43955/395 > log/2/stdout395 2> log/2/stderr395 395: 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/ dir 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/2/valgrind395 ../src/curl -q --output log/2/curl395.out --include --trace-ascii log/2/trace395 --trace-time http://127.0.0.1:43955/395 > log/2/stdout395 2> log/2/stderr395 === End of file commands.log === Start of file http_server.log 07:51:16.705297 ====> Client connect 07:51:16.705334 accept_connection 3 returned 4 07:51:16.705352 accept_connection 3 returned 0 07:51:16.705368 Read 93 bytes 07:51:16.705379 Process 93 bytes request 07:51:16.705392 Got request: GET /verifiedserver HTTP/1.1 07:51:16.705403 Are-we-friendly question received 07:51:16.705428 Wrote request (93 bytes) input to log/2/server.input 07:51:16.705446 Identifying ourselves as friends 07:51:16.705501 Response sent (56 bytes) and written to log/2/server.response 07:51:16.705512 special request received, no persistency 07:51:16.705522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind395 ==97951== ==97951== Process terminating with default action of signal 4 (SIGILL) ==97951== Illegal opcode at address 0x4013DC0 ==97951== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97951== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97951== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97951== by 0x40037A4: main (tool_main.c:199) === End of file valgrind395 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/10/valgrind397 ../src/curl -q --output log/10/curl397.out --include --trace-ascii log/10/trace397 --trace-time http://127.0.0.1:34041/397 --compressed > log/10/stdout397 2> log/10/stderr397 397: 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/ dir 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/10/valgrind397 ../src/curl -q --output log/10/curl397.out --include --trace-ascii log/10/trace397 --trace-time http://127.0.0.1:34041/397 --compressed > log/10/stdout397 2> log/10/stderr397 === End of file commands.log === Start of file http_server.log 07:51:15.715058 ====> Client connect 07:51:15.715099 accept_connection 3 returned 4 07:51:15.715120 accept_connection 3 returned 0 07:51:15.715140 Read 93 bytes 07:51:15.715152 Process 93 bytes request 07:51:15.715167 Got request: GET /verifiedserver HTTP/1.1 07:51:15.715178 Are-we-friendly question received 07:51:15.715204 Wrote request (93 bytes) input to log/10/server.input 07:51:15.715222 Identifying ourselves as friends 07:51:15.715301 Response sent (56 bytes) and written to log/10/server.response 07:51:15.715313 special request received, no persistency 07:51:15.715323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 60976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind397 ==98016== ==98016== Process terminating with default action of signal 4 (SIGILL) ==98016== Illegal opcode at address 0x4013DC0 ==98016== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98016== by 0x40037A4: 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/19/valgrind399 ../src/curl -q --output log/19/curl399.out --include --trace-ascii log/19/trace399 --trace-time -K log/19/input%TESTNUM > log/19/stdout399 2> log/19/stderr399 InlinedFun (tool_getparam.c:3029) ==98016== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98016== by 0x40037A4: main (tool_main.c:199) === End of file valgrind397 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/11/valgrind392 ../src/curl -q --output log/11/curl392.out --include --trace-ascii log/11/trace392 --trace-time -4 http://localhost:38169/392 -b none http://localhost:38169/392 > log/11/stdout392 2> log/11/stderr392 392: 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/ dir 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/11/valgrind392 ../src/curl -q --output log/11/curl392.out --include --trace-ascii log/11/trace392 --trace-time -4 http://localhost:38169/392 -b none http://localhost:38169/392 > log/11/stdout392 2> log/11/stderr392 === End of file commands.log === Start of file http_server.log 07:51:15.692579 ====> Client connect 07:51:15.692610 accept_connection 3 returned 4 07:51:15.692627 accept_connection 3 returned 0 07:51:15.692744 Read 93 bytes 07:51:15.692759 Process 93 bytes request 07:51:15.692772 Got request: GET /verifiedserver HTTP/1.1 07:51:15.692782 Are-we-friendly question received 07:51:15.692817 Wrote request (93 bytes) input to log/11/server.input 07:51:15.692835 Identifying ourselves as friends 07:51:15.692888 Response sent (56 bytes) and written to log/11/server.response 07:51:15.692899 special request received, no persistency 07:51:15.692910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 60248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind392 ==97887== ==97887== Process terminating with default action of signal 4 (SIGILL) ==97887== Illegal opcode at address 0x4013DC0 ==97887== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==97887== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97887== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==97887== by 0x40037A4: main (tool_main.c:199) === End of file valgrind392 test 0399...[65536 bytes long host name 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/valgrind399 ../src/curl -q --output log/19/curl399.out --include --trace-ascii log/19/trace399 --trace-time -K log/19/input%TESTNUM > log/19/stdout399 2> log/19/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/19/ dir 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/19/valgrind399 ../src/curl -q --output log/19/curl399.out --include --trace-ascii log/19/trace399 --trace-time -K log/19/input%TESTNUM > log/19/stdout399 2> log/19/stderr399 === End of file commands.log === Start of file http_server.log 07:51:15.819208 ====> Client connect 07:51:15.819255 accept_connection 3 returned 4 07:51:15.819274 accept_connection 3 returned 0 07:51:15.819291 Read 93 bytes 07:51:15.819302 Process 93 bytes request 07:51:15.819317 Got request: GET /verifiedserver HTTP/1.1 07:51:15.819328 Are-we-friendly question received 07:51:15.819354 Wrote request (93 bytes) input to log/19/server.input 07:51:15.819372 Identifying ourselves as friends 07:51:15.819430 Response sent (56 bytes) and written to log/19/server.response 07:51:15.819442 special request received, no persistency 07:51:15.819453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind398 ../src/curl -q --output log/22/curl398.out --include --trace-ascii log/22/trace398 --trace-time http://127.0.0.1:40377/398 > log/22/stdout398 2> log/22/stderr398 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/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: 74398 === End of file server.response === Start of file valgrind399 ==98279== ==98279== Process terminating with default action of signal 4 (SIGILL) ==98279== Illegal opcode at address 0x4013DC0 ==98279== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98279== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98279== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98279== by 0x40037A4: main (tool_main.c:199) === End of file valgrind399 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/22/valgrind398 ../src/curl -q --output log/22/curl398.out --include --trace-ascii log/22/trace398 --trace-time http://127.0.0.1:40377/398 > log/22/stdout398 2> log/22/stderr398 398: 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/ dir 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/22/valgrind398 ../src/curl -q --output log/22/curl398.out --include --trace-ascii log/22/trace398 --trace-time http://127.0.0.1:40377/398 > log/22/stdout398 2> log/22/stderr398 === End of file commands.log === Start of file http_server.log 07:51:15.819208 ====> Client connect 07:51:15.819279 accept_connection 3 returned 4 07:51:15.819300 accept_connection 3 returned 0 07:51:15.819317 Read 93 bytes 07:51:15.819345 Process 93 bytes request 07:51:15.819357 Got request: GET /verifiedserver HTTP/1.1 07:51:15.819368 Are-we-friendly question received 07:51:15.819398 Wrote request (93 bytes) input to log/22/server.input 07:51:15.819418 Identifying ourselves as friends 07:51:15.819483 Response sent (56 bytes) and written to log/22/server.response 07:51:15.819515 special request received, no persistency 07:51:15.819525 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === End of file 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/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 ttp_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: 74395 === End of file server.response === Start of file valgrind398 ==98297== ==98297== Process terminating with default action of signal 4 (SIGILL) ==98297== Illegal opcode at address 0x4013DC0 ==98297== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98297== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98297== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98297== by 0x40037A4: main (tool_main.c:199) === End of file valgrind398 CMD (33792): ../libtool --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/valgrind402 ../src/curl -q --output log/4/curl402.out --include --trace-ascii log/4/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:37071/402 > log/4/stdout402 2> log/4/stderr402 CMD (33792): ../libtool --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/valgrind405 ../src/curl -q --output log/7/curl405.out --include --trace-ascii log/7/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:39633/path/to/file/405 > log/7/stdout405 2> log/7/stderr405 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 2025-11-07 07:51:17.124040202 +0000 +++ log/16/check-generated 2025-11-07 07:51:17.124040202 +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/ dir 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 ==98445== ==98445== Process terminating with default action of signal 4 (SIGILL) ==98445== Illegal opcode at address 0x4013DC0 ==98445== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98445== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98445== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98445== by 0x40037A4: main (tool_main.c:199) === End of file valgrind411 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/4/valgrind402 ../src/curl -q --output log/4/curl402.out --include --trace-ascii log/4/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:37071/402 > log/4/stdout402 2> log/4/stderr402 402: 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/ dir 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/4/valgrind402 ../src/curl -q --output log/4/curl402.out --include --trace-ascii log/4/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:37071/402 > log/4/stdout402 2> log/4/stderr402 === End of file commands.log === Start of file ftp_server.log 07:51:16.009406 ====> Client connect 07:51:16.009577 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:16.009904 < "USER anonymous" 07:51:16.009947 > "331 We are happy you popped in![CR][LF]" 07:51:16.010151 < "PASS ftp@example.com" 07:51:16.010182 > "230 Welcome you silly person[CR][LF]" 07:51:16.010372 < "PWD" 07:51:16.010412 > "257 "/" is current directory[CR][LF]" 07:51:16.010605 < "EPSV" 07:51:16.010634 ====> Passive DATA channel requested by client 07:51:16.010649 DATA sockfilt for passive data channel starting... 07:51:16.012734 DATA sockfilt for passive data channel started (pid 98295) 07:51:16.012862 DATA sockfilt for passive data channel listens on port 44835 07:51:16.012907 > "229 Entering Passive Mode (|||44835|)[CR][LF]" 07:51:16.012933 Client has been notified that DATA conn will be accepted on port 44835 07:51:16.013185 Client connects to port 44835 07:51:16.013218 ====> Client established passive DATA connection on port 44835 07:51:16.013301 < "TYPE I" 07:51:16.013333 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:16.013516 < "SIZE verifiedserver" 07:51:16.013559 > "213 17[CR][LF]" 07:51:16.013738 < "RETR verifiedserver" 07:51:16.013778 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:16.013870 =====> Closing passive DATA connection... 07:51:16.013890 Server disconnects passive DATA connection 07:51:16.014155 Server disconnected passive DATA connection 07:51:16.014188 DATA sockfilt for passive data channel quits (pid 98295) 07:51:16.014454 DATA sockfilt for passive data channel quit (pid 98295) 07:51:16.014480 =====> Closed passive DATA connection 07:51:16.014510 > "226 File transfer complete[CR][LF]" 07:51:16.059221 < "QUIT" 07:51:16.059281 > "221 bye bye baby[CR][LF]" 07:51:16.060211 MAIN sockfilt said DISC 07:51:16.060244 ====> Client disconnected 07:51:16.060323 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:15.837238 ====> Client connect 07:51:15.837544 Received DATA (on stdin) 07:51:15.837563 > 160 bytes data, server => client 07:51:15.837577 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:15.837591 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:15.837602 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:15.837685 < 16 bytes data, client => server 07:51:15.837703 'USER anonymous\r\n' 07:51:15.837901 Received DATA (on stdin) 07:51:15.837917 > 33 bytes data, server => client 07:51:15.837930 '331 We are happy you popped in!\r\n' 07:51:15.837988 < 22 bytes data, client => server 07:51:15.838005 'PASS ftp@example.com\r\n' 07:51:15.838133 Received DATA (on stdin) 07:51:15.838147 > 30 bytes data, server => client 07:51:15.838160 '230 Welcome you silly person\r\n' 07:51:15.838216 < 5 bytes data, client => server 07:51:15.838231 'PWD\r\n' 07:51:15.838364 Received DATA (on stdin) 07:51:15.838378 > 30 bytes data, server => client 07:51:15.838391 '257 "/" is current directory\r\n' 07:51:15.838456 < 6 bytes data, client => server 07:51:15.838472 'EPSV\r\n' 07:51:15.840892 Received DATA (on stdin) 07:51:15.840907 > 39 bytes data, server => client 07:51:15.840920 '229 Entering Passive Mode (|||44835|)\r\n' 07:51:15.841042 < 8 bytes data, client => server 07:51:15.841061 'TYPE I\r\n' 07:51:15.841283 Received DATA (on stdin) 07:51:15.841298 > 33 bytes data, server => client 07:51:15.841310 '200 I modify TYPE as you wanted\r\n' 07:51:15.841365 < 21 bytes data, client => server 07:51:15.841381 'SIZE verifiedserver\r\n' 07:51:15.841510 Received DATA (on stdin) 07:51:15.841525 > 8 bytes data, server => client 07:51:15.841536 '213 17\r\n' 07:51:15.841589 < 21 bytes data, client => server 07:51:15.841604 'RETR verifiedserver\r\n' 07:51:15.841841 Received DATA (on stdin) 07:51:15.841855 > 29 bytes data, server => client 07:51:15.841867 '150 Binary junk (17 bytes).\r\n' 07:51:15.842461 Received DATA (on stdin) 07:51:15.842475 > 28 bytes data, server => client 07:51:15.842487 '226 File transfer complete\r\n' 07:51:15.886938 < 6 bytes data, client => server 07:51:15.886967 'QUIT\r\n' 07:51:15.887237 Received DATA (on stdin) 07:51:15.887253 > 18 bytes data, server => client 07:51:15.887266 '221 bye bye baby\r\n' 07:51:15.888100 ====> Client disconnect 07:51:15.888277 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:16.840481 Running IPv4 version 07:51:16.840557 Listening on port 44835 07:51:16.840594 Wrote pid 98295 to log/4/server/ftp_sockdata.pid 07:51:16.840618 Received PING (on stdin) 07:51:16.840720 Received PORT (on stdin) 07:51:16.841085 ====> Client connect 07:51:16.841896 Received DATA (on stdin) 07:51:16.841911 > 17 bytes data, server => client 07:51:16.841923 'WE ROOLZ: 80637\r\n' 07:51:16.841950 Received DISC (on stdin) 07:51:16.841964 ====> Client forcibly disconnected 07:51:16.842148 Received QUIT (on stdin) 07:51:16.842162 quits 07:51:16.842225 ============> 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/8/valgrind415 ../src/curl -q --output log/8/curl415.out --include --trace-ascii log/8/trace415 --trace-time http://127.0.0.1:36147/415 > log/8/stdout415 2> log/8/stderr415 quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==98386== ==98386== Process terminating with default action of signal 4 (SIGILL) ==98386== Illegal opcode at address 0x4013DC0 ==98386== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98386== by 0x40037A4: main (tool_main.c:199) === End of file valgrind402 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/7/valgrind405 ../src/curl -q --output log/7/curl405.out --include --trace-ascii log/7/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:39633/path/to/file/405 > log/7/stdout405 2> log/7/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/7/ dir 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/7/valgrind405 ../src/curl -q --output log/7/curl405.out --include --trace-ascii log/7/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:39633/path/to/file/405 > log/7/stdout405 2> log/7/stderr405 === End of file commands.log === Start of file ftp_server.log 07:51:16.128768 ====> Client connect 07:51:16.128942 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:16.129322 < "USER anonymous" 07:51:16.129367 > "331 We are happy you popped in![CR][LF]" 07:51:16.129556 < "PASS ftp@example.com" 07:51:16.129586 > "230 Welcome you silly person[CR][LF]" 07:51:16.129746 < "PWD" 07:51:16.129779 > "257 "/" is current directory[CR][LF]" 07:51:16.129945 < "EPSV" 07:51:16.129975 ====> Passive DATA channel requested by client 07:51:16.129989 DATA sockfilt for passive data channel starting... 07:51:16.132743 DATA sockfilt for passive data channel started (pid 98442) 07:51:16.132886 DATA sockfilt for passive data channel listens on port 36985 07:51:16.132946 > "229 Entering Passive Mode (|||36985|)[CR][LF]" 07:51:16.132964 Client has been notified that DATA conn will be accepted on port 36985 07:51:16.133246 Client connects to port 36985 07:51:16.133285 ====> Client established passive DATA connection on port 36985 07:51:16.133394 < "TYPE I" 07:51:16.133431 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:16.133623 < "SIZE verifiedserver" 07:51:16.133669 > "213 17[CR][LF]" 07:51:16.133846 < "RETR verifiedserver" 07:51:16.133881 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:16.133967 =====> Closing passive DATA connection... 07:51:16.133984 Server disconnects passive DATA connection 07:51:16.134239 Server disconnected passive DATA connection 07:51:16.134267 DATA sockfilt for passive data channel quits (pid 98442) 07:51:16.134528 DATA sockfilt for passive data channel quit (pid 98442) 07:51:16.134551 =====> Closed passive DATA connection 07:51:16.134595 > "226 File transfer complete[CR][LF]" 07:51:16.175020 < "QUIT" 07:51:16.175071 > "221 bye bye baby[CR][LF]" 07:51:16.176553 MAIN sockfilt said DISC 07:51:16.176598 ====> Client disconnected 07:51:16.176673 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:16.956590 ====> Client connect 07:51:16.956909 Received DATA (on stdin) 07:51:16.956930 > 160 bytes data, server => client 07:51:16.956945 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:16.956958 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:16.956969 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:16.957093 < 16 bytes data, client => server 07:51:16.957109 'USER anonymous\r\n' 07:51:16.957317 Received DATA (on stdin) 07:51:16.957331 > 33 bytes data, server => client 07:51:16.957343 '331 We are happy you popped in!\r\n' 07:51:16.957402 < 22 bytes data, client => server 07:51:16.957414 'PASS ftp@example.com\r\n' 07:51:16.957535 Received DATA (on stdin) 07:51:16.957547 > 30 bytes data, server => client 07:51:16.957559 '230 Welcome you silly person\r\n' 07:51:16.957606 < 5 bytes data, client => server 07:51:16.957618 'PWD\r\n' 07:51:16.957725 Received DATA (on stdin) 07:51:16.957737 > 30 bytes data, server => client 07:51:16.957749 '257 "/" is current directory\r\n' 07:51:16.957809 < 6 bytes data, client => server 07:51:16.957821 'EPSV\r\n' 07:51:16.960925 Received DATA (on stdin) 07:51:16.960944 > 39 bytes data, server => client 07:51:16.960957 '229 Entering Passive Mode (|||36985|)\r\n' 07:51:16.961135 < 8 bytes data, client => server 07:51:16.961150 'TYPE I\r\n' 07:51:16.961384 Received DATA (on stdin) 07:51:16.961398 > 33 bytes data, server => client 07:51:16.961411 '200 I modify TYPE as you wanted\r\n' 07:51:16.961471 < 21 bytes data, client => server 07:51:16.961484 'SIZE verifiedserver\r\n' 07:51:16.961618 Received DATA (on stdin) 07:51:16.961634 > 8 bytes data, server => client 07:51:16.961651 '213 17\r\n' 07:51:16.961702 < 21 bytes data, client => server 07:51:16.961715 'RETR verifiedserver\r\n' 07:51:16.961935 Received DATA (on stdin) 07:51:16.961949 > 29 bytes data, server => client 07:51:16.961961 '150 Binary junk (17 bytes).\r\n' 07:51:16.962549 Received DATA (on stdin) 07:51:16.962564 > 28 bytes data, server => client 07:51:16.962576 '226 File transfer complete\r\n' 07:51:17.002804 < 6 bytes data, client => server 07:51:17.002828 'QUIT\r\n' 07:51:17.003548 Received DATA (on stdin) 07:51:17.003570 > 18 bytes data, server => client 07:51:17.003583 '221 bye bye baby\r\n' 07:51:17.004430 ====> Client disconnect 07:51:17.004986 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:16.960277 Running IPv4 version 07:51:16.960367 Listening on port 36985 07:51:16.960411 Wrote pid 98442 to log/7/server/ftp_sockdata.pid 07:51:16.960623 Received PING (on stdin) 07:51:16.960731 Received PORT (on stdin) 07:51:16.961102 ====> Client connect 07:51:16.961988 Received DATA (on stdin) 07:51:16.962002 > 17 bytes data, server => client 07:51:16.962014 'WE ROOLZ: 95453\r\n' 07:51:16.962039 Received DISC (on stdin) 07:51:16.962052 ====> Client forcibly disconnected 07:51:16.962223 Received QUIT (on stdin) 07:51:16.962236 quits 07:51:16.962309 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 ==98568== ==98568== Process terminating with default action of signal 4 (SIGILL) ==98568== Illegal opcode at address 0x4013DC0 ==98568== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98568== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98568== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98568== by 0x40037A4: main (tool_main.c:199) === End of file valgrind405 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/8/valgrind415 ../src/curl -q --output log/8/curl415.out --include --trace-ascii log/8/trace415 --trace-time http://127.0.0.1:36147/415 > log/8/stdout415 2> log/8/stderr415 415: 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/ dir 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/8/valgrind415 ../src/curl -q --output log/8/curl415.out --include --trace-ascii log/8/trace415 --trace-time http://127.0.0.1:361CMD (33792): ../libtool --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/valgrind416 ../src/curl -q --output log/9/curl416.out --include --trace-ascii log/9/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:33709/416 > log/9/stdout416 2> log/9/stderr416 47/415 > log/8/stdout415 2> log/8/stderr415 === End of file commands.log === Start of file http_server.log 07:51:15.986563 ====> Client connect 07:51:15.986593 accept_connection 3 returned 4 07:51:15.986609 accept_connection 3 returned 0 07:51:15.986623 Read 93 bytes 07:51:15.986633 Process 93 bytes request 07:51:15.986646 Got request: GET /verifiedserver HTTP/1.1 07:51:15.986656 Are-we-friendly question received 07:51:15.986681 Wrote request (93 bytes) input to log/8/server.input 07:51:15.986697 Identifying ourselves as friends 07:51:15.986749 Response sent (56 bytes) and written to log/8/server.response 07:51:15.986760 special request received, no persistency 07:51:15.986770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41244 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind415 ==98544== ==98544== Process terminating with default action of signal 4 (SIGILL) ==98544== Illegal opcode at address 0x4013DC0 ==98544== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98544== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98544== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98544== by 0x40037A4: main (tool_main.c:199) === End of file valgrind415 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/9/valgrind416 ../src/curl -q --output log/9/curl416.out --include --trace-ascii log/9/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:33709/416 > log/9/stdout416 2> log/9/stderr416 416: 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/ dir 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/9/valgrind416 ../src/curl -q --output log/9/curl416.out --include --trace-ascii log/9/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:33709/416 > log/9/stdout416 2> log/9/stderr416 === End of file commands.log === Start of file ftp_server.log 07:51:16.170589 ====> Client connect 07:51:16.170773 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:16.171344 < "USER anonymous" 07:51:16.171412 > "331 We are happy you popped in![CR][LF]" 07:51:16.171630 < "PASS ftp@example.com" 07:51:16.171668 > "230 Welcome you silly person[CR][LF]" 07:51:16.171851 < "PWD" 07:51:16.171889 > "257 "/" is current directory[CR][LF]" 07:51:16.172074 < "EPSV" 07:51:16.172105 ====> Passive DATA channel requested by client 07:51:16.172120 DATA sockfilt for passive data channel starting... 07:51:16.174072 DATA sockfilt for passive data channel started (pid 98547) 07:51:16.174222 DATA sockfilt for passive data channel listens on port 42827 07:51:16.174279 > "229 Entering Passive Mode (|||42827|)[CR][LF]" 07:51:16.174303 Client has been notified that DATA conn will be accepted on port 42827 07:51:16.174560 Client connects to port 42827 07:51:16.174755 ====> Client established passive DATA connection on port 42827 07:51:16.174850 < "TYPE I" 07:51:16.174882 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:16.175071 < "SIZE verifiedserver" 07:51:16.175110 > "213 17[CR][LF]" 07:51:16.175286 < "RETR verifiedserver" 07:51:16.175320 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:16.175418 =====> Closing passive DATA connection... 07:51:16.175438 Server disconnects passive DATA connection 07:51:16.175699 Server disconnected passive DATA connection 07:51:16.175731 DATA sockfilt for passive data channel quits (pid 98547) 07:51:16.176024 DATA sockfilt for passive data channel quit (pid 98547) 07:51:16.176053 =====> Closed passive DATA connection 07:51:16.176087 > "226 File transfer complete[CR][LF]" 07:51:16.219213 < "QUIT" 07:51:16.219271 > "221 bye bye baby[CR][LF]" 07:51:16.219863 MAIN sockfilt said DISC 07:51:16.219900 ====> Client disconnected 07:51:16.219976 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:15.998431 ====> Client connect 07:51:15.998724 Received DATA (on stdin) 07:51:15.998760 > 160 bytes data, server => client 07:51:15.998776 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:15.998788 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:15.998801 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:15.999025 < 16 bytes data, client => server 07:51:15.999045 'USER anonymous\r\n' 07:51:15.999372 Received DATA (on stdin) 07:51:15.999389 > 33 bytes data, server => client 07:51:15.999402 '331 We are happy you popped in!\r\n' 07:51:15.999460 < 22 bytes data, client => server 07:51:15.999475 'PASS ftp@example.com\r\n' 07:51:15.999620 Received DATA (on stdin) 07:51:15.999634 > 30 bytes data, server => client 07:51:15.999646 '230 Welcome you silly person\r\n' 07:51:15.999700 < 5 bytes data, client => server 07:51:15.999715 'PWD\r\n' 07:51:15.999840 Received DATA (on stdin) 07:51:15.999854 > 30 bytes data, server => client 07:51:15.999866 '257 "/" is current directory\r\n' 07:51:15.999930 < 6 bytes data, client => server 07:51:15.999945 'EPSV\r\n' 07:51:16.002262 Received DATA (on stdin) 07:51:16.002277 > 39 bytes data, server => client 07:51:16.002290 '229 Entering Passive Mode (|||42827|)\r\n' 07:51:16.002415 < 8 bytes data, client => server 07:51:16.002433 'TYPE I\r\n' 07:51:16.002833 Received DATA (on stdin) 07:51:16.002849 > 33 bytes data, server => client 07:51:16.002862 '200 I modify TYPE as you wanted\r\n' 07:51:16.002919 < 21 bytes data, client => server 07:51:16.002935 'SIZE verifiedserver\r\n' 07:51:16.003060 Received DATA (on stdin) 07:51:16.003074 > 8 bytes data, server => client 07:51:16.003086 '213 17\r\n' 07:51:16.003140 < 21 bytes data, client => server 07:51:16.003155 'RETR verifiedserver\r\n' 07:51:16.003390 Received DATA (on stdin) 07:51:16.003405 > 29 bytes data, server => client 07:51:16.003417 '150 Binary junk (17 bytes).\r\n' 07:51:16.004040 Received DATA (on stdin) 07:51:16.004055 > 28 bytes data, server => client 07:51:16.004068 '226 File transfer complete\r\n' 07:51:16.046937 < 6 bytes data, client => server 07:51:16.046973 'QUIT\r\n' 07:51:16.047225 Received DATA (on stdin) 07:51:16.047239 > 18 bytes data, server => client 07:51:16.047292 '221 bye bye baby\r\n' 07:51:16.047747 ====> Client disconnect 07:51:16.047928 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:16.001819 Running IPv4 version 07:51:16.001900 Listening on port 42827 07:51:16.001939 Wrote pid 98547 to log/9/server/ftp_sockdata.pid 07:51:16.001961 Received PING (on stdin) 07:51:16.002064 Received PORT (on stdin) 07:51:16.002458 ====> Client connect 07:51:16.003446 Received DATA (on stdin) 07:51:16.003462 > 17 bytes data, server => client 07:51:16.003474 'WE ROOLZ: 81212\r\n' 07:51:16.003499 Received DISC (on stdin) 07:51:16.003513 ====> Client forcibly disconnected 07:51:16.003690 Received QUIT (on stdin) 07:51:16.003704 quits 07:51:16.003772 ============> sockfilt quits === End of file ftp_sockdata.log === 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/15/valgrind422 ../src/curl -q --output log/15/curl422.out --include --trace-ascii log/15/trace422 --trace-time -O -I --next http://127.0.0.1:43789/422 > log/15/stdout422 2> log/15/stderr422 ile server.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 ==98646== ==98646== Process terminating with default action of signal 4 (SIGILL) ==98646== Illegal opcode at address 0x4013DC0 ==98646== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98646== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98646== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98646== by 0x40037A4: main (tool_main.c:199) === End of file valgrind416 CMD (33792): ../libtool --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/valgrind419 ../src/curl -q --output log/23/curl419.out --include --trace-ascii log/23/trace419 --trace-time http://127.0.0.1:41029/419 -D loggg/save-here/fails > log/23/stdout419 2> log/23/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/6/valgrind418 ../src/curl -q --output log/6/curl418.out --include --trace-ascii log/6/trace418 --trace-time http://127.0.0.1:45933/418 -sS --tr-encoding > log/6/stdout418 2> log/6/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/15/valgrind422 ../src/curl -q --output log/15/curl422.out --include --trace-ascii log/15/trace422 --trace-time -O -I --next http://127.0.0.1:43789/422 > log/15/stdout422 2> log/15/stderr422 422: stderr FAILED: --- log/15/check-expected 2025-11-07 07:51:17.347373538 +0000 +++ log/15/check-generated 2025-11-07 07:51:17.347373538 +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/15/ dir 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/15/valgrind422 ../src/curl -q --output log/15/curl422.out --include --trace-ascii log/15/trace422 --trace-time -O -I --next http://127.0.0.1:43789/422 > log/15/stdout422 2> log/15/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==98782== ==98782== Process terminating with default action of signal 4 (SIGILL) ==98782== Illegal opcode at address 0x4013DC0 ==98782== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98782== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98782== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98782== by 0x40037A4: main (tool_main.c:199) === End of file valgrind422 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/23/valgrind419 ../src/curl -q --output log/23/curl419.out --include --trace-ascii log/23/trace419 --trace-time http://127.0.0.1:41029/419 -D loggg/save-here/fails > log/23/stdout419 2> log/23/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/23/ dir 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/23/valgrind419 ../src/curl -q --output log/23/curl419.out --include --trace-ascii log/23/trace419 --trace-time http://127.0.0.1:41029/419 -D loggg/save-here/fails > log/23/stdout419 2> log/23/stderr419 === End of file commands.log === Start of file http_server.log 07:51:16.111246 ====> Client connect 07:51:16.111279 accept_connection 3 returned 4 07:51:16.111298 accept_connection 3 returned 0 07:51:16.111314 Read 93 bytes 07:51:16.111326 Process 93 bytes request 07:51:16.111338 Got request: GET /verifiedserver HTTP/1.1 07:51:16.111349 Are-we-friendly question received 07:51:16.111375 Wrote request (93 bytes) input to log/23/server.input 07:51:16.111393 Identifying ourselves as friends 07:51:16.111449 Response sent (56 bytes) and written to log/23/server.response 07:51:16.111460 special request received, no persistency 07:51:16.111471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind419 ==98769== ==98769== Process terminating with default action of signal 4 (SIGILL) ==98769== Illegal opcode at address 0x4013DC0 ==98769== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98769== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98769== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98769== by 0x40037A4: main (tool_main.c:199) === 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/3/valgrind421 ../src/curl -q --output log/3/curl421.out --include --trace-ascii log/3/trace421 --trace-time http://127.0.0.1:34059/421 -w '%{stderr}%{header_json}\n' -s > log/3/stdout421 2> log/3/stderr421 CMD (33792): ../libtool --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/valgrind420 ../src/curl -q --output log/21/curl420.out --include --trace-ascii log/21/trace420 --trace-time http://127.0.0.1:45761/func_test/del_cookie -b log/21/cookie420 -c log/21/save420 > log/21/stdout420 2> log/21/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/18/valgrind423 ../src/curl -q --trace-ascii log/18/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:46763/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:46763/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/18/stdout423 2> log/18/stderr423 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/6/valgrind418 ../src/curl -q --output log/6/curl418.out --include --trace-ascii log/6/trace418 --trace-time http://127.0.0.1:45933/418 -sS --tr-encoding > log/6/stdout418 2> log/6/stderr418 418: stderr FAILED: --- log/6/check-expected 2025-11-07 07:51:17.374040205 +0000 +++ log/6/check-generated 2025-11-07 07:51:17.374040205 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/6/ dir 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/6/valgrind418 ../src/curl -q --output log/6/curl418.out --include --trace-ascii log/6/trace418 --trace-time http://127.0.0.1:45933/418 -sS --tr-encoding > log/6/stdout418 2> log/6/stderr418 === End of file commands.log === Start of file http_server.log 07:51:16.108558 ====> Client connect 07:51:16.108594 accept_connection 3 returned 4 07:51:16.108614 accept_connection 3 returned 0 07:51:16.108630 Read 93 bytes 07:51:16.108642 Process 93 bytes request 07:51:16.108657 Got request: GET /verifiedserver HTTP/1.1 07:51:16.108668 Are-we-friendly question received 07:51:16.108696 Wrote request (93 bytes) input to log/6/server.input 07:51:16.108715 Identifying ourselves as friends 07:51:16.108774 Response sent (56 bytes) and written to log/6/server.response 07:51:16.108786 special request received, no persistency 07:51:16.108796 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 58404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind418 ==98786== ==98786== Process terminating with default action of signal 4 (SIGILL) ==98786== Illegal opcode at address 0x4013DC0 ==98786== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98786== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98786== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98786== by 0x40037A4: main (tool_main.c:199) === End of file valgrind418 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/3/valgrind421 ../src/curl -q --output log/3/curl421.out --include --trace-ascii log/3/trace421 --trace-time http://127.0.0.1:34059/421 -w '%{stderr}%{header_json}\n' -s > log/3/stdout421 2> log/3/stderr421 421: stderr FAILED: --- log/3/check-expected 2025-11-07 07:51:17.380706872 +0000 +++ log/3/check-generated 2025-11-07 07:51:17.380706872 +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/3/ dir 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/3/valgrind421 ../src/curl -q --output log/3/curl421.out --include --trace-ascii log/3/trace421 --trace-time http://127.0.0.1:34059/421 -w '%{stderr}%{header_json}\n' -s > log/3/stdout421 2> log/3/stderr421 === End of file commands.log === Start of file http_server.log 07:51:17.127681 ====> Client connect 07:51:17.127712 accept_connection 3 returned 4 07:51:17.127730 accept_connection 3 returned 0 07:51:17.127746 Read 93 bytes 07:51:17.127757 Process 93 bytes request 07:51:17.127771 Got request: GET /verifiedserver HTTP/1.1 07:51:17.127782 Are-we-friendly question received 07:51:17.127805 Wrote request (93 bytes) input to log/3/server.input 07:51:17.127823 Identifying ourselves as friends 07:51:17.127877 Response sent (56 bytes) and written to log/3/server.response 07:51:17.127890 special request received, no persistency 07:51:17.127900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind421 ==98857== ==98857== Process terminating with default action of signal 4 (SIGILL) ==98857== Illegal opcode at address 0x4013DC0 ==98857== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98857== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98857== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98857== by 0x40037A4: main (tool_main.c:199) === End of file valgrind421 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/21/valgrind420 ../src/curl -q --output log/21/curl420.out --include --trace-ascii log/21/trace420 --trace-time http://127.0.0.1:45761/func_test/del_cookie -b log/21/cookie420 -c log/21/save420 > log/21/stdout420 2> log/21/stderr420 420: 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/ dir 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/21/valgrind420 ../src/curl -q --output log/21/curl420.out --include --trace-ascii log/21/trace420 --trace-time http://127.0.0.1:45761/func_test/del_cookie -b log/21/cookie420 -c log/21/save420 > log/21/stdout420 2> log/21/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 07:51:16.110672 ====> Client connect 07:51:16.110698 accept_connection 3 returned 4 07:51:16.110712 accept_connection 3 returned 0 07:51:16.110723 Read 93 bytes 07:51:16.110732 Process 93 bytes request 07:51:16.110743 Got request: GET /verifiedserver HTTP/1.1 07:51:16.110751 Are-we-friendly question received 07:51:16.110771 Wrote request (93 bytes) input to log/21/server.input 07:51:16.110786 Identifying ourselves as friends 07:51:16.110830 Response sent (56 bytes) and written to log/21/server.response 07:51:16.110839 special request received, no persistency 07:51:16.110847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 54844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind420 ==98793== ==98793== Process terminating with default action of signal 4 (SIGILL) ==98793== Illegal opcode at address 0x4013DC0 ==98793== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98793== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98793== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98793== by 0x40037A4: main (tool_main.c:199) === End of file valgrind420 CMD (33792): ../libtool --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/valgrind424 ../src/curl -q --trace-ascii log/13/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:35041/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:35041/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:35041/ -L > log/13/stdout424 2> log/13/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/18/valgrind423 ../src/curl -q --trace-ascii log/18/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:46763/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:46763/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/18/stdout423 2> log/18/stderr423 423: stdout FAILED: --- log/18/check-expected 2025-11-07 07:51:17.387373539 +0000 +++ log/18/check-generated 2025-11-07 07:51:17.387373539 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+46763+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+46763+qqqq+ffff[LF] == Contents of files in the log/18/ dir after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+46763+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+46763+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/18/valgrind423 ../src/curl -q --trace-ascii log/18/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:46763/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:46763/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/18/stdout423 2> log/18/stderr423 === End of file commands.log === Start of file http_server.log 07:51:17.148512 ====> Client connect 07:51:17.148550 accept_connection 3 returned 4 07:51:17.148569 accept_connection 3 returned 0 07:51:17.148585 Read 93 bytes 07:51:17.148596 Process 93 bytes request 07:51:17.148609 Got request: GET /verifiedserver HTTP/1.1 07:51:17.148619 Are-we-friendly question received 07:51:17.148644 Wrote request (93 bytes) input to log/18/server.input 07:51:17.148661 Identifying ourselves as friends 07:51:17.148728 Response sent (56 bytes) and written to log/18/server.response 07:51:17.148738 special request received, no persistency 07:51:17.148748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind423 ==98952== ==98952== Process terminating with default action of signal 4 (SIGILL) ==98952== Illegal opcode at address 0x4013DC0 ==98952== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==98952== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98952== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==98952== by 0x40037A4: main (tool_main.c:199) === 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/5/valgrind426 ../src/curl -q --output log/5/curl426.out --include --trace-ascii log/5/trace426 --trace-time http://127.0.0.1:42797/426 -d foobar -C 3 > log/5/stdout426 2> log/5/stderr426 CMD (33792): ../libtool --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/valgrind425 ../src/curl -q --output log/20/curl425.out --include --trace-ascii log/20/trace425 --trace-time -T log/20/up425 http://127.0.0.1:40357/425/?fullpath > log/20/stdout425 2> log/20/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/13/valgrind424 ../src/curl -q --trace-ascii log/13/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:35041/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:35041/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:35041/ -L > log/13/stdout424 2> log/13/stderr424 424: stdout FAILED: --- log/13/check-expected 2025-11-07 07:51:17.437373539 +0000 +++ log/13/check-generated 2025-11-07 07:51:17.437373539 +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/13/ dir 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/13/valgrind424 ../src/curl -q --trace-ascii log/13/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:35041/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:35041/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:35041/ -L > log/13/stdout424 2> log/13/stderr424 === End of file commands.log === Start of file http_server.log 07:51:16.202086 ====> Client connect 07:51:16.202119 accept_connection 3 returned 4 07:51:16.202136 accept_connection 3 returned 0 07:51:16.202151 Read 93 bytes 07:51:16.202162 Process 93 bytes request 07:51:16.202176 Got request: GET /verifiedserver HTTP/1.1 07:51:16.202187 Are-we-friendly question received 07:51:16.202215 Wrote request (93 bytes) input to log/13/server.input 07:51:16.202232 Identifying ourselves as friends 07:51:16.202287 Response sent (56 bytes) and written to log/13/server.response 07:51:16.202298 special request received, no persistency 07:51:16.202308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 33960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind424 ==99102== ==99102== Process terminating with default action of signal 4 (SIGILL) ==99102== Illegal opcode at address 0x4013DC0 ==99102== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99102== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99102== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99102== by 0x40037A4: main (tool_main.c:199) === End of file valgrind424 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/5/valgrind426 ../src/curl -q --output log/5/curl426.out --include --trace-ascii log/5/trace426 --trace-time http://127.0.0.1:42797/426 -d foobar -C 3 > log/5/stdout426 2> log/5/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/5/ dir 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/5/valgrind426 ../src/curl -q --output log/5/curl426.out --include --trace-ascii log/5/trace426 --trace-time http://127.0.0.1:42797/426 -d foobar -C 3 > log/5/stdout426 2> log/5/stderr426 === End of file commands.log === Start of file http_server.log 07:51:16.343426 ====> Client connect 07:51:16.343462 accept_connection 3 returned 4 07:51:16.343481 accept_connection 3 returned 0 07:51:16.343496 Read 93 bytes 07:51:16.343507 Process 93 bytes request 07:51:16.343521 Got request: GET /verifiedserver HTTP/1.1 07:51:16.343532 Are-we-friendly question received 07:51:16.343559 Wrote request (93 bytes) input to log/5/server.input 07:51:16.343595 Identifying ourselves as friends 07:51:16.343654 Response sent (56 bytes) and written to log/5/server.response 07:51:16.343666 special request received, no persistency 07:51:16.343676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind426 ==99218== ==99218== Process terminating with default action of signal 4 (SIGILL) ==99218== Illegal opcode at address 0x4013DC0 ==99218== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99218== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99218== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99218== by 0x40037A4: main (tool_main.c:199) === End of file valgrind426 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/20/valgrind425 ../src/curl -q --output log/20/curl425.out --include --trace-ascii log/20/trace425 --trace-time -T log/20/up425 http://127.0.0.1:40357/425/?fullpath > log/20/stdout425 2> log/20/stderr425 425: 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/ dir 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/20/valgrind425 ../src/curl -q --output log/20/curl425.out --include --trace-ascii log/20/trace425 --trace-time -T log/20/up425 http://127.0.0.1:40357/425/?fullpath > log/20/stdout425 2> log/20/stderr425 === End of file commands.log === Start of file http_server.log 07:51:16.321846 ====> Client connect 07:51:16.321884 accept_connection 3 returned 4 07:51:16.321903 accept_connection 3 returned 0 07:51:16.321920 Read 93 bytes 07:51:16.321930 Process 93 bytes request 07:51:16.321945 Got request: GET /verifiedserver HTTP/1.1 07:51:16.321955 Are-we-friendly question received 07:51:16.321979 Wrote request (93 bytes) input to log/20/server.input 07:51:16.321996 Identifying ourselves as friends 07:51:16.322053 Response sent (56 bytes) and written to log/20/server.response 07:51:16.322064 special request received, no persistency 07:51:16.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/17/valgrind427 ../src/curl -q --output log/17/curl427.out --include --trace-ascii log/17/trace427 --trace-time http://127.0.0.1:42601/427 -c log/17/cookies427 -L > log/17/stdout427 2> log/17/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/14/valgrind428 ../src/curl -q --output log/14/curl428.out --include --trace-ascii log/14/trace428 --trace-time http://127.0.0.1:34115/428 -K log/14/cmd > log/14/stdout428 2> log/14/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/7/valgrind443 ../src/curl -q --output log/7/curl443.out --include --trace-ascii log/7/trace443 --trace-time http://attack.invalid:39661/a/b/443 -b log/7/cookie443 --resolve attack.invalid:39661:127.0.0.1 -L > log/7/stdout443 2> log/7/stderr443 22073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==99203== ==99203== Process terminating with default action of signal 4 (SIGILL) ==99203== Illegal opcode at address 0x4013DC0 ==99203== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99203== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99203== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99203== by 0x40037A4: main (tool_main.c:199) === End of file valgrind425 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/17/valgrind427 ../src/curl -q --output log/17/curl427.out --include --trace-ascii log/17/trace427 --trace-time http://127.0.0.1:42601/427 -c log/17/cookies427 -L > log/17/stdout427 2> log/17/stderr427 427: 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/ dir 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/17/valgrind427 ../src/curl -q --output log/17/curl427.out --include --trace-ascii log/17/trace427 --trace-time http://127.0.0.1:42601/427 -c log/17/cookies427 -L > log/17/stdout427 2> log/17/stderr427 === End of file commands.log === Start of file http_server.log 07:51:17.664672 ====> Client connect 07:51:17.664705 accept_connection 3 returned 4 07:51:17.664724 accept_connection 3 returned 0 07:51:17.664739 Read 93 bytes 07:51:17.664749 Process 93 bytes request 07:51:17.664762 Got request: GET /verifiedserver HTTP/1.1 07:51:17.664772 Are-we-friendly question received 07:51:17.664797 Wrote request (93 bytes) input to log/17/server.input 07:51:17.664814 Identifying ourselves as friends 07:51:17.664868 Response sent (56 bytes) and written to log/17/server.response 07:51:17.664878 special request received, no persistency 07:51:17.664887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 50606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind427 ==99359== ==99359== Process terminating with default action of signal 4 (SIGILL) ==99359== Illegal opcode at address 0x4013DC0 ==99359== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99359== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99359== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99359== by 0x40037A4: main (tool_main.c:199) === End of file valgrind427 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/14/valgrind428 ../src/curl -q --output log/14/curl428.out --include --trace-ascii log/14/trace428 --trace-time http://127.0.0.1:34115/428 -K log/14/cmd > log/14/stdout428 2> log/14/stderr428 428: 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/ dir 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/14/valgrind428 ../src/curl -q --output log/14/curl428.out --include --trace-ascii log/14/trace428 --trace-time http://127.0.0.1:34115/428 -K log/14/cmd > log/14/stdout428 2> log/14/stderr428 === End of file commands.log === Start of file http_server.log 07:51:16.801875 ====> Client connect 07:51:16.801914 accept_connection 3 returned 4 07:51:16.801933 accept_connection 3 returned 0 07:51:16.801949 Read 93 bytes 07:51:16.801961 Process 93 bytes request 07:51:16.801975 Got request: GET /verifiedserver HTTP/1.1 07:51:16.801987 Are-we-friendly question received 07:51:16.802014 Wrote request (93 bytes) input to log/14/server.input 07:51:16.802033 Identifying ourselves as friends 07:51:16.802101 Response sent (56 bytes) and written to log/14/server.response 07:51:16.802113 special request received, no persistency 07:51:16.802123 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 36206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind428 ==99450== ==99450== Process terminating with default action of signal 4 (SIGILL) ==99450== Illegal opcode at address 0x4013DC0 ==99450== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99450== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99450== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99450== by 0x40037A4: main (tool_main.c:199) === End of file valgrind428 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/7/valgrind443 ../src/curl -q --output log/7/curl443.out --include --trace-ascii log/7/trace443 --trace-time http://attack.invalid:39661/a/b/443 -b log/7/cookie443 --resolve attack.invalid:39661:127.0.0.1 -L > log/7/stdout443 2> log/7/stderr443 443: 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/ dir 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/7/valgrind443 ../src/curl -q --output log/7/curl443.out --include --trace-ascii log/7/trace443 --trace-time http://attack.invalid:39661/a/b/443 -b log/7/cookie443 --resolve attack.invalid:39661:127.0.0.1 -L > log/7/stdout443 2> log/7/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 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind444 ../src/curl -q --output log/8/curl444.out --include --trace-ascii log/8/trace444 --trace-time http://attack.invalid:36147/a/b/444 -c log/8/cookie444 --resolve attack.invalid:36147:127.0.0.1 > log/8/stdout444 2> log/8/stderr444 CMD (33792): ../libtool --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/valgrind441 ../src/curl -q --include --trace-ascii log/16/trace441 --trace-time -x http://127.0.0.1:44351 http://this.hsts.example/441 --hsts log/16/input441 -w '%{url_effective}\n' > log/16/stdout441 2> log/16/stderr441 CMD (33792): ../libtool --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/valgrind442 ../src/curl -q --output log/4/curl442.out --include --trace-ascii log/4/trace442 --trace-time http://attack.invalid:43573/a/b/442 -b log/4/cookie442 --resolve attack.invalid:43573:127.0.0.1 -L > log/4/stdout442 2> log/4/stderr442 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-15 attack.invalid TRUE / FALSE 0 huge-16 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-16 attack.invalid TRUE / FALSE 0 huge-17 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-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 07:51:17.992615 ====> Client connect 07:51:17.992659 accept_connection 3 returned 4 07:51:17.992678 accept_connection 3 returned 0 07:51:17.992695 Read 93 bytes 07:51:17.992705 Process 93 bytes request 07:51:17.992718 Got request: GET /verifiedserver HTTP/1.1 07:51:17.992728 Are-we-friendly question received 07:51:17.992750 Wrote request (93 bytes) input to log/7/server.input 07:51:17.992767 Identifying ourselves as friends 07:51:17.992836 Response sent (56 bytes) and written to log/7/server.response 07:51:17.992846 special request received, no persistency 07:51:17.992856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 34296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind443 ==100092== ==100092== Process terminating with default action of signal 4 (SIGILL) ==100092== Illegal opcode at address 0x4013DC0 ==100092== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100092== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100092== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100092== by 0x40037A4: main (tool_main.c:199) === End of file valgrind443 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/8/valgrind444 ../src/curl -q --output log/8/curl444.out --include --trace-ascii log/8/trace444 --trace-time http://attack.invalid:36147/a/b/444 -c log/8/cookie444 --resolve attack.invalid:36147:127.0.0.1 > log/8/stdout444 2> log/8/stderr444 444: 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/ dir 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/8/valgrind444 ../src/curl -q --output log/8/curl444.out --include --trace-ascii log/8/trace444 --trace-time http://attack.invalid:36147/a/b/444 -c log/8/cookie444 --resolve attack.invalid:36147:127.0.0.1 > log/8/stdout444 2> log/8/stderr444 === End of file commands.log === Start of file http_server.log 07:51:17.003057 ====> Client connect 07:51:17.003093 accept_connection 3 returned 4 07:51:17.003111 accept_connection 3 returned 0 07:51:17.003125 Read 93 bytes 07:51:17.003136 Process 93 bytes request 07:51:17.003149 Got request: GET /verifiedserver HTTP/1.1 07:51:17.003159 Are-we-friendly question received 07:51:17.003186 Wrote request (93 bytes) input to log/8/server.input 07:51:17.003204 Identifying ourselves as friends 07:51:17.003260 Response sent (56 bytes) and written to log/8/server.response 07:51:17.003272 special request received, no persistency 07:51:17.003282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind444 ==100119== ==100119== Process terminating with default action of signal 4 (SIGILL) ==100119== Illegal opcode at address 0x4013DC0 ==100119== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100119== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100119== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100119== by 0x40037A4: main (tool_main.c:199) === End of file valgrind444 test 0441...[HSTS with no t-dot host name 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/16/valgrind441 ../src/curl -q --include --trace-ascii log/16/trace441 --trace-time -x http://127.0.0.1:44351 http://this.hsts.example/441 --hsts log/16/input441 -w '%{url_effective}\n' > log/16/stdout441 2> log/16/stderr441 441: stdout FAILED: --- log/16/check-expected 2025-11-07 07:51:18.120706878 +0000 +++ log/16/check-generated 2025-11-07 07:51:18.120706878 +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/16/ dir 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/16/valgrind441 ../src/curl -q --include --trace-ascii log/16/trace441 --trace-time -x http://127.0.0.1:44351 http://this.hsts.example/441 --hsts log/16/input441 -w '%{url_effective}\n' > log/16/stdout441 2> log/16/stderr441 === End of file commands.log === Start of file http_server.log 07:51:16.992903 ====> Client connect 07:51:16.992939 accept_connection 3 returned 4 07:51:16.992959 accept_connection 3 returned 0 07:51:16.992975 Read 93 bytes 07:51:16.992987 Process 93 bytes request 07:51:16.993000 Got request: GET /verifiedserver HTTP/1.1 07:51:16.993011 Are-we-friendly question received 07:51:16.993046 Wrote request (93 bytes) input to log/16/server.input 07:51:16.993064 Identifying ourselves as friends 07:51:16.993127 Response sent (56 bytes) and written to log/16/server.response 07:51:16.993140 special request received, no persistency 07:51:16.993151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 47704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind441 ==100087== ==100087== Process terminating with default action of signal 4 (SIGILL) ==100087== Illegal opcode at address 0x4013DC0 ==100087== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100087== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100087== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100087== by 0x40037A4: main (tool_main.c:199) === 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/4/valgrind442 ../src/curl -q --output log/4/curl442.out --include --trace-ascii log/4/trace442 --trace-time http://attack.invalid:43573/a/b/442 -b log/4/cookie442 --resolve attack.invalid:43573:127.0.0.1 -L > log/4/stdout442 2> log/4/stderr442 442: 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/ dir 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/4/valgrind442 ../src/curl -q --output log/4/curl442.out --include --trace-ascii log/4/trace442 --trace-time http://attack.invalid:43573/a/b/442 -b log/4/cookie442 --resolve attack.invalid:43573:127.0.0.1 -L > log/4/stdout442 2> log/4/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 TRUE / FALSE 0 name61 could-CMD (33792): ../libtool --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/valgrind429 ../src/curl -q --output log/1/curl429.out --include --trace-ascii log/1/trace429 --trace-time http://127.0.0.1:35709/429 -K log/1/cmd > log/1/stdout429 2> log/1/stderr429 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 07:51:17.991331 ====> Client connect 07:51:17.991365 accept_connection 3 returned 4 07:51:17.991384 accept_connection 3 returned 0 07:51:17.991400 Read 93 bytes 07:51:17.991411 Process 93 bytes request 07:51:17.991428 Got request: GET /verifiedserver HTTP/1.1 07:51:17.991438 Are-we-friendly question received 07:51:17.991466 Wrote request (93 bytes) input to log/4/server.input 07:51:17.991484 Identifying ourselves as friends 07:51:17.991543 Response sent (56 bytes) and written to log/4/server.response 07:51:17.991556 special request received, no persistency 07:51:17.991567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind442 ==100118== ==100118== Process terminating with default action of signal 4 (SIGILL) ==100118== Illegal opcode at address 0x4013DC0 ==100118== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100118== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100118== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100118== by 0x40037A4: main (tool_main.c:199) === End of file valgrind442 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/1/valgrind429 ../src/curl -q --output log/1/curl429.out --include --trace-ascii log/1/trace429 --trace-time http://127.0.0.1:35709/429 -K log/1/cmd > log/1/stdout429 2> log/1/stderr429 429: 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/ dir after test 429 === Start of file cmd --expand-data {{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}} === 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 -CMD (33792): ../libtool --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/valgrind435 ../src/curl -q --include --trace-ascii log/10/trace435 --trace-time http://127.0.0.1:34041/435 http://127.0.0.1:34041/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/10/stdout435 2> log/10/stderr435 -log-file=log/1/valgrind429 ../src/curl -q --output log/1/curl429.out --include --trace-ascii log/1/trace429 --trace-time http://127.0.0.1:35709/429 -K log/1/cmd > log/1/stdout429 2> log/1/stderr429 === End of file commands.log === Start of file http_server.log 07:51:16.824962 ====> Client connect 07:51:16.824995 accept_connection 3 returned 4 07:51:16.825012 accept_connection 3 returned 0 07:51:16.825029 Read 93 bytes 07:51:16.825040 Process 93 bytes request 07:51:16.825054 Got request: GET /verifiedserver HTTP/1.1 07:51:16.825064 Are-we-friendly question received 07:51:16.825090 Wrote request (93 bytes) input to log/1/server.input 07:51:16.825107 Identifying ourselves as friends 07:51:16.825161 Response sent (56 bytes) and written to log/1/server.response 07:51:16.825172 special request received, no persistency 07:51:16.825183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind429 ==99524== ==99524== Process terminating with default action of signal 4 (SIGILL) ==99524== Illegal opcode at address 0x4013DC0 ==99524== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99524== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99524== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99524== by 0x40037A4: main (tool_main.c:199) === End of file valgrind429 CMD (33792): ../libtool --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/valgrind434 ../src/curl -q --output log/11/curl434.out --include --trace-ascii log/11/trace434 --trace-time -K log/11/config434 > log/11/stdout434 2> log/11/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/24/valgrind430 ../src/curl -q --output log/24/curl430.out --include --trace-ascii log/24/trace430 --trace-time -K log/24/config430-a -K log/24/config430-b -K log/24/config430-c > log/24/stdout430 2> log/24/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/19/valgrind436 ../src/curl --output log/19/curl436.out --include --trace-ascii log/19/trace436 --trace-time 127.0.0.1:34835/436 > log/19/stdout436 2> log/19/stderr436 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/10/valgrind435 ../src/curl -q --include --trace-ascii log/10/trace435 --trace-time http://127.0.0.1:34041/435 http://127.0.0.1:34041/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/10/stdout435 2> log/10/stderr435 435: stdout FAILED: --- log/10/check-expected 2025-11-07 07:51:18.174040213 +0000 +++ log/10/check-generated 2025-11-07 07:51:18.174040213 +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 == 34041[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 == 34041[LF] == Contents of files in the log/10/ dir 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 == 34041[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 == 34041[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/valgrind435 ../src/curl -q --include --trace-ascii log/10/trace435 --trace-time http://127.0.0.1:34041/435 http://127.0.0.1:34041/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/10/stdout435 2> log/10/stderr435 === End of file commands.log === Start of file http_server.log 07:51:16.857310 ====> Client connect 07:51:16.857346 accept_connection 3 returned 4 07:51:16.857363 accept_connection 3 returned 0 07:51:16.857379 Read 93 bytes 07:51:16.857391 Process 93 bytes request 07:51:16.857405 Got request: GET /verifiedserver HTTP/1.1 07:51:16.857416 Are-we-friendly question received 07:51:16.857441 Wrote request (93 bytes) input to log/10/server.input 07:51:16.857459 Identifying ourselves as friends 07:51:16.857515 Response sent (56 bytes) and written to log/10/server.response 07:51:16.857527 special request received, no persistency 07:51:16.857537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 60988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind435 ==99690== ==99690== Process terminating with default action of signal 4 (SIGILL) ==99690== Illegal opcode at address 0x4013DC0 ==99690== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99690== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99690== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99690== by 0x40037A4: main (tool_main.c:199) === End of file valgrind435 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/11/valgrind434 ../src/curl -q --output log/11/curl434.out --include --trace-ascii log/11/trace434 --trace-time -K log/11/config434 > log/11/stdout434 2> log/11/stderr434 434: 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/ dir 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/11/valgrind434 ../src/curl -q --output log/11/curl434.out --include --trace-ascii log/11/trace434 --trace-time -K log/11/config434 > log/11/stdout434 2> log/11/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:38169/434 === End of file config434 === Start of file http_server.log 07:51:16.848019 ====> Client connect 07:51:16.848145 accept_connection 3 returned 4 07:51:16.848165 accept_connection 3 returned 0 07:51:16.848182 Read 93 bytes 07:51:16.848194 Process 93 bytes request 07:51:16.848208 Got request: GET /verifiedserver HTTP/1.1 07:51:16.848219 Are-we-friendly question received 07:51:16.848248 Wrote request (93 bytes) input to log/11/server.input 07:51:16.848268 Identifying ourselves as friends 07:51:16.848327 Response sent (56 bytes) and written to log/11/server.response 07:51:16.848340 special request received, no persistency 07:51:16.848351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 60254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind434 ==99591== ==99591== Process terminating with default action of signal 4 (SIGILL) ==99591== Illegal opcode at address 0x4013DC0 ==99591== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99591== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99591== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99591== by 0x40037A4: main (tool_main.c:199) === End of file valgrind434 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/24/valgrind430 ../src/curl -q --output log/24/curl430.out --include --trace-ascii log/24/trace430 --trace-time -K log/24/config430-a -K log/24/config430-b -K log/24/config430-c > log/24/stdout430 2> log/24/stderr430 430: 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/ dir 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/24/valgrind430 ../src/curl -q --output log/24/curl430.out --include --trace-ascii log/24/trace430 --trace-time -K log/24/config430-a -K log/24/config430-b -K log/24/config430-c > log/24/stdout430 2> log/24/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:41843/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:41843/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 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/2/valgrind432 ../src/curl -q --output log/2/curl432.out --include --trace-ascii log/2/trace432 --trace-time -K log/2/config432 > log/2/stdout432 2> log/2/stderr432 CMD (33792): ../libtool --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/valgrind431 ../src/curl -q --output log/12/curl431.out --include --trace-ascii log/12/trace431 --trace-time -K log/12/config431-a -K log/12/config431-b --next -d c 127.0.0.1:38023/4310003 -H "c: c" > log/12/stdout431 2> log/12/stderr431 .0.1:41843/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 07:51:16.836553 ====> Client connect 07:51:16.836584 accept_connection 3 returned 4 07:51:16.836602 accept_connection 3 returned 0 07:51:16.836617 Read 93 bytes 07:51:16.836628 Process 93 bytes request 07:51:16.836643 Got request: GET /verifiedserver HTTP/1.1 07:51:16.836653 Are-we-friendly question received 07:51:16.836678 Wrote request (93 bytes) input to log/24/server.input 07:51:16.836695 Identifying ourselves as friends 07:51:16.836752 Response sent (56 bytes) and written to log/24/server.response 07:51:16.836763 special request received, no persistency 07:51:16.836773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind430 ==99576== ==99576== Process terminating with default action of signal 4 (SIGILL) ==99576== Illegal opcode at address 0x4013DC0 ==99576== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99576== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99576== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99576== by 0x40037A4: main (tool_main.c:199) === End of file valgrind430 setenv CURL_HOME = /startdir/src/build-curl/tests/log/19 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/19/valgrind436 ../src/curl --output log/19/curl436.out --include --trace-ascii log/19/trace436 --trace-time 127.0.0.1:34835/436 > log/19/stdout436 2> log/19/stderr436 436: 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/ dir 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/19/valgrind436 ../src/curl --output log/19/curl436.out --include --trace-ascii log/19/trace436 --trace-time 127.0.0.1:34835/436 > log/19/stdout436 2> log/19/stderr436 === End of file commands.log === Start of file http_server.log 07:51:16.878066 ====> Client connect 07:51:16.878098 accept_connection 3 returned 4 07:51:16.878116 accept_connection 3 returned 0 07:51:16.878129 Read 93 bytes 07:51:16.878140 Process 93 bytes request 07:51:16.878156 Got request: GET /verifiedserver HTTP/1.1 07:51:16.878166 Are-we-friendly question received 07:51:16.878193 Wrote request (93 bytes) input to log/19/server.input 07:51:16.878210 Identifying ourselves as friends 07:51:16.878272 Response sent (56 bytes) and written to log/19/server.response 07:51:16.878285 special request received, no persistency 07:51:16.878295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind436 ==99828== ==99828== Process terminating with default action of signal 4 (SIGILL) ==99828== Illegal opcode at address 0x4013DC0 ==99828== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99828== by 0x401E424: parseconfig (tool_parsecfg.c:211) ==99828== by 0x4003372: UnknownInlinedFun (tool_operate.c:2221) ==99828== by 0x4003372: main (tool_main.c:199) === 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/2/valgrind432 ../src/curl -q --output log/2/curl432.out --include --trace-ascii log/2/trace432 --trace-time -K log/2/config432 > log/2/stdout432 2> log/2/stderr432 432: 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/ dir 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/2/valgrind432 ../src/curl -q --output log/2/curl432.out --include --trace-ascii log/2/trace432 --trace-time -K log/2/config432 > log/2/stdout432 2> log/2/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:43955/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:43955/4320002 header = "b: b" data = "b" config = "log/2/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:43955/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 07:51:17.844118 ====> Client connect 07:51:17.844157 accept_connection 3 returned 4 07:51:17.844176 accept_connection 3 returned 0 07:51:17.844195 Read 93 bytes 07:51:17.844206 Process 93 bytes request 07:51:17.844220 Got request: GET /verifiedserver HTTP/1.1 07:51:17.844231 Are-we-friendly question received 07:51:17.844256 Wrote request (93 bytes) input to log/2/server.input 07:51:17.844274 Identifying ourselves as friends 07:51:17.844350 Response sent (56 bytes) and written to log/2/server.response 07:51:17.844361 special request received, no persistency 07:51:17.844371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind432 ==99667== ==99667== Process terminating with default action of signal 4 (SIGILL) ==99667== Illegal opcode at address 0x4013DC0 ==99667== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind432 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/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/22/valgrind440 ../src/curl -q --include --trace-ascii log/22/trace440 --trace-time -x http://127.0.0.1:40377 http://this.hsts.example./440 --hsts log/22/input440 -w '%{url_effective}\n' > log/22/stdout440 2> log/22/stderr440 rind.supp --num-callers=16 --log-file=log/12/valgrind431 ../src/curl -q --output log/12/curl431.out --include --trace-ascii log/12/trace431 --trace-time -K log/12/config431-a -K log/12/config431-b --next -d c 127.0.0.1:38023/4310003 -H "c: c" > log/12/stdout431 2> log/12/stderr431 431: 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/ dir 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/12/valgrind431 ../src/curl -q --output log/12/curl431.out --include --trace-ascii log/12/trace431 --trace-time -K log/12/config431-a -K log/12/config431-b --next -d c 127.0.0.1:38023/4310003 -H "c: c" > log/12/stdout431 2> log/12/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:38023/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:38023/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 07:51:16.839749 ====> Client connect 07:51:16.839783 accept_connection 3 returned 4 07:51:16.839800 accept_connection 3 returned 0 07:51:16.839815 Read 93 bytes 07:51:16.839826 Process 93 bytes request 07:51:16.839839 Got request: GET /verifiedserver HTTP/1.1 07:51:16.839849 Are-we-friendly question received 07:51:16.839876 Wrote request (93 bytes) input to log/12/server.input 07:51:16.839893 Identifying ourselves as friends 07:51:16.839969 Response sent (56 bytes) and written to log/12/server.response 07:51:16.839981 special request received, no persistency 07:51:16.839991 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind431 ==99590== ==99590== Process terminating with default action of signal 4 (SIGILL) ==99590== Illegal opcode at address 0x4013DC0 ==99590== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99590== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99590== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99590== by 0x40037A4: main (tool_main.c:199) === End of file valgrind431 CMD (33792): ../libtool --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/valgrind448 ../src/curl -q --output log/9/curl448.out --include --trace-ascii log/9/trace448 --trace-time http://127.0.0.1:42717/448 -K log/9/cmd > log/9/stdout448 2> log/9/stderr448 CMD (33792): ../libtool --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/valgrind450 ../src/curl -q --output log/23/curl450.out --include --trace-ascii log/23/trace450 --trace-time http://127.0.0.1:41029/450 --variable what@log/23/junk --expand-data "{{what:trim:url}}" > log/23/stdout450 2> log/23/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/3/valgrind454 ../src/curl -q --output log/3/curl454.out --include --trace-ascii log/3/trace454 --trace-time http://127.0.0.1:34059/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/3/stdout454 2> log/3/stderr454 test 0440...[HSTS with trailing-dot host name 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/22/valgrind440 ../src/curl -q --include --trace-ascii log/22/trace440 --trace-time -x http://127.0.0.1:40377 http://this.hsts.example./440 --hsts log/22/input440 -w '%{url_effective}\n' > log/22/stdout440 2> log/22/stderr440 440: stdout FAILED: --- log/22/check-expected 2025-11-07 07:51:18.197373547 +0000 +++ log/22/check-generated 2025-11-07 07:51:18.197373547 +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/22/ dir 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/22/valgrind440 ../src/curl -q --include --trace-ascii log/22/trace440 --trace-time -x http://127.0.0.1:40377 http://this.hsts.example./440 --hsts log/22/input440 -w '%{url_effective}\n' > log/22/stdout440 2> log/22/stderr440 === End of file commands.log === Start of file http_server.log 07:51:16.882414 ====> Client connect 07:51:16.882447 accept_connection 3 returned 4 07:51:16.882467 accept_connection 3 returned 0 07:51:16.882483 Read 93 bytes 07:51:16.882495 Process 93 bytes request 07:51:16.882592 Got request: GET /verifiedserver HTTP/1.1 07:51:16.882608 Are-we-friendly question received 07:51:16.882637 Wrote request (93 bytes) input to log/22/server.input 07:51:16.882656 Identifying ourselves as friends 07:51:16.882717 Response sent (56 bytes) and written to log/22/server.response 07:51:16.882729 special request received, no persistency 07:51:16.882740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 42958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind440 ==99856== ==99856== Process terminating with default action of signal 4 (SIGILL) ==99856== Illegal opcode at address 0x4013DC0 ==99856== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==99856== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99856== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==99856== by 0x40037A4: main (tool_main.c:199) === End of file valgrind440 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/9/valgrind448 ../src/curl -q --output log/9/curl448.out --include --trace-ascii log/9/trace448 --trace-time http://127.0.0.1:42717/448 -K log/9/cmd > log/9/stdout448 2> log/9/stderr448 448: 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/ dir 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.supp --num-callers=16 --log-file=log/9/valgrind448 ../src/curl -q --output log/9/curl448.out --include --trace-ascii log/9/trace448 --trace-time http://127.0.0.1:42717/448 -K log/9/cmd > log/9/stdout448 2> log/9/stderr448 === End of file commands.log === Start of file http_server.log 07:51:17.072197 ====> Client connect 07:51:17.072236 accept_connection 3 returned 4 07:51:17.072254 accept_connection 3 returned 0 07:51:17.072269 Read 93 bytes 07:51:17.072280 Process 93 bytes request 07:51:17.072293 Got request: GET /verifiedserver HTTP/1.1 07:51:17.072302 Are-we-friendly question received 07:51:17.072329 Wrote request (93 bytes) input to log/9/server.input 07:51:17.072347 Identifying ourselves as friends 07:51:17.072412 Response sent (56 bytes) and written to log/9/server.response 07:51:17.072424 special request received, no persistency 07:51:17.072434 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 54460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind448 ==100312== ==100312== Process terminating with default action of signal 4 (SIGILL) ==100312== Illegal opcode at address 0x4013DC0 ==100312== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100312== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100312== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100312== by 0x40037A4: main (tool_main.c:199) === End of file valgrind448 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/23/valgrind450 ../src/curl -q --output log/23/curl450.out --include --trace-ascii log/23/trace450 --trace-time http://127.0.0.1:41029/450 --variable what@log/23/junk --expand-data "{{what:trim:url}}" > log/23/stdout450 2> log/23/stderr450 450: 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/ dir 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/23/valgrind450 ../src/curl -q --output log/23/curl450.out --include --trace-ascii log/23/trace450 --trace-time http://127.0.0.1:41029/450 --variable what@log/23/junk --expand-data "{{what:trim:url}}" > log/23/stdout450 2> log/23/stderr450 === End of file commands.log === Start of file http_server.log 07:51:17.211160 ====> Client connect 07:51:17.211194 accept_connection 3 returned 4 07:51:17.211214 accept_connection 3 returned 0 07:51:17.21122CMD (33792): ../libtool --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/valgrind452 ../src/curl -q --output log/21/curl452.out --include --trace-ascii log/21/trace452 --trace-time http://127.0.0.1:45761/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/21/stdout452 2> log/21/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/valgrind451 ../src/curl -q --output log/6/curl451.out --include --trace-ascii log/6/trace451 --trace-time http://127.0.0.1:45933/451 --variable what@log/6/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/6/stdout451 2> log/6/stderr451 9 Read 93 bytes 07:51:17.211241 Process 93 bytes request 07:51:17.211253 Got request: GET /verifiedserver HTTP/1.1 07:51:17.211264 Are-we-friendly question received 07:51:17.211290 Wrote request (93 bytes) input to log/23/server.input 07:51:17.211309 Identifying ourselves as friends 07:51:17.211370 Response sent (56 bytes) and written to log/23/server.response 07:51:17.211382 special request received, no persistency 07:51:17.211393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind450 ==100439== ==100439== Process terminating with default action of signal 4 (SIGILL) ==100439== Illegal opcode at address 0x4013DC0 ==100439== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100439== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100439== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100439== by 0x40037A4: main (tool_main.c:199) === End of file valgrind450 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/3/valgrind454 ../src/curl -q --output log/3/curl454.out --include --trace-ascii log/3/trace454 --trace-time http://127.0.0.1:34059/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/3/stdout454 2> log/3/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind454 ../src/curl -q --output log/3/curl454.out --include --trace-ascii log/3/trace454 --trace-time http://127.0.0.1:34059/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/3/stdout454 2> log/3/stderr454 === End of file commands.log === Start of file http_server.log 07:51:18.240645 ====> Client connect 07:51:18.240676 accept_connection 3 returned 4 07:51:18.240694 accept_connection 3 returned 0 07:51:18.240709 Read 93 bytes 07:51:18.240720 Process 93 bytes request 07:51:18.240734 Got request: GET /verifiedserver HTTP/1.1 07:51:18.240745 Are-we-friendly question received 07:51:18.240769 Wrote request (93 bytes) input to log/3/server.input 07:51:18.240787 Identifying ourselves as friends 07:51:18.240840 Response sent (56 bytes) and written to log/3/server.response 07:51:18.240851 special request received, no persistency 07:51:18.240862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind454 ==100537== ==100537== Process terminating with default action of signal 4 (SIGILL) ==100537== Illegal opcode at address 0x4013DC0 ==100537== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100537== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100537== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100537== by 0x40037A4: main (tool_main.c:199) === End of file valgrind454 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/21/valgrind452 ../src/curl -q --output log/21/curl452.out --include --trace-ascii log/21/trace452 --trace-time http://127.0.0.1:45761/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/21/stdout452 2> log/21/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind452 ../src/curl -q --output log/21/curl452.out --include --trace-ascii log/21/trace452 --trace-time http://127.0.0.1:45761/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/21/stdout452 2> log/21/stderr452 === End of file commands.log === Start of file http_server.log 07:51:17.241035 ====> Client connect 07:51:17.241069 accept_connection 3 returned 4 07:51:17.241087 accept_connection 3 returned 0 07:51:17.243517 Read 93 bytes 07:51:17.243547 Process 93 bytes request 07:51:17.243561 Got request: GET /verifiedserver HTTP/1.1 07:51:17.243572 Are-we-friendly question received 07:51:17.243621 Wrote request (93 bytes) input to log/21/server.input 07:51:17.243641 Identifying ourselves as friends 07:51:17.243694 Response sent (56 bytes) and written to log/21/server.response 07:51:17.243705 special request received, no persistency 07:51:17.243715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 54852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind452 ==100544== ==100544== Process terminating with default action of signal 4 (SIGILL) ==100544== Illegal opcode at address 0x4013DC0 ==100544== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100544== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100544== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100544== by 0x40037A4: main (tool_main.c:199) === End of file valgrind452 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/6/valgrind451 ../src/curl -q --output log/6/curl451.out --include --trace-ascii log/6/trace451 --trace-time http://127.0.0.1:45933/451 --variable what@log/6/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/6/stdout451 2> log/6/stderr451 451: protocol FAILED! There was no content at all in the file log/6/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/15/valgrind449 ../src/curl -q --output log/15/curl449.out --include --trace-ascii log/15/trace449 --trace-time http://127.0.0.1:43789/449 -K log/15/cmd > log/15/stdout449 2> log/15/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/18/valgrind453 ../src/curl -q --output log/18/curl453.out --include --trace-ascii log/18/trace453 --trace-time http://127.0.0.1:46763/453 --variable what@log/18/junk --expand-data "{{what}}" > log/18/stdout453 2> log/18/stderr453 erver.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ dir 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/6/valgrind451 ../src/curl -q --output log/6/curl451.out --include --trace-ascii log/6/trace451 --trace-time http://127.0.0.1:45933/451 --variable what@log/6/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/6/stdout451 2> log/6/stderr451 === End of file commands.log === Start of file http_server.log 07:51:17.227171 ====> Client connect 07:51:17.227202 accept_connection 3 returned 4 07:51:17.227220 accept_connection 3 returned 0 07:51:17.227938 Read 93 bytes 07:51:17.227960 Process 93 bytes request 07:51:17.227975 Got request: GET /verifiedserver HTTP/1.1 07:51:17.227986 Are-we-friendly question received 07:51:17.228018 Wrote request (93 bytes) input to log/6/server.input 07:51:17.228037 Identifying ourselves as friends 07:51:17.228094 Response sent (56 bytes) and written to log/6/server.response 07:51:17.228106 special request received, no persistency 07:51:17.228116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 58408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind451 ==100505== ==100505== Process terminating with default action of signal 4 (SIGILL) ==100505== Illegal opcode at address 0x4013DC0 ==100505== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100505== by 0x40037A4: main (tool_main.c:199) === End of file valgrind451 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/15/valgrind449 ../src/curl -q --output log/15/curl449.out --include --trace-ascii log/15/trace449 --trace-time http://127.0.0.1:43789/449 -K log/15/cmd > log/15/stdout449 2> log/15/stderr449 449: 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/ dir 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/15/valgrind449 ../src/curl -q --output log/15/curl449.out --include --trace-ascii log/15/trace449 --trace-time http://127.0.0.1:43789/449 -K log/15/cmd > log/15/stdout449 2> log/15/stderr449 === End of file commands.log === Start of file http_server.log 07:51:17.207685 ====> Client connect 07:51:17.207717 accept_connection 3 returned 4 07:51:17.207735 accept_connection 3 returned 0 07:51:17.207750 Read 93 bytes 07:51:17.207762 Process 93 bytes request 07:51:17.207776 Got request: GET /verifiedserver HTTP/1.1 07:51:17.207787 Are-we-friendly question received 07:51:17.207811 Wrote request (93 bytes) input to log/15/server.input 07:51:17.207829 Identifying ourselves as friends 07:51:17.207881 Response sent (56 bytes) and written to log/15/server.response 07:51:17.207892 special request received, no persistency 07:51:17.207903 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 43562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind449 ==100441== ==100441== Process terminating with default action of signal 4 (SIGILL) ==100441== Illegal opcode at address 0x4013DC0 ==100441== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100441== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100441== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100441== by 0x40037A4: main (tool_main.c:199) === End of file valgrind449 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/18/valgrind453 ../src/curl -q --output log/18/curl453.out --include --trace-ascii log/18/trace453 --trace-time http://127.0.0.1:46763/453 --variable what@log/18/junk --expand-data "{{what}}" > log/18/stdout453 2> log/18/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind453 ../src/curl -q --output log/18/curl453.out --include --trace-ascii log/18/trace453 --trace-time http://127.0.0.1:46763/453 --variable what@log/18/junk --expand-data "{{what}}" > log/18/stdout453 2> log/18/stderr453 === End of file commands.log === Start of file http_server.log 07:51:18.242760 ====> Client connect 07:51:18.242794 accept_connection 3 returned 4 07:51:18.242925 accept_connection 3 returned 0 07:51:18.242943 Read 93 bytes 07:51:18.242955 Process 93 bytes request 07:51:18.242967 Got request: GET /verifiedserver HTTP/1.1 07:51:18.242977 Are-we-friendly question received 07:51:18.243012 Wrote request (93 bytes) input to log/18/server.input 07:51:18.243031 Identifying ourselves as friends 07:51:18.243087 Response sent (56 bytes) and written to log/18/server.response 07:51:18.243098 special request received, no persistency 07:51:18.243109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start 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/13/valgrind455 ../src/curl -q --output log/13/curl455.out --include --trace-ascii log/13/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35041/{{moby:b64}}/{{what:64dec}}/455" > log/13/stdout455 2> log/13/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/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:40357/457 --max-filesize 143 > log/20/stdout457 2> log/20/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/5/valgrind456 ../src/curl -q --output log/5/curl456.out --include --trace-ascii log/5/trace456 --trace-time http://127.0.0.1:42797/456 --variable what@log/5/junk --expand-data "{{what}}" > log/5/stdout456 2> log/5/stderr456 algrind453 ==100536== ==100536== Process terminating with default action of signal 4 (SIGILL) ==100536== Illegal opcode at address 0x4013DC0 ==100536== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100536== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100536== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100536== by 0x40037A4: main (tool_main.c:199) === End of file valgrind453 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/13/valgrind455 ../src/curl -q --output log/13/curl455.out --include --trace-ascii log/13/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35041/{{moby:b64}}/{{what:64dec}}/455" > log/13/stdout455 2> log/13/stderr455 455: 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/ dir 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/13/valgrind455 ../src/curl -q --output log/13/curl455.out --include --trace-ascii log/13/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35041/{{moby:b64}}/{{what:64dec}}/455" > log/13/stdout455 2> log/13/stderr455 === End of file commands.log === Start of file http_server.log 07:51:17.302713 ====> Client connect 07:51:17.302749 accept_connection 3 returned 4 07:51:17.302767 accept_connection 3 returned 0 07:51:17.302783 Read 93 bytes 07:51:17.302795 Process 93 bytes request 07:51:17.302809 Got request: GET /verifiedserver HTTP/1.1 07:51:17.302820 Are-we-friendly question received 07:51:17.302847 Wrote request (93 bytes) input to log/13/server.input 07:51:17.302864 Identifying ourselves as friends 07:51:17.302921 Response sent (56 bytes) and written to log/13/server.response 07:51:17.302933 special request received, no persistency 07:51:17.302943 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 33968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind455 ==100766== ==100766== Process terminating with default action of signal 4 (SIGILL) ==100766== Illegal opcode at address 0x4013DC0 ==100766== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100766== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100766== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100766== by 0x40037A4: main (tool_main.c:199) === End of file valgrind455 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/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:40357/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 457: 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/ dir 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/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:40357/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 === End of file commands.log === Start of file http_server.log 07:51:17.455102 ====> Client connect 07:51:17.455137 accept_connection 3 returned 4 07:51:17.455155 accept_connection 3 returned 0 07:51:17.455170 Read 93 bytes 07:51:17.455181 Process 93 bytes request 07:51:17.455195 Got request: GET /verifiedserver HTTP/1.1 07:51:17.455206 Are-we-friendly question received 07:51:17.455231 Wrote request (93 bytes) input to log/20/server.input 07:51:17.455248 Identifying ourselves as friends 07:51:17.455301 Response sent (56 bytes) and written to log/20/server.response 07:51:17.455312 special request received, no persistency 07:51:17.455322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 53680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind457 ==100889== ==100889== Process terminating with default action of signal 4 (SIGILL) ==100889== Illegal opcode at address 0x4013DC0 ==100889== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100889== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100889== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100889== by 0x40037A4: main (tool_main.c:199) === End of file valgrind457 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/5/valgrind456 ../src/curl -q --output log/5/curl456.out --include --trace-ascii log/5/trace456 --trace-time http://127.0.0.1:42797/456 --variable what@log/5/junk --expand-data "{{what}}" > log/5/stdout456 2> log/5/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/5/ dir 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/5/valgrind456 ../src/curl -q --output log/5/curl456.out --include --trace-ascii log/5/trace456 --trace-time http://127.0.0.1:42797/456 --variable what@log/5/junk --expand-data "{{what}}" > log/5/stdout456 2> log/5/stderr456 === End of file commands.log === Start of file http_server.log 07:51:17.476697 ====> Client connect 07:51:17.476737 accept_connection 3 returned 4 07:51:17.476757 accept_connection 3 returned 0 07:51:17.476775 Read 93 bytes 07:51:17.476787 Process 93 bytes request 07:51:17.476802 Got request: GET /verifiedserver HTTP/1.1 07:51:17.476814 Are-we-friendly question received 07:51:17.476842 Wrote request (93 bytes) input to log/5/server.input 07:51:17.476863 Identifying ourselves as friends 07:51:17.476924 Response sent (56 bytes) and written to log/5/server.response 07:51:17.476936 special request received, no persistency 07:51:17.476947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connectCMD (33792): ../libtool --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/valgrind458 ../src/curl -q --include --trace-ascii log/17/trace458 --trace-time http://127.0.0.1:42601/458 -K log/17/cmd > log/17/stdout458 2> log/17/stderr458 CMD (33792): ../libtool --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/valgrind459 ../src/curl -q --output log/14/curl459.out --include --trace-ascii log/14/trace459 --trace-time http://127.0.0.1:34115/459 --config log/14/config --silent > log/14/stdout459 2> log/14/stderr459 ion to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind456 ==100903== ==100903== Process terminating with default action of signal 4 (SIGILL) ==100903== Illegal opcode at address 0x4013DC0 ==100903== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==100903== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100903== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==100903== by 0x40037A4: main (tool_main.c:199) === End of file valgrind456 setenv FUNVALUE = contents458 setenv VALUE2 = curl test 0458...[variable expand the file name 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/17/valgrind458 ../src/curl -q --include --trace-ascii log/17/trace458 --trace-time http://127.0.0.1:42601/458 -K log/17/cmd > log/17/stdout458 2> log/17/stderr458 458: 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/ dir after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/17/{{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/17/valgrind458 ../src/curl -q --include --trace-ascii log/17/trace458 --trace-time http://127.0.0.1:42601/458 -K log/17/cmd > log/17/stdout458 2> log/17/stderr458 === End of file commands.log === Start of file http_server.log 07:51:18.726706 ====> Client connect 07:51:18.726744 accept_connection 3 returned 4 07:51:18.726764 accept_connection 3 returned 0 07:51:18.726780 Read 93 bytes 07:51:18.726792 Process 93 bytes request 07:51:18.726806 Got request: GET /verifiedserver HTTP/1.1 07:51:18.726817 Are-we-friendly question received 07:51:18.726844 Wrote request (93 bytes) input to log/17/server.input 07:51:18.726864 Identifying ourselves as friends 07:51:18.726926 Response sent (56 bytes) and written to log/17/server.response 07:51:18.726939 special request received, no persistency 07:51:18.726950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 50610 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind458 ==101027== ==101027== Process terminating with default action of signal 4 (SIGILL) ==101027== Illegal opcode at address 0x4013DC0 ==101027== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101027== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101027== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101027== by 0x40037A4: main (tool_main.c:199) === End of file valgrind458 CMD (33792): ../libtool --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/valgrind460 ../src/curl -q --output log/7/curl460.out --include --trace-ascii log/7/trace460 --trace-time --expand-url > log/7/stdout460 2> log/7/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/8/valgrind461 ../src/curl -q --output log/8/curl461.out --include --trace-ascii log/8/trace461 --trace-time http://127.0.0.1:36147/461 -H host: > log/8/stdout461 2> log/8/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/1/valgrind467 ../src/curl -q --output log/1/curl467.out --include --trace-ascii log/1/trace467 --trace-time curl -v http://example.com > log/1/stdout467 2> log/1/stderr467 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/14/valgrind459 ../src/curl -q --output log/14/curl459.out --include --trace-ascii log/14/trace459 --trace-time http://127.0.0.1:34115/459 --config log/14/config --silent > log/14/stdout459 2> log/14/stderr459 459: stderr FAILED: --- log/14/check-expected 2025-11-07 07:51:19.004040221 +0000 +++ log/14/check-generated 2025-11-07 07:51:19.004040221 +0000 @@ -1,2 +0,0 @@ -Warning: log/14/config:1: warning: 'data' uses unquoted whitespace. This may [CR][LF] -Warning: cause side-effects. Consider double quotes.[CR][LF] == Contents of files in the log/14/ dir after test 459 === Start of file check-expected Warning: log/14/config:1: warning: 'data' uses unquoted whitespace. This may [CR][LF] Warning: 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/14/valgrind459 ../src/curl -q --output log/14/curl459.out --include --trace-ascii log/14/trace459 --trace-time http://127.0.0.1:34115/459 --config log/14/config --silent > log/14/stdout459 2> log/14/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 07:51:17.811028 ====> Client connect 07:51:17.811058 accept_connection 3 returned 4 07:51:17.811074 accept_connection 3 returned 0 07:51:17.811088 Read 93 bytes 07:51:17.811098 Process 93 bytes request 07:51:17.811112 Got request: GET /verifiedserver HTTP/1.1 07:51:17.811121 Are-we-friendly question received 07:51:17.811145 Wrote request (93 bytes) input to log/14/server.input 07:51:17.811161 Identifying ourselves as friends 07:51:17.811214 Response sent (56 bytes) and written to log/14/server.response 07:51:17.811224 special request received, no persistency 07:51:17.811233 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 36210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind459 ==101105== ==101105== Process terminating with default action of signal 4 (SIGILL) ==101105== Illegal opcode at address 0x4013DC0 ==101105== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101105== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101105== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101105== by 0x40037A4: main (tool_main.c:199) === 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/7/valgrind460 ../src/curl -q --output log/7/curl460.out --include --trace-ascii log/7/trace460 --trace-time --expand-url > log/7/stdout460 2> log/7/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/7/ dir 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/7/valgrind460 ../src/curl -q --output log/7/curl460.out --include --trace-ascii log/7/trace460 --trace-time --expand-url > log/7/stdout460 2> log/7/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==101159== ==101159== Process terminating with default action of signal 4 (SIGILL) ==101159== Illegal opcode at address 0x4013DC0 ==101159== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101159== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101159== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101159== by 0x40037A4: main (tool_main.c:199) === End of file valgrind460 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/8/valgrind461 ../src/curl -q --output log/8/curl461.out --include --trace-ascii log/8/trace461 --trace-time http://127.0.0.1:36147/461 -H host: > log/8/stdout461 2> log/8/stderr461 461: 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/ dir 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/8/valgrind461 ../src/curl -q --output log/8/curl461.out --include --trace-ascii log/8/trace461 --trace-time http://127.0.0.1:36147/461 -H host: > log/8/stdout461 2> log/8/stderr461 === End of file commands.log === Start of file http_server.log 07:51:17.957251 ====> Client connect 07:51:17.957279 accept_connection 3 returned 4 07:51:17.957292 accept_connection 3 returned 0 07:51:17.957304 Read 93 bytes 07:51:17.957312 Process 93 bytes request 07:51:17.957324 Got request: GET /verifiedserver HTTP/1.1 07:51:17.957332 Are-we-friendly question received 07:51:17.957353 Wrote request (93 bytes) input to log/8/server.input 07:51:17.957367 Identifying ourselves as friends 07:51:17.957409 Response sent (56 bytes) and written to log/8/server.response 07:51:17.957417 special request received, no persistency 07:51:17.957425 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind461 ==101232== ==101232== Process terminating with default action of signal 4 (SIGILL) ==101232== Illegal opcode at address 0x4013DC0 ==101232== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101232== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101232== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101232== by 0x40037A4: main (tool_main.c:199) === End of file valgrind461 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/1/valgrind467 ../src/curl -q --output log/1/curl467.out --include --trace-ascii log/1/trace467 --trace-time curl -v http://example.com > log/1/stdout467 2> log/1/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the 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/16/valgrind462 ../src/curl -q --output log/16/curl462.out --include --trace-ascii log/16/trace462 --trace-time http://127.0.0.1:44351/462 -K log/16/cmd > log/16/stdout462 2> log/16/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/4/valgrind463 ../src/curl -q --output log/4/curl463.out --include --trace-ascii log/4/trace463 --trace-time -d @log/4/input463 http://127.0.0.1:43573/463 > log/4/stdout463 2> log/4/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/19/valgrind470 ../src/curl -q --output log/19/curl470.out --include --trace-ascii log/19/trace470 --trace-time 127.0.0.1:34835 --no-progress-meter -K "log/19/input470" > log/19/stdout470 2> log/19/stderr470 /1/ dir 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/1/valgrind467 ../src/curl -q --output log/1/curl467.out --include --trace-ascii log/1/trace467 --trace-time curl -v http://example.com > log/1/stdout467 2> log/1/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==101253== ==101253== Process terminating with default action of signal 4 (SIGILL) ==101253== Illegal opcode at address 0x4013DC0 ==101253== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101253== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101253== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101253== by 0x40037A4: main (tool_main.c:199) === End of file valgrind467 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/16/valgrind462 ../src/curl -q --output log/16/curl462.out --include --trace-ascii log/16/trace462 --trace-time http://127.0.0.1:44351/462 -K log/16/cmd > log/16/stdout462 2> log/16/stderr462 curl returned 132, when expecting 2 462: exit FAILED == Contents of files in the log/16/ dir 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/16/valgrind462 ../src/curl -q --output log/16/curl462.out --include --trace-ascii log/16/trace462 --trace-time http://127.0.0.1:44351/462 -K log/16/cmd > log/16/stdout462 2> log/16/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==101235== ==101235== Process terminating with default action of signal 4 (SIGILL) ==101235== Illegal opcode at address 0x4013DC0 ==101235== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101235== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101235== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101235== by 0x40037A4: main (tool_main.c:199) === End of file valgrind462 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/4/valgrind463 ../src/curl -q --output log/4/curl463.out --include --trace-ascii log/4/trace463 --trace-time -d @log/4/input463 http://127.0.0.1:43573/463 > log/4/stdout463 2> log/4/stderr463 463: 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/ dir 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/4/valgrind463 ../src/curl -q --output log/4/curl463.out --include --trace-ascii log/4/trace463 --trace-time -d @log/4/input463 http://127.0.0.1:43573/463 > log/4/stdout463 2> log/4/stderr463 === End of file commands.log === Start of file http_server.log 07:51:18.986985 ====> Client connect 07:51:18.987021 accept_connection 3 returned 4 07:51:18.987040 accept_connection 3 returned 0 07:51:18.987056 Read 93 bytes 07:51:18.987067 Process 93 bytes request 07:51:18.987082 Got request: GET /verifiedserver HTTP/1.1 07:51:18.987092 Are-we-friendly question received 07:51:18.987120 Wrote request (93 bytes) input to log/4/server.input 07:51:18.987139 Identifying ourselves as friends 07:51:18.987204 Response sent (56 bytes) and written to log/4/server.response 07:51:18.987218 special request received, no persistency 07:51:18.987228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind463 ==101331== ==101331== Process terminating with default action of signal 4 (SIGILL) ==101331== Illegal opcode at address 0x4013DC0 ==101331== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101331== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101331== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101331== by 0x40037A4: main (tool_main.c:199) === End of file valgrind463 CMD (33792): ../libtool --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/valgrind471 ../src/curl -q --include --trace-ascii log/2/trace471 --trace-time "http://127.0.0.1:43955/{471,4710001}" -o "log/2/dumpit#1.dump" > log/2/stdout471 2> log/2/stderr471 CMD (33792): ../libtool --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/valgrind473 ../src/curl -q --output log/12/curl473.out --include --trace-ascii log/12/trace473 --trace-time http://127.0.0.1:38023/473 --etag-save log/12/etag473 > log/12/stdout473 2> log/12/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/24/valgrind469 ../src/curl -q --output log/24/curl469.out --include --trace-ascii log/24/trace469 --trace-time -H “host: 127.0.0.1:41843/“ -s > log/24/stdout469 2> log/24/stderr469 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/19/valgrind470 ../src/curl -q --output log/19/curl470.out --include --trace-ascii log/19/trace470 --trace-time 127.0.0.1:34835 --no-progress-meter -K "log/19/input470" > log/19/stdout470 2> log/19/stderr470 470: stderr FAILED: --- log/19/check-expected 2025-11-07 07:51:19.194040222 +0000 +++ log/19/check-generated 2025-11-07 07:51:19.194040222 +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/19/ dir 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/19/valgrind470 ../src/curl -q --output log/19/curl470.out --include --trace-ascii log/19/trace470 --trace-time 127.0.0.1:34835 --no-progress-meter -K "log/19/input470" > log/19/stdout470 2> log/19/stderr470 === End of file commands.log === Start of file http_server.log 07:51:18.043365 ====> Client connect 07:51:18.043400 accept_connection 3 returned 4 07:51:18.043419 accept_connection 3 returned 0 07:51:18.043435 Read 93 bytes 07:51:18.043446 Process 93 bytes request 07:51:18.043460 Got request: GET /verifiedserver HTTP/1.1 07:51:18.043470 Are-we-friendly question received 07:51:18.043495 Wrote request (93 bytes) input to log/19/server.input 07:51:18.043513 Identifying ourselves as friends 07:51:18.043570 Response sent (56 bytes) and written to log/19/server.response 07:51:18.043582 special request received, no persistency 07:51:18.043592 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind470 ==101571== ==101571== Process terminating with default action of signal 4 (SIGILL) ==101571== Illegal opcode at address 0x4013DC0 ==101571== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101571== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101571== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101571== by 0x40037A4: main (tool_main.c:199) === End of file valgrind470 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/2/valgrind471 ../src/curl -q --include --trace-ascii log/2/trace471 --trace-time "http://127.0.0.1:43955/{471,4710001}" -o "log/2/dumpit#1.dump" > log/2/stdout471 2> log/2/stderr471 471: 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/ dir 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/2/valgrind471 ../src/curl -q --include --trace-ascii log/2/trace471 --trace-time "http://127.0.0.1:43955/{471,4710001}" -o "log/2/dumpit#1.dump" > log/2/stdout471 2> log/2/stderr471 === End of file commands.log === Start of file http_server.log 07:51:19.055216 ====> Client connect 07:51:19.055250 accept_connection 3 returned 4 07:51:19.055267 accept_connection 3 returned 0 07:51:19.055283 Read 93 bytes 07:51:19.055295 Process 93 bytes request 07:51:19.055308 Got request: GET /verifiedserver HTTP/1.1 07:51:19.055319 Are-we-friendly question received 07:51:19.055345 Wrote request (93 bytes) input to log/2/server.input 07:51:19.055363 Identifying ourselves as friends 07:51:19.055421 Response sent (56 bytes) and written to log/2/server.response 07:51:19.055433 special request received, no persistency 07:51:19.055444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind471 ==101620== ==101620== Process terminating with default action of signal 4 (SIGILL) ==101620== Illegal opcode at address 0x4013DC0 ==101620== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101620== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101620== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101620== by 0x40037A4: main (tool_main.c:199) === 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/12/valgrind473 ../src/curl -q --output log/12/curl473.out --include --trace-ascii log/12/trace473 --trace-time http://127.0.0.1:38023/473 --etag-save log/12/etag473 > log/12/stdout473 2> log/12/stderr473 473: 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/ dir 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/12/valgrind473 ../src/curl -q --output log/12/curl473.out --include --trace-ascii log/12/trace473 --trace-time http://127.0.0.1:38023/473 --etag-save log/12/etag473 > log/12/stdout473 2> log/12/stderr473 === End of file commands.log === Start of file http_server.log 07:51:18.047523 ====> Client connect 07:51:18.047559 accept_connection 3 returned 4 07:51:18.047577 accept_connection 3 returned 0 07:51:18.047592 Read 93 bytes 07:51:18.047604 Process 93 bytes request 07:51:18.047616 Got request: GET /verifiedserver HTTP/1.1 07:51:18.047626 Are-we-friendly question received 07:51:18.047654 Wrote request (93 bytes) input to log/12/server.input 07:51:18.047673 Identifying ourselves as friends 07:51:18.047734 Response sent (56 bytes) and written to log/12/server.response 07:51:18.047747 special request received, no persistency 07:51:18.047759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind473 ==101629== ==101629== Process terminating with default action of signal 4 (SIGILL) ==101629== Illegal opcode at address 0x4013DC0 ==101629== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101629== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101629== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101629== by 0x40037A4: main (tool_main.c:199) === 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/valgrind468 ../src/curl -q --trace-ascii log/10/trace468 --trace-time http://127.0.0.1:34041/468 -K log/10/cmd468 -w "" > log/10/stdout468 2> log/10/stderr468 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/24/valgrind469 ../src/curl -q --output log/24/curl469.out --include --trace-ascii log/24/trace469 --trace-time -H “host: 127.0.0.1:41843/“ -s > log/24/stdout469 2> log/24/stderr469 469: stderr FAILED: --- log/24/check-expected 2025-11-07 07:51:19.220706889 +0000 +++ log/24/check-generated 2025-11-07 07:51:19.220706889 +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/24/ dir 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/24/valgrind469 ../src/curl -q --output log/24/curl469.out --include --trace-ascii log/24/trace469 --trace-time -H “host: 127.0.0.1:41843/“ -s > log/24/stdout469 2> log/24/stderr469 === End of file commands.log === Start of file http_server.log 07:51:18.032953 ====> Client connect 07:51:18.032978 accept_connection 3 returned 4 07:51:18.032997 accept_connection 3 returned 0 07:51:18.033011 Read 93 bytes 07:51:18.033022 Process 93 bytes request 07:51:18.033034 Got request: GET /verifiedserver HTTP/1.1 07:51:18.033044 Are-we-friendly question received 07:51:18.033069 Wrote request (93 bytes) input to log/24/server.input 07:51:18.033087 Identifying ourselves as friends 07:51:18.033145 Response sent (56 bytes) and written to log/24/server.response 07:51:18.033157 special request received, no persistency 07:51:18.033167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind469 ==101531== ==101531== Process terminating with default action of signal 4 (SIGILL) ==101531== Illegal opcode at address 0x4013DC0 ==101531== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101531== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101531== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101531== by 0x40037A4: main (tool_main.c:199) === End of file valgrind469 CMD (33792): ../libtool --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/valgrind477 ../src/curl -q --output log/9/curl477.out --include --trace-ascii log/9/trace477 --trace-time http://127.0.0.1:42717/477 --max-filesize 5 -L > log/9/stdout477 2> log/9/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/11/valgrind475 ../src/curl -q --output log/11/curl475.out --include --trace-ascii log/11/trace475 --trace-time "ftp://127.0.0.1:46223/475;type=a" -T log/11/test475.txt > log/11/stdout475 2> log/11/stderr475 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/10/valgrind468 ../src/curl -q --trace-ascii log/10/trace468 --trace-time http://127.0.0.1:34041/468 -K log/10/cmd468 -w "" > log/10/stdout468 2> log/10/stderr468 468: stdout FAILED: --- log/10/check-expected 2025-11-07 07:51:19.230706889 +0000 +++ log/10/check-generated 2025-11-07 07:51:19.230706889 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/10/ dir 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/10/valgrind468 ../src/curl -q --trace-ascii log/10/trace468 --trace-time http://127.0.0.1:34041/468 -K log/10/cmd468 -w "" > log/10/stdout468 2> log/10/stderr468 === End of file commands.log === Start of file http_server.log 07:51:18.032278 ====> Client connect 07:51:18.032313 accept_connection 3 returned 4 07:51:18.032332 accept_connection 3 returned 0 07:51:18.032349 Read 93 bytes 07:51:18.032360 Process 93 bytes request 07:51:18.032375 Got request: GET /verifiedserver HTTP/1.1 07:51:18.032385 Are-we-friendly question received 07:51:18.032412 Wrote request (93 bytes) input to log/10/server.input 07:51:18.032430 Identifying ourselves as friends 07:51:18.032487 Response sent (56 bytes) and written to log/10/server.response 07:51:18.032498 special request received, no persistency 07:51:18.032518 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 32770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind468 ==101534== ==101534== Process terminating with default action of signal 4 (SIGILL) ==101534== Illegal opcode at address 0x4013DC0 ==101534== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101534== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101534== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101534== by 0x40037A4: main (tool_main.c:199) === End of file valgrind468 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/9/valgrind477 ../src/curl -q --output log/9/curl477.out --include --trace-ascii log/9/trace477 --trace-time http://127.0.0.1:42717/477 --max-filesize 5 -L > log/9/stdout477 2> log/9/stderr477 477: 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/ dir 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/9/valgrind477 ../src/curl -q --output log/9/curl477.out --include --trace-ascii log/9/trace477 --trace-time http://127.0.0.1:42717/477 --max-filesize 5 -L > log/9/stdout477 2> log/9/stderr477 === End of file commands.log === Start of file http_server.log 07:51:18.107802 ====> Client connect 07:51:18.107836 accept_connection 3 returned 4 07:51:18.107855 accept_connection 3 returned 0 07:51:18.107872 Read 93 bytes 07:51:18.107883 Process 93 bytes request 07:51:18.107898 Got request: GET /verifiedserver HTTP/1.1 07:51:18.107909 Are-we-friendly question received 07:51:18.107936 Wrote request (93 bytes) input to log/9/server.input 07:51:18.107955 Identifying ourselves as friends 07:51:18.108010 Response sent (56 bytes) and written to log/9/server.response 07:51:18.108022 special request received, no persistency 07:51:18.108032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 54466 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind477 ==101828== ==101828== Process terminating with default action of signal 4 (SIGILL) ==101828== Illegal opcode at address 0x4013DC0 ==101828== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind477 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/11/valgrind475 ../src/curl -q --output log/11/curl475.out --include --trace-ascii log/11/trace475 --trace-time "ftp://127.0.0.1:46223/475;type=a" -T log/11/test475.txt > log/11/stdout475 2> log/11/stderr475 475: 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/ dir 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/11/valgrind475 ../src/curl -q --output log/11/curl475.out --include --trace-ascii log/11/trace475 --trace-time "ftp://127.0.0.1:46223/475;type=a" -T log/11/test475.txt > log/11/stdout475 2> log/11/stderr475 === End of file commands.log === Start of file ftp_server.log 07:51:18.236734 ====> Client connect 07:51:18.236892 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:18.237229 < "USER anonymous" 07:51:18.237275 > "331 We are happy you popped in![CR][LF]" 07:51:18.237472 < "PASS ftp@example.com" 07:51:18.237503 > "230 Welcome you silly person[CR][LF]" 07:51:18.237677 < "PWD" 07:51:18.237711 > "257 "/" is current directory[CR][LF]" 07:51:18.237890 < "EPSV" 07:51:18.237930 ====> Passive DATA channel requested by client 07:51:18.237947 DATA sockfilt for passive data channel starting... 07:51:18.240119 DATA sockfilt for passive data channel started (pid 101612) 07:51:18.240222 DATA sockfilt for passive data channel listens on port 33147 07:51:18.240262 > "229 Entering Passive Mode (|||33147|)[CR][LF]" 07:51:18.240279 Client has been notified that DATA conn will be accepted on port 33147 07:51:18.240497 Client connects to port 33147 07:51:18.240525 ====> Client established passive DATA connection on port 33147 07:51:18.240596 < "TYPE I" 07:51:18.240620 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:18.240770 < "SIZE verifiedserver" 07:51:18.240805 > "213 17[CR][LF]" 07:51:18.240947 < "RETR verifiedserver" 07:51:18.240977 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:18.241055 =====> Closing passive DATA connection... 07:51:18.241069 Server disconnects passive DATA connection 07:51:18.241301 Server disconnected passive DATA connection 07:51:18.241328 DATA sockfilt for passive data channel quits (pid 101612) 07:51:18.241570 DATA sockfilt for passive data channel quit (pid 101612) 07:51:18.241595 =====> Closed passive DATA connection 07:51:18.241621 > "226 File transfer complete[CR][LF]" 07:51:18.285017 < "QUIT" 07:51:18.285081 > "221 bye bye baby[CR][LF]" 07:51:18.286232 MAIN sockfilt said DISC 07:51:18.286280 ====> Client disconnected 07:51:18.286374 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:18.064576 ====> Client connect 07:51:18.064855 Received DATA (on stdin) 07:51:18.064873 > 160 bytes data, server => client 07:51:18.064888 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:18.064901 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:18.064913 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:18.064997 < 16 bytes data, client => server 07:51:18.065012 'USER anonymous\r\n' 07:51:18.065227 Received DATA (on stdin) 07:51:18.065242 > 33 bytes data, server => client 07:51:18.065255 '331 We are happy you popped in!\r\n' 07:51:18.065311 < 22 bytes data, client => server 07:51:18.065324 'PASS ftp@example.com\r\n' 07:51:18.065453 Received DATA (on stdin) 07:51:18.065466 > 30 bytes data, server => client 07:51:18.065478 '230 Welcome you silly person\r\n' 07:51:18.065531 < 5 bytes data, client => server 07:51:18.065544 'PWD\r\n' 07:51:18.065659 Received DATA (on stdin) 07:51:18.065671 > 30 bytes data, server => client 07:51:18.065684 '257 "/" is current directory\r\n' 07:51:18.065747 < 6 bytes data, client => server 07:51:18.065760 'EPSV\r\n' 07:51:18.068229 Received DATA (on stdin) 07:51:18.068243 > 39 bytes data, server => client 07:51:18.068254 '229 Entering Passive Mode (|||33147|)\r\n' 07:51:18.068391 < 8 bytes data, client => server 07:51:18.068403 'TYPE I\r\n' 07:51:18.068567 Received DATA (on stdin) 07:51:18.068579 > 33 bytes data, server => client 07:51:18.068590 '200 I modify TYPE as you wanted\r\n' 07:51:18.068637 < 21 bytes data, client => server 07:51:18.068649 'SIZE verifiedserver\r\n' 07:51:18.068751 Received DATA (on stdin) 07:51:18.068763 > 8 bytes data, server => client 07:51:18.068773 '213 17\r\n' 07:51:18.068817 < 21 bytes data, client => server 07:51:18.068828 'RETR verifiedserver\r\n' 07:51:18.069017 Received DATA (on stdin) 07:51:18.069029 > 29 bytes data, server => client 07:51:18.069039 '150 Binary junk (17 bytes).\r\n' 07:51:18.069568 Received DATA (on stdin) 07:51:18.069582 > 28 bytes data, server => client 07:51:18.069593 '226 File transfer complete\r\n' 07:51:18.112733 < 6 bytes data, client => server 07:51:18.112770 'QUIT\r\n' 07:51:18.113042 Received DATA (on stdin) 07:51:18.113059 > 18 bytes data, server => client 07:51:18.113071 '221 bye bye baby\r\n' 07:51:18.114107 ====> Client disconnect 07:51:18.114333 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:18.067892 Running IPv4 version 07:51:18.067949 Listening on port 33147 07:51:18.067989 Wrote pid 101612 to log/11/server/ftp_sockdata.pid 07:51:18.068009 Received PING (on stdin) 07:51:18.068088 Received PORT (on stdin) 07:51:18.068363 ====> Client connect 07:51:18.069063 Received DATA (on stdin) 07:51:18.069076 > 17 bytes data, server => client 07:51:18.069091 'WE ROOLZ: 83264\r\n' 07:51:18.069114 Received DISC (on stdin) 07:51:18.069125 ====> Client forcibly disconnected 07:51:18.069282 Received QUIT (on stdin) 07:51:18.069294 quits 07:51:18.069353 ============> 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 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/22/valgrind476 ../src/curl -q --output log/22/curl476.out --include --trace-ascii log/22/trace476 --trace-time "ftp://127.0.0.1:38231/476;type=a" -T log/22/test476.txt > log/22/stdout476 2> log/22/stderr476 d for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==101861== ==101861== Process terminating with default action of signal 4 (SIGILL) ==101861== Illegal opcode at address 0x4013DC0 ==101861== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101861== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101861== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101861== by 0x40037A4: main (tool_main.c:199) === End of file valgrind475 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/22/valgrind476 ../src/curl -q --output log/22/curl476.out --include --trace-ascii log/22/trace476 --trace-time "ftp://127.0.0.1:38231/476;type=a" -T log/22/test476.txt > log/22/stdout476 2> log/22/stderr476 476: 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/ dir 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/22/valgrind476 ../src/curl -q --output log/22/curl476.out --include --trace-ascii log/22/trace476 --trace-time "ftp://127.0.0.1:38231/476;type=a" -T log/22/test476.txt > log/22/stdout476 2> log/22/stderr476 === End of file commands.log === Start of file ftp_server.log 07:51:18.250865 ====> Client connect 07:51:18.251101 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:18.251454 < "USER anonymous" 07:51:18.251513 > "331 We are happy you popped in![CR][LF]" 07:51:18.251706 < "PASS ftp@example.com" 07:51:18.251737 > "230 Welcome you silly person[CR][LF]" 07:51:18.251885 < "PWD" 07:51:18.251917 > "257 "/" is current directory[CR][LF]" 07:51:18.252071 < "EPSV" 07:51:18.252096 ====> Passive DATA channel requested by client 07:51:18.252110 DATA sockfilt for passive data channel starting... 07:51:18.255847 DATA sockfilt for passive data channel started (pid 101678) 07:51:18.256855 DATA sockfilt for passive data channel listens on port 35417 07:51:18.256912 > "229 Entering Passive Mode (|||35417|)[CR][LF]" 07:51:18.256933 Client has been notified that DATA conn will be accepted on port 35417 07:51:18.257177 Client connects to port 35417 07:51:18.257207 ====> Client established passive DATA connection on port 35417 07:51:18.257284 < "TYPE I" 07:51:18.257315 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:18.257487 < "SIZE verifiedserver" 07:51:18.257523 > "213 17[CR][LF]" 07:51:18.257684 < "RETR verifiedserver" 07:51:18.257715 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:18.257796 =====> Closing passive DATA connection... 07:51:18.257814 Server disconnects passive DATA connection 07:51:18.261359 Server disconnected passive DATA connection 07:51:18.261393 DATA sockfilt for passive data channel quits (pid 101678) 07:51:18.261739 DATA sockfilt for passive data channel quit (pid 101678) 07:51:18.261790 =====> Closed passive DATA connection 07:51:18.261830 > "226 File transfer complete[CR][LF]" 07:51:18.301598 < "QUIT" 07:51:18.301675 > "221 bye bye baby[CR][LF]" 07:51:18.302846 MAIN sockfilt said DISC 07:51:18.302896 ====> Client disconnected 07:51:18.302983 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:18.078695 ====> Client connect 07:51:18.079065 Received DATA (on stdin) 07:51:18.079082 > 160 bytes data, server => client 07:51:18.079095 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:18.079107 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:18.079119 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:18.079210 < 16 bytes data, client => server 07:51:18.079224 'USER anonymous\r\n' 07:51:18.079468 Received DATA (on stdin) 07:51:18.079483 > 33 bytes data, server => client 07:51:18.079496 '331 We are happy you popped in!\r\n' 07:51:18.079553 < 22 bytes data, client => server 07:51:18.079565 'PASS ftp@example.com\r\n' 07:51:18.079684 Received DATA (on stdin) 07:51:18.079696 > 30 bytes data, server => client 07:51:18.079708 '230 Welcome you silly person\r\n' 07:51:18.079752 < 5 bytes data, client => server 07:51:18.079763 'PWD\r\n' 07:51:18.079862 Received DATA (on stdin) 07:51:18.079874 > 30 bytes data, server => client 07:51:18.079885 '257 "/" is current directory\r\n' 07:51:18.079940 < 6 bytes data, client => server 07:51:18.079952 'EPSV\r\n' 07:51:18.084886 Received DATA (on stdin) 07:51:18.084901 > 39 bytes data, server => client 07:51:18.084913 '229 Entering Passive Mode (|||35417|)\r\n' 07:51:18.085038 < 8 bytes data, client => server 07:51:18.085055 'TYPE I\r\n' 07:51:18.085264 Received DATA (on stdin) 07:51:18.085278 > 33 bytes data, server => client 07:51:18.085291 '200 I modify TYPE as you wanted\r\n' 07:51:18.085347 < 21 bytes data, client => server 07:51:18.085360 'SIZE verifiedserver\r\n' 07:51:18.085472 Received DATA (on stdin) 07:51:18.085485 > 8 bytes data, server => client 07:51:18.085496 '213 17\r\n' 07:51:18.085546 < 21 bytes data, client => server 07:51:18.085559 'RETR verifiedserver\r\n' 07:51:18.085764 Received DATA (on stdin) 07:51:18.085778 > 29 bytes data, server => client 07:51:18.085791 '150 Binary junk (17 bytes).\r\n' 07:51:18.089790 Received DATA (on stdin) 07:51:18.089809 > 28 bytes data, server => client 07:51:18.089823 '226 File transfer complete\r\n' 07:51:18.129340 < 6 bytes data, client => server 07:51:18.129375 'QUIT\r\n' 07:51:18.129644 Received DATA (on stdin) 07:51:18.129663 > 18 bytes data, server => client 07:51:18.129676 '221 bye bye baby\r\n' 07:51:18.130719 ====> Client disconnect 07:51:18.130936 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:18.081978 Running IPv4 version 07:51:18.083510 Listening on port 35417 07:51:18.083549 Wrote pid 101678 to log/22/server/ftp_sockdata.pid 07:51:18.083570 Received PING (on stdin) 07:51:18.083985 Received PORT (on stdin) 07:51:18.085077 ====> Client connect 07:51:18.087810 Received DATA (on stdin) 07:51:18.087841 > 17 bytes data, server => client 07:51:18.087856 'WE ROOLZ: 80638\r\n' 07:51:18.087903 Received DISC (on stdin) 07:51:18.087919 ====> Client forcibly disconnected 07:51:18.089385 Received QUIT (on stdin) 07:51:18.089411 quits 07:51:18.089483 ============> 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 verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifyiCMD (33792): ../libtool --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/valgrind481 ../src/curl -q --trace-ascii log/6/trace481 --trace-time http://127.0.0.1:45933/481 --no-clobber -C 1 -o "log/6/481" > log/6/stdout481 2> log/6/stderr481 ng this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==101905== ==101905== Process terminating with default action of signal 4 (SIGILL) ==101905== Illegal opcode at address 0x4013DC0 ==101905== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==101905== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101905== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==101905== by 0x40037A4: main (tool_main.c:199) === End of file valgrind476 CMD (33792): ../libtool --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/valgrind478 ../src/curl -q --output log/23/curl478.out --include --trace-ascii log/23/trace478 --trace-time --netrc --netrc-file log/23/netrc478 -x http://127.0.0.1:41029/ http://debbie@github.com/ > log/23/stdout478 2> log/23/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/15/valgrind482 ../src/curl -q --trace-ascii log/15/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/15/482" > log/15/stdout482 2> log/15/stderr482 CMD (33792): ../libtool --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/valgrind479 ../src/curl -q --output log/3/curl479.out --include --trace-ascii log/3/trace479 --trace-time --netrc --netrc-file log/3/netrc479 -L -x http://127.0.0.1:34059/ http://a.com/ > log/3/stdout479 2> log/3/stderr479 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/6/valgrind481 ../src/curl -q --trace-ascii log/6/trace481 --trace-time http://127.0.0.1:45933/481 --no-clobber -C 1 -o "log/6/481" > log/6/stdout481 2> log/6/stderr481 481: stderr FAILED: --- log/6/check-expected 2025-11-07 07:51:19.594040226 +0000 +++ log/6/check-generated 2025-11-07 07:51:19.594040226 +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/6/ dir 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/6/valgrind481 ../src/curl -q --trace-ascii log/6/trace481 --trace-time http://127.0.0.1:45933/481 --no-clobber -C 1 -o "log/6/481" > log/6/stdout481 2> log/6/stderr481 === End of file commands.log === Start of file http_server.log 07:51:18.293428 ====> Client connect 07:51:18.293470 accept_connection 3 returned 4 07:51:18.293489 accept_connection 3 returned 0 07:51:18.293506 Read 93 bytes 07:51:18.293518 Process 93 bytes request 07:51:18.293533 Got request: GET /verifiedserver HTTP/1.1 07:51:18.293544 Are-we-friendly question received 07:51:18.293569 Wrote request (93 bytes) input to log/6/server.input 07:51:18.293587 Identifying ourselves as friends 07:51:18.293659 Response sent (56 bytes) and written to log/6/server.response 07:51:18.293671 special request received, no persistency 07:51:18.293681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 58414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind481 ==102091== ==102091== Process terminating with default action of signal 4 (SIGILL) ==102091== Illegal opcode at address 0x4013DC0 ==102091== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102091== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102091== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102091== by 0x40037A4: main (tool_main.c:199) === End of file valgrind481 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/23/valgrind478 ../src/curl -q --output log/23/curl478.out --include --trace-ascii log/23/trace478 --trace-time --netrc --netrc-file log/23/netrc478 -x http://127.0.0.1:41029/ http://debbie@github.com/ > log/23/stdout478 2> log/23/stderr478 478: 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/ dir 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/23/valgrind478 ../src/curl -q --output log/23/curl478.out --include --trace-ascii log/23/trace478 --trace-time --netrc --netrc-file log/23/netrc478 -x http://127.0.0.1:41029/ http://debbie@github.com/ > log/23/stdout478 2> log/23/stderr478 === End of file commands.log === Start of file http_server.log 07:51:18.283926 ====> Client connect 07:51:18.283960 accept_connection 3 returned 4 07:51:18.283979 accept_connection 3 returned 0 07:51:18.283995 Read 93 bytes 07:51:18.284006 Process 93 bytes request 07:51:18.284022 Got request: GET /verifiedserver HTTP/1.1 07:51:18.284033 Are-we-friendly question received 07:51:18.284062 Wrote request (93 bytes) input to log/23/server.input 07:51:18.284080 Identifying ourselves as friends 07:51:18.284142 Response sent (56 bytes) and written to log/23/server.response 07:51:18.284155 special request received, no persistency 07:51:18.284166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind478 ==102072== ==102072== Process terminating with default action of signal 4 (SIGILL) ==102072== Illegal opcode at address 0x4013DC0 ==102072== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind478 CMD (33792): ../libtool --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/valgrind484 ../src/curl -q --output log/13/curl484.out --include --trace-ascii log/13/trace484 --trace-time http://example.com/484 --etag-compare log/13/etag484 --etag-save log/13/etag484 --url http://example.net/fooo > log/13/stdout484 2> log/13/stderr484 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/15/valgrind482 ../src/curl -q --trace-ascii log/15/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/15/482" > log/15/stdout482 2> log/15/stderr482 482: stderr FAILED: --- log/15/check-expected 2025-11-07 07:51:19.617373560 +0000 +++ log/15/check-generated 2025-11-07 07:51:19.617373560 +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/15/ dir 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/15/valgrind482 ../src/curl -q --trace-ascii log/15/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/15/482" > log/15/stdout482 2> log/15/stderr482 === End of file commands.log === Start of file http_server.log 07:51:18.299251 ====> Client connect 07:51:18.299289 accept_connection 3 returned 4 07:51:18.299307 accept_connection 3 returned 0 07:51:18.299323 Read 93 bytes 07:51:18.299335 Process 93 bytes request 07:51:18.299348 Got request: GET /verifiedserver HTTP/1.1 07:51:18.299359 Are-we-friendly question received 07:51:18.299384 Wrote request (93 bytes) input to log/15/server.input 07:51:18.299402 Identifying ourselves as friends 07:51:18.299481 Response sent (56 bytes) and written to log/15/server.response 07:51:18.299493 special request received, no persistency 07:51:18.299503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 43578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind482 ==102101== ==102101== Process terminating with default action of signal 4 (SIGILL) ==102101== Illegal opcode at address 0x4013DC0 ==102101== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102101== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102101== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102101== by 0x40037A4: main (tool_main.c:199) === End of file valgrind482 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/3/valgrind479 ../src/curl -q --output log/3/curl479.out --include --trace-ascii log/3/trace479 --trace-time --netrc --netrc-file log/3/netrc479 -L -x http://127.0.0.1:34059/ http://a.com/ > log/3/stdout479 2> log/3/stderr479 479: 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/ dir 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/3/valgrind479 ../src/curl -q --output log/3/curl479.out --include --trace-ascii log/3/trace479 --trace-time --netrc --netrc-file log/3/netrc479 -L -x http://127.0.0.1:34059/ http://a.com/ > log/3/stdout479 2> log/3/stderr479 === End of file commands.log === Start of file http_server.log 07:51:19.286825 ====> Client connect 07:51:19.286855 accept_connection 3 returned 4 07:51:19.286871 accept_connection 3 returned 0 07:51:19.286885 Read 93 bytes 07:51:19.286896 Process 93 bytes request 07:51:19.286907 Got request: GET /verifiedserver HTTP/1.1 07:51:19.286917 Are-we-friendly question received 07:51:19.286940 Wrote request (93 bytes) input to log/3/server.input 07:51:19.286957 Identifying ourselves as friends 07:51:19.287007 Response sent (56 bytes) and written to log/3/server.response 07:51:19.287017 special request received, no persistency 07:51:19.287027 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind479 ==102073== ==102073== Process terminating with default action of signal 4 (SIGILL) ==102073== Illegal opcode at address 0x4013DC0 ==102073== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102073== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102073== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102073== by 0x40037A4: main (tool_main.c:199) === End of file valgrind479 CMD (33792): ../libtool --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/valgrind483 ../src/curl -q --output log/18/curl483.out --include --trace-ascii log/18/trace483 --trace-time http://127.0.0.1:46763/483 -c log/18/c483 > log/18/stdout483 2> log/18/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/20/valgrind485 ../src/curl -q --output log/20/curl485.out --include --trace-ascii log/20/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/20/etag485 > log/20/stdout485 2> log/20/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/13/valgrind484 ../src/curl -q --output log/13/curl484.out --include --trace-ascii log/13/trace484 --trace-time http://example.com/484 --etag-compare log/13/etag484 --etag-save log/13/etag484 --url http://example.net/fooo > log/13/stdout484 2> log/13/stderr484 484: stderr FAILED: --- log/13/check-expected 2025-11-07 07:51:19.634040227 +0000 +++ log/13/check-generated 2025-11-07 07:51:19.634040227 +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/13/ dir 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/13/valgrind484 ../src/curl -q --output log/13/curl484.out --include --trace-ascii log/13/trace484 --trace-time http://example.com/484 --etag-compare log/13/etag484 --etag-save log/13/etag484 --url http://example.net/fooo > log/13/stdout484 2> log/13/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==102250== ==102250== Process terminating with default action of signal 4 (SIGILL) ==102250== Illegal opcode at address 0x4013DC0 ==102250== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102250== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102250== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102250== by 0x40037A4: main (tool_main.c:199) === End of file valgrind484 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/18/valgrind483 ../src/curl -q --output log/18/curl483.out --include --trace-ascii log/18/trace483 --trace-time http://127.0.0.1:46763/483 -c log/18/c483 > log/18/stdout483 2> log/18/stderr483 483: 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/ dir 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/18/valgrind483 ../src/curl -q --output log/18/curl483.out --include --trace-ascii log/18/trace483 --trace-time http://127.0.0.1:46763/483 -c log/18/c483 > log/18/stdout483 2> log/18/stderr483 === End of file commands.log === Start of file http_server.log 07:51:19.307881 ====> Client connect 07:51:19.307913 accept_connection 3 returned 4 07:51:19.307931 accept_connection 3 returned 0 07:51:19.307946 Read 93 bytes 07:51:19.307957 Process 93 bytes request 07:51:19.307972 Got request: GET /verifiedserver HTTP/1.1 07:51:19.307983 Are-we-friendly question received 07:51:19.308006 Wrote request (93 bytes) input to log/18/server.input 07:51:19.308024 Identifying ourselves as friends 07:51:19.308077 Response sent (56 bytes) and written to log/18/server.response 07:51:19.308089 special request received, no persistency 07:51:19.308100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind483 ==102131== ==102131== Process terminating with default action of signal 4 (SIGILL) ==102131== Illegal opcode at address 0x4013DC0 ==102131== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102131== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102131== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102131== by 0x40037A4: main (tool_main.c:199) === End of file valgrind483 CMD (33792): ../libtool --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:42797/ 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/17/valgrind487 ../src/curl -q --output log/17/curl487.out --include --trace-ascii log/17/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:42601/{{what:64dec}}/487" -g > log/17/stdout487 2> log/17/stderr487 CMD (33792): ../libtool --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/valgrind489 ../src/curl -q --output log/7/curl489.out --include --trace-ascii log/7/trace489 --trace-time --output-dir log/7 --url @log/7/urls > log/7/stdout489 2> log/7/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/20/valgrind485 ../src/curl -q --output log/20/curl485.out --include --trace-ascii log/20/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/20/etag485 > log/20/stdout485 2> log/20/stderr485 485: stderr FAILED: --- log/20/check-expected 2025-11-07 07:51:19.694040227 +0000 +++ log/20/check-generated 2025-11-07 07:51:19.694040227 +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/20/ dir 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/20/valgrind485 ../src/curl -q --output log/20/curl485.out --include --trace-ascii log/20/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/20/etag485 > log/20/stdout485 2> log/20/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==102396== ==102396== Process terminating with default action of signal 4 (SIGILL) ==102396== Illegal opcode at address 0x4013DC0 ==102396== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102396== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102396== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102396== by 0x40037A4: main (tool_main.c:199) === End of file valgrind485 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:42797/ 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/ dir 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:42797/ http://a.com/ > log/5/stdout486 2> log/5/stderr486 === End of file commands.log === Start of file http_server.log 07:51:18.554026 ====> Client connect 07:51:18.554063 accept_connection 3 returned 4 07:51:18.554083 accept_connection 3 returned 0 07:51:18.554099 Read 93 bytes 07:51:18.554111 Process 93 bytes request 07:51:18.554126 Got request: GET /verifiedserver HTTP/1.1 07:51:18.554136 Are-we-friendly question received 07:51:18.554164 Wrote request (93 bytes) input to log/5/server.input 07:51:18.554183 Identifying ourselves as friends 07:51:18.554242 Response sent (56 bytes) and written to log/5/server.response 07:51:18.554254 special request received, no persistency 07:51:18.554265 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind486 ==102455== ==102455== Process terminating with default action of signal 4 (SIGILL) ==102455== Illegal opcode at address 0x4013DC0 ==102455== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102455== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102455== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102455== by 0x40037A4: main (tool_main.c:199) === End of file valgrind486 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/17/valgrind487 ../src/curl -q --output log/17/curl487.out --include --trace-ascii log/17/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:42601/{{what:64dec}}/487" -g > log/17/stdout487 2> log/17/stderr487 487: 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/ dir 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/17/valgrind487 ../src/curl -q --output log/17/curl487.out --include --trace-ascii log/17/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:42601/{{what:64dec}}/487" -g > log/17/stdout487 2> log/17/stderr487 === End of file commands.log === Start of file http_server.log 07:51:19.796405 ====> Client connect 07:51:19.796440 accept_connection 3 returned 4 07:51:19.796459 accept_connection 3 returned 0 07:51:19.796475 Read 93 bytes 07:51:19.796488 Process 93 bytes request 07:51:19.796503 Got request: GET /verifiedserver HTTP/1.1 07:51:19.796514 Are-we-friendly question received 07:51:19.796541 Wrote request (93 bytes) input to log/17/server.input 07:51:19.796560 Identifying ourselves as friends 07:51:19.796618 Response sent (56 bytes) and written to log/17/server.response 07:51:19.796631 special request received, no persistency 07:51:19.796642 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 50612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind487 ==102561== ==102561== Process terminating with default action of signal 4 (SIGILL) ==102561== Illegal opcode at address 0x4013DC0 ==102561== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102561== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102561== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102561== by 0x40037A4: main (tool_main.c:199) === End of file valgrind487 test 0489...[Download two URLs CMD (33792): ../libtool --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/valgrind488 ../src/curl -q --output log/14/curl488.out --include --trace-ascii log/14/trace488 --trace-time --output-dir log/14 --url @- log/14/stdout488 2> log/14/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/9/valgrind499 ../src/curl -q --output log/9/curl499.out --include --trace-ascii log/9/trace499 --trace-time http://127.0.0.1:42717/499 -I > log/9/stdout499 2> log/9/stderr499 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/7/valgrind489 ../src/curl -q --output log/7/curl489.out --include --trace-ascii log/7/trace489 --trace-time --output-dir log/7 --url @log/7/urls > log/7/stdout489 2> log/7/stderr489 489: 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/ dir 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/7/valgrind489 ../src/curl -q --output log/7/curl489.out --include --trace-ascii log/7/trace489 --trace-time --output-dir log/7 --url @log/7/urls > log/7/stdout489 2> log/7/stderr489 === End of file commands.log === Start of file http_server.log 07:51:19.896075 ====> Client connect 07:51:19.896106 accept_connection 3 returned 4 07:51:19.896123 accept_connection 3 returned 0 07:51:19.896138 Read 93 bytes 07:51:19.896149 Process 93 bytes request 07:51:19.896163 Got request: GET /verifiedserver HTTP/1.1 07:51:19.896173 Are-we-friendly question received 07:51:19.896196 Wrote request (93 bytes) input to log/7/server.input 07:51:19.896214 Identifying ourselves as friends 07:51:19.896266 Response sent (56 bytes) and written to log/7/server.response 07:51:19.896278 special request received, no persistency 07:51:19.896288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 34310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file urls http://127.0.0.1:39661/a http://127.0.0.1:39661/b === End of file urls === Start of file valgrind489 ==102676== ==102676== Process terminating with default action of signal 4 (SIGILL) ==102676== Illegal opcode at address 0x4013DC0 ==102676== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102676== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102676== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102676== by 0x40037A4: main (tool_main.c:199) === End of file valgrind489 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/14/valgrind488 ../src/curl -q --output log/14/curl488.out --include --trace-ascii log/14/trace488 --trace-time --output-dir log/14 --url @- log/14/stdout488 2> log/14/stderr488 488: 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/ dir 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/14/valgrind488 ../src/curl -q --output log/14/curl488.out --include --trace-ascii log/14/trace488 --trace-time --output-dir log/14 --url @- log/14/stdout488 2> log/14/stderr488 === End of file commands.log === Start of file http_server.log 07:51:18.875824 ====> Client connect 07:51:18.875873 accept_connection 3 returned 4 07:51:18.875893 accept_connection 3 returned 0 07:51:18.875910 Read 93 bytes 07:51:18.875922 Process 93 bytes request 07:51:18.875937 Got request: GET /verifiedserver HTTP/1.1 07:51:18.875948 Are-we-friendly question received 07:51:18.875977 Wrote request (93 bytes) input to log/14/server.input 07:51:18.875996 Identifying ourselves as friends 07:51:18.876058 Response sent (56 bytes) and written to log/14/server.response 07:51:18.876071 special request received, no persistency 07:51:18.876082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 36218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:34115/a http://127.0.0.1:34115/b === End of file stdin-for-488 === Start of file valgrind488 ==102640== ==102640== Process terminating with default action of signal 4 (SIGILL) ==102640== Illegal opcode at address 0x4013DC0 ==102640== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102640== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102640== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102640== by 0x40037A4: main (tool_main.c:199) === End of file valgrind488 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/9/valgrind499 ../src/curl -q --output log/9/curl499.out --include --trace-ascii log/9/trace499 --trace-time http://127.0.0.1:42717/499 -I > log/9/stdout499 2> log/9/stderr499 499: 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/ dir 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/9/valgrind499 ../src/curl -q --output log/9/curl499.out --include --trace-ascii log/9/trace499 --trace-time http://127.0.0.1:42717/499 -I > log/9/stdout499 2> log/9/stderr499 === End of file commands.log === Start of file http_server.log 07:51:19.127533 ====> Client connect 07:51:19.127568 accept_connection 3 returned 4 07:51:19.127588 accept_connection 3 returned 0 07:51:19.127604 Read 93 bytes 07:51:19.127617 Process 93 bytes request 07:51:19.127631 Got request: GET /verifiedserver HTTP/1.1 07:51:19.127642 Are-we-friendly question received 07:51:19.127671 Wrote request (93 bytes) input to log/9/server.input 07:51:19.127691 Identifying ourselves as friends 07:51:19.127753 Response sent (56 bytes) and written to log/9/server.response 07:51:19.127766 special request received, no persistency 07:51:19.127777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 54470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === End of file http_verify.out === Start of filCMD (33792): ../libtool --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/valgrind494 ../src/curl -q --output log/19/curl494.out --include --trace-ascii log/19/trace494 --trace-time --netrc --netrc-file log/19/netrc494 ftp://127.0.0.1:44991/494 > log/19/stdout494 2> log/19/stderr494 CMD (33792): ../libtool --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/valgrind491 ../src/curl -q --output log/1/curl491.out --include --trace-ascii log/1/trace491 --trace-time http://127.0.0.1:35709/491 -T '{log/1/in491,log/1/bad491}' > log/1/stdout491 2> log/1/stderr491 e server.cmd Testnum 499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74613 === End of file server.response === Start of file valgrind499 ==103247== ==103247== Process terminating with default action of signal 4 (SIGILL) ==103247== Illegal opcode at address 0x4013DC0 ==103247== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103247== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103247== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103247== by 0x40037A4: main (tool_main.c:199) === End of file valgrind499 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/19/valgrind494 ../src/curl -q --output log/19/curl494.out --include --trace-ascii log/19/trace494 --trace-time --netrc --netrc-file log/19/netrc494 ftp://127.0.0.1:44991/494 > log/19/stdout494 2> log/19/stderr494 494: 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/ dir 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/19/valgrind494 ../src/curl -q --output log/19/curl494.out --include --trace-ascii log/19/trace494 --trace-time --netrc --netrc-file log/19/netrc494 ftp://127.0.0.1:44991/494 > log/19/stdout494 2> log/19/stderr494 === End of file commands.log === Start of file ftp_server.log 07:51:19.230776 ====> Client connect 07:51:19.230950 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:19.231276 < "USER anonymous" 07:51:19.231325 > "331 We are happy you popped in![CR][LF]" 07:51:19.231537 < "PASS ftp@example.com" 07:51:19.231570 > "230 Welcome you silly person[CR][LF]" 07:51:19.231754 < "PWD" 07:51:19.231793 > "257 "/" is current directory[CR][LF]" 07:51:19.231972 < "EPSV" 07:51:19.232000 ====> Passive DATA channel requested by client 07:51:19.232016 DATA sockfilt for passive data channel starting... 07:51:19.234180 DATA sockfilt for passive data channel started (pid 102974) 07:51:19.234351 DATA sockfilt for passive data channel listens on port 42161 07:51:19.234415 > "229 Entering Passive Mode (|||42161|)[CR][LF]" 07:51:19.234437 Client has been notified that DATA conn will be accepted on port 42161 07:51:19.235424 Client connects to port 42161 07:51:19.235473 ====> Client established passive DATA connection on port 42161 07:51:19.235578 < "TYPE I" 07:51:19.235618 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:19.235853 < "SIZE verifiedserver" 07:51:19.235896 > "213 17[CR][LF]" 07:51:19.236079 < "RETR verifiedserver" 07:51:19.236115 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:19.236207 =====> Closing passive DATA connection... 07:51:19.236226 Server disconnects passive DATA connection 07:51:19.236427 Server disconnected passive DATA connection 07:51:19.236459 DATA sockfilt for passive data channel quits (pid 102974) 07:51:19.236721 DATA sockfilt for passive data channel quit (pid 102974) 07:51:19.236749 =====> Closed passive DATA connection 07:51:19.236779 > "226 File transfer complete[CR][LF]" 07:51:19.280329 < "QUIT" 07:51:19.280393 > "221 bye bye baby[CR][LF]" 07:51:19.281529 MAIN sockfilt said DISC 07:51:19.281576 ====> Client disconnected 07:51:19.281639 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:19.058621 ====> Client connect 07:51:19.058919 Received DATA (on stdin) 07:51:19.058937 > 160 bytes data, server => client 07:51:19.058950 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:19.058962 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:19.058973 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:19.059060 < 16 bytes data, client => server 07:51:19.059074 'USER anonymous\r\n' 07:51:19.059280 Received DATA (on stdin) 07:51:19.059295 > 33 bytes data, server => client 07:51:19.059307 '331 We are happy you popped in!\r\n' 07:51:19.059367 < 22 bytes data, client => server 07:51:19.059381 'PASS ftp@example.com\r\n' 07:51:19.059520 Received DATA (on stdin) 07:51:19.059534 > 30 bytes data, server => client 07:51:19.059546 '230 Welcome you silly person\r\n' 07:51:19.059605 < 5 bytes data, client => server 07:51:19.059619 'PWD\r\n' 07:51:19.059742 Received DATA (on stdin) 07:51:19.059755 > 30 bytes data, server => client 07:51:19.059766 '257 "/" is current directory\r\n' 07:51:19.059827 < 6 bytes data, client => server 07:51:19.059841 'EPSV\r\n' 07:51:19.062390 Received DATA (on stdin) 07:51:19.062411 > 39 bytes data, server => client 07:51:19.062424 '229 Entering Passive Mode (|||42161|)\r\n' 07:51:19.062597 < 8 bytes data, client => server 07:51:19.062612 'TYPE I\r\n' 07:51:19.063576 Received DATA (on stdin) 07:51:19.063595 > 33 bytes data, server => client 07:51:19.063608 '200 I modify TYPE as you wanted\r\n' 07:51:19.063698 < 21 bytes data, client => server 07:51:19.063714 'SIZE verifiedserver\r\n' 07:51:19.063845 Received DATA (on stdin) 07:51:19.063859 > 8 bytes data, server => client 07:51:19.063870 '213 17\r\n' 07:51:19.063929 < 21 bytes data, client => server 07:51:19.063944 'RETR verifiedserver\r\n' 07:51:19.064177 Received DATA (on stdin) 07:51:19.064192 > 29 bytes data, server => client 07:51:19.064205 '150 Binary junk (17 bytes).\r\n' 07:51:19.064729 Received DATA (on stdin) 07:51:19.064745 > 28 bytes data, server => client 07:51:19.064757 '226 File transfer complete\r\n' 07:51:19.108107 < 6 bytes data, client => server 07:51:19.108132 'QUIT\r\n' 07:51:19.108377 Received DATA (on stdin) 07:51:19.108394 > 18 bytes data, server => client 07:51:19.108406 '221 bye bye baby\r\n' 07:51:19.109409 ====> Client disconnect 07:51:19.109960 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:19.061754 Running IPv4 version 07:51:19.061822 Listening on port 42161 07:51:19.061858 Wrote pid 102974 to log/19/server/ftp_sockdata.pid 07:51:19.061911 Received PING (on stdin) 07:51:19.062169 Received PORT (on stdin) 07:51:19.062532 ====> Client connect 07:51:19.064147 Received DATA (on stdin) 07:51:19.064170 > 17 bytes data, server => client 07:51:19.064182 'WE ROOLZ: 80634\r\n' 07:51:19.064211 Received DISC (on stdin) 07:51:19.064225 ====> Client forcibly disconnected 07:51:19.064424 Received QUIT (on stdin) 07:51:19.064446 quits 07:51:19.064512 ============> 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 ==103229== ==103229== Process terminating with default action of signal 4 (SIGILL) ==103229== Illegal opcode at address 0x4013DC0 ==103229== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103229== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103229== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103229== by 0x40037A4: main (tool_main.c:199) === End of file valgrind494 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/1/valgrind491 ../src/curl -q --output log/1/curl491.out --include --trace-ascii log/1/trace491 --trace-time http://127.0.0.1:35709/491 -T '{log/1/in491,log/1/bad491}' > log/1/stdout491 2> log/1/stderr491 491: protocol FAILED! There was no content at all in the file log/1/server.input. 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/valgrind492 ../src/curl -q --output log/16/curl492.out --include --trace-ascii log/16/trace492 --trace-time 'http://127.0.0.1:44351/{one,two}/' -T '{log/16/first492,log/16/second492}' -H "Testno: 492" > log/16/stdout492 2> log/16/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/24/valgrind497 ../src/curl -q --output log/24/curl497.out --include --trace-ascii log/24/trace497 --trace-time http://127.0.0.1:41843/497 > log/24/stdout497 2> log/24/stderr497 CMD (33792): ../libtool --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/valgrind496 ../src/curl -q --output log/12/curl496.out --include --trace-ascii log/12/trace496 --trace-time 0 -Z -Tz > log/12/stdout496 2> log/12/stderr496 ver glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir 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/1/valgrind491 ../src/curl -q --output log/1/curl491.out --include --trace-ascii log/1/trace491 --trace-time http://127.0.0.1:35709/491 -T '{log/1/in491,log/1/bad491}' > log/1/stdout491 2> log/1/stderr491 === End of file commands.log === Start of file http_server.log 07:51:19.002306 ====> Client connect 07:51:19.002338 accept_connection 3 returned 4 07:51:19.002355 accept_connection 3 returned 0 07:51:19.002371 Read 93 bytes 07:51:19.002383 Process 93 bytes request 07:51:19.002399 Got request: GET /verifiedserver HTTP/1.1 07:51:19.002410 Are-we-friendly question received 07:51:19.002435 Wrote request (93 bytes) input to log/1/server.input 07:51:19.002453 Identifying ourselves as friends 07:51:19.002515 Response sent (56 bytes) and written to log/1/server.response 07:51:19.002530 special request received, no persistency 07:51:19.002541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind491 ==102814== ==102814== Process terminating with default action of signal 4 (SIGILL) ==102814== Illegal opcode at address 0x4013DC0 ==102814== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102814== by 0x40037A4: main (tool_main.c:199) === End of file valgrind491 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/16/valgrind492 ../src/curl -q --output log/16/curl492.out --include --trace-ascii log/16/trace492 --trace-time 'http://127.0.0.1:44351/{one,two}/' -T '{log/16/first492,log/16/second492}' -H "Testno: 492" > log/16/stdout492 2> log/16/stderr492 492: 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/ dir 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/16/valgrind492 ../src/curl -q --output log/16/curl492.out --include --trace-ascii log/16/trace492 --trace-time 'http://127.0.0.1:44351/{one,two}/' -T '{log/16/first492,log/16/second492}' -H "Testno: 492" > log/16/stdout492 2> log/16/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 07:51:19.006360 ====> Client connect 07:51:19.006396 accept_connection 3 returned 4 07:51:19.006416 accept_connection 3 returned 0 07:51:19.006431 Read 93 bytes 07:51:19.006443 Process 93 bytes request 07:51:19.006457 Got request: GET /verifiedserver HTTP/1.1 07:51:19.006468 Are-we-friendly question received 07:51:19.006494 Wrote request (93 bytes) input to log/16/server.input 07:51:19.006513 Identifying ourselves as friends 07:51:19.006570 Response sent (56 bytes) and written to log/16/server.response 07:51:19.006583 special request received, no persistency 07:51:19.006593 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 47708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind492 ==102824== ==102824== Process terminating with default action of signal 4 (SIGILL) ==102824== Illegal opcode at address 0x4013DC0 ==102824== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102824== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102824== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102824== by 0x40037A4: main (tool_main.c:199) === End of file valgrind492 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/24/valgrind497 ../src/curl -q --output log/24/curl497.out --include --trace-ascii log/24/trace497 --trace-time http://127.0.0.1:41843/497 > log/24/stdout497 2> log/24/stderr497 497: 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/ dir 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/24/valgrind497 ../src/curl -q --output log/24/curl497.out --include --trace-ascii log/24/trace497 --trace-time http://127.0.0.1:41843/497 > log/24/stdout497 2> log/24/stderr497 === End of file commands.log === Start of file http_server.log 07:51:19.079374 ====> Client connect 07:51:19.079488 accept_connection 3 returned 4 07:51:19.079508 accept_connection 3 returned 0 07:51:19.079522 Read 93 bytes 07:51:19.079532 Process 93 bytes request 07:51:19.079545 Got request: GET /verifiedserver HTTP/1.1 07:51:19.079556 Are-we-friendly question received 07:51:19.079584 Wrote request (93 bytes) input to log/24/server.input 07:51:19.079601 Identifying ourselves as friends 07:51:19.079659 Response sent (56 bytes) and written to log/24/server.response 07:51:19.079672 special request received, no persistency 07:51:19.079683 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 43932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind497 ==103160== ==103160== Process terminating with default action of signal 4 (SIGILL) ==103160== Illegal opcode at address 0x4013DC0 =CMD (33792): ../libtool --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:36147/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/2/valgrind495 ../src/curl -q --output log/2/curl495.out --include --trace-ascii log/2/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:43955/495 --netrc-optional > log/2/stdout495 2> log/2/stderr495 CMD (33792): ../libtool --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/valgrind493 ../src/curl -q --include --trace-ascii log/4/trace493 --trace-time -x http://127.0.0.1:43573 http://this.hsts.example/493 --hsts log/4/input493 -w '%{url_effective}\n' > log/4/stdout493 2> log/4/stderr493 =103160== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103160== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103160== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103160== by 0x40037A4: main (tool_main.c:199) === End of file valgrind497 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/12/valgrind496 ../src/curl -q --output log/12/curl496.out --include --trace-ascii log/12/trace496 --trace-time 0 -Z -Tz > log/12/stdout496 2> log/12/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/12/ dir 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/12/valgrind496 ../src/curl -q --output log/12/curl496.out --include --trace-ascii log/12/trace496 --trace-time 0 -Z -Tz > log/12/stdout496 2> log/12/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==103031== ==103031== Process terminating with default action of signal 4 (SIGILL) ==103031== Illegal opcode at address 0x4013DC0 ==103031== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103031== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103031== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103031== by 0x40037A4: main (tool_main.c:199) === End of file valgrind496 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:36147/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/ dir 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:36147/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 07:51:18.983631 ====> Client connect 07:51:18.983673 accept_connection 3 returned 4 07:51:18.983691 accept_connection 3 returned 0 07:51:18.983708 Read 93 bytes 07:51:18.983719 Process 93 bytes request 07:51:18.983736 Got request: GET /verifiedserver HTTP/1.1 07:51:18.983746 Are-we-friendly question received 07:51:18.983775 Wrote request (93 bytes) input to log/8/server.input 07:51:18.983793 Identifying ourselves as friends 07:51:18.983859 Response sent (56 bytes) and written to log/8/server.response 07:51:18.983871 special request received, no persistency 07:51:18.983881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 41254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind490 ==102800== ==102800== Process terminating with default action of signal 4 (SIGILL) ==102800== Illegal opcode at address 0x4013DC0 ==102800== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102800== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102800== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102800== by 0x40037A4: main (tool_main.c:199) === End of file valgrind490 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/2/valgrind495 ../src/curl -q --output log/2/curl495.out --include --trace-ascii log/2/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:43955/495 --netrc-optional > log/2/stdout495 2> log/2/stderr495 495: 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/ dir 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/2/valgrind495 ../src/curl -q --output log/2/curl495.out --include --trace-ascii log/2/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:43955/495 --netrc-optional > log/2/stdout495 2> log/2/stderr495 === End of file commands.log === Start of file http_server.log 07:51:20.067619 ====> Client connect 07:51:20.067648 accept_connection 3 returned 4 07:51:20.067664 accept_connection 3 returned 0 07:51:20.067677 Read 93 bytes 07:51:20.067688 Process 93 bytes request 07:51:20.067700 Got request: GET /verifiedserver HTTP/1.1 07:51:20.067709 Are-we-friendly question received 07:51:20.067732 Wrote request (93 bytes) input to log/2/server.input 07:51:20.067748 Identifying ourselves as friends 07:51:20.067798 Response sent (56 bytes) and written to log/2/server.response 07:51:20.067809 special request received, no persistency 07:51:20.067818 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 59446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind495 ==103065== ==103065== Process terminating with default action of signal 4 (SIGILL) ==103065== Illegal opcode at address 0x4013DC0 ==103065== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103065== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103065== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103065== by 0x40037A4: main (tool_main.c:199) === End of file valgrind495 CMD (33792): ../libtool --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/valgrind498 ../src/curl -q --output log/10/curl498.out --include --trace-ascii log/10/trace498 --trace-time http://127.0.0.1:34041/498 --max-redirs 400 --location > log/10/stdout498 2> log/10/stderr498 CMD (33792): ../libtool --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/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:38169/500 log/11/ip500 > log/11/stdout500 2> log/11/stderr500 CMD (0): ./libtest/libtests lib518 http://127.0.0.1:41843/518 > log/24/stdout518 2> log/24/stderr518 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/4/valgrind493 ../src/curl -q --include --trace-ascii log/4/trace493 --trace-time -x http://127.0.0.1:43573 http://this.hsts.example/493 --hsts log/4/input493 -w '%{url_effective}\n' > log/4/stdout493 2> log/4/stderr493 493: stdout FAILED: --- log/4/check-expected 2025-11-07 07:51:20.280706899 +0000 +++ log/4/check-generated 2025-11-07 07:51:20.280706899 +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/4/ dir 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/4/valgrind493 ../src/curl -q --include --trace-ascii log/4/trace493 --trace-time -x http://127.0.0.1:43573 http://this.hsts.example/493 --hsts log/4/input493 -w '%{url_effective}\n' > log/4/stdout493 2> log/4/stderr493 === End of file commands.log === Start of file http_server.log 07:51:20.006399 ====> Client connect 07:51:20.006435 accept_connection 3 returned 4 07:51:20.006452 accept_connection 3 returned 0 07:51:20.006467 Read 93 bytes 07:51:20.006479 Process 93 bytes request 07:51:20.006491 Got request: GET /verifiedserver HTTP/1.1 07:51:20.006501 Are-we-friendly question received 07:51:20.006528 Wrote request (93 bytes) input to log/4/server.input 07:51:20.006545 Identifying ourselves as friends 07:51:20.006603 Response sent (56 bytes) and written to log/4/server.response 07:51:20.006615 special request received, no persistency 07:51:20.006625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind493 ==102883== ==102883== Process terminating with default action of signal 4 (SIGILL) ==102883== Illegal opcode at address 0x4013DC0 ==102883== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==102883== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102883== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==102883== by 0x40037A4: main (tool_main.c:199) === End of file valgrind493 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/10/valgrind498 ../src/curl -q --output log/10/curl498.out --include --trace-ascii log/10/trace498 --trace-time http://127.0.0.1:34041/498 --max-redirs 400 --location > log/10/stdout498 2> log/10/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/10/ dir 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/10/valgrind498 ../src/curl -q --output log/10/curl498.out --include --trace-ascii log/10/trace498 --trace-time http://127.0.0.1:34041/498 --max-redirs 400 --location > log/10/stdout498 2> log/10/stderr498 === End of file commands.log === Start of file http_server.log 07:51:19.091012 ====> Client connect 07:51:19.091050 accept_connection 3 returned 4 07:51:19.091069 accept_connection 3 returned 0 07:51:19.091086 Read 93 bytes 07:51:19.091097 Process 93 bytes request 07:51:19.091112 Got request: GET /verifiedserver HTTP/1.1 07:51:19.091123 Are-we-friendly question received 07:51:19.091149 Wrote request (93 bytes) input to log/10/server.input 07:51:19.091167 Identifying ourselves as friends 07:51:19.091224 Response sent (56 bytes) and written to log/10/server.response 07:51:19.091235 special request received, no persistency 07:51:19.091246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 32772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind498 ==103211== ==103211== Process terminating with default action of signal 4 (SIGILL) ==103211== Illegal opcode at address 0x4013DC0 ==103211== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind498 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/11/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:38169/500 log/11/ip500 > log/11/stdout500 2> log/11/stderr500 500: 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/ dir 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/11/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:38169/500 log/11/ip500 > log/11/stdout500 2> log/11/stderr500 === End of file commands.log === Start of file http_server.log 07:51:19.152375 ====> Client connect 07:51:19.152410 accept_connection 3 returned 4 07:51:19.152428 accept_connection 3 returned 0 07:51:19.152444 Read 93 bytes 07:51:19.152455 Process 93 bytes request 07:51:19.152469 Got request: GET /verifiedserver HTTP/1.1 07:51:19.152479 Are-we-friendly question received 07:51:19.152503 Wrote request (93 bytes) input to log/11/server.input 07:51:19.152633 Identifying ourselves as friends 07:51:19.152691 Response sent (56 bytes) and written to log/11/server.response 07:51:19.152702 special request received, no persistency 07:51:19.152713 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 60256 * using HTCMD (33792): ../libtool --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/valgrind501 ./libtest/libtests lib501 - > log/22/stdout501 2> log/22/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/21/valgrind480 ../src/curl -q --output log/21/curl480.out --include --trace-ascii log/21/trace480 --trace-time --netrc --netrc-file log/21/netrc480 pop3://127.0.0.1:45325/480 > log/21/stdout480 2> log/21/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/6/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/6/test502.txt > log/6/stdout502 2> log/6/stderr502 TP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:38169/500 === End of file stderr500 === Start of file valgrind500 ==103341== ==103341== Process terminating with default action of signal 4 (SIGILL) ==103341== Illegal opcode at address 0x51D5F1F ==103341== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103341== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103341== by 0x51D5F1F: Curl_open (url.c:525) ==103341== by 0x514F6EF: curl_easy_init (easy.c:371) ==103341== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==103341== by 0x400347F: main (first.c:280) ==103341== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103341== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103341== by 0x51D5EBD: Curl_open (url.c:504) ==103341== by 0x514F6EF: curl_easy_init (easy.c:371) ==103341== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==103341== by 0x400347F: main (first.c:280) ==103341== === End of file valgrind500 prechecked ./libtest/libtests lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/libtests lib518 http://127.0.0.1:41843/518 > log/24/stdout518 2> log/24/stderr518 valgrind SKIPPED --pd---e--- OK (494 out of 1746, remaining: 01:38, took 0.077s, duration: 00:39) 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/22/valgrind501 ./libtest/libtests lib501 - > log/22/stdout501 2> log/22/stderr501 libtests returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/22/ dir 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/22/valgrind501 ./libtest/libtests lib501 - > log/22/stdout501 2> log/22/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 ==103453== ==103453== Process terminating with default action of signal 4 (SIGILL) ==103453== Illegal opcode at address 0x51D5F1F ==103453== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103453== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103453== by 0x51D5F1F: Curl_open (url.c:525) ==103453== by 0x514F6EF: curl_easy_init (easy.c:371) ==103453== by 0x4009A61: test_lib501.lto_priv.0 (lib501.c:40) ==103453== by 0x400347F: main (first.c:280) ==103453== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103453== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103453== by 0x51D5EBD: Curl_open (url.c:504) ==103453== by 0x514F6EF: curl_easy_init (easy.c:371) ==103453== by 0x4009A61: test_lib501.lto_priv.0 (lib501.c:40) ==103453== by 0x400347F: main (first.c:280) ==103453== === End of file valgrind501 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 45325 (log/21/server/pop3_server.port) RUN: POP3 server is PID 102002 port 45325 * pid pop3 => 102002 102002 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/21/valgrind480 ../src/curl -q --output log/21/curl480.out --include --trace-ascii log/21/trace480 --trace-time --netrc --netrc-file log/21/netrc480 pop3://127.0.0.1:45325/480 > log/21/stdout480 2> log/21/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind480 ../src/curl -q --output log/21/curl480.out --include --trace-ascii log/21/trace480 --trace-time --netrc --netrc-file log/21/netrc480 pop3://127.0.0.1:45325/480 > log/21/stdout480 2> log/21/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 07:51:18.483337 POP3 server listens on port IPv4/45325 07:51:18.483454 logged pid 102002 in log/21/server/pop3_server.pid 07:51:18.483484 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:18.310646 Running IPv4 version 07:51:18.310713 Listening on port 45325 07:51:18.310756 Wrote pid 102089 to log/21/server/pop3_sockfilt.pid 07:51:18.310788 Wrote port 45325 to log/21/server/pop3_server.port 07:51:18.311180 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 ==103494== ==103494== Process terminating with default action of signal 4 (SIGILL) ==103494== Illegal opcode at address 0x4013DC0 ==103494== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==103494== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103494== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==103494== by 0x40037A4: main (tool_main.c:199) === End of file valgrind480 CMD (33792): ../libtool --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/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/13/stdout507 2> log/13/stderr507 CMD (33792): ../libtool --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/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/15/stdout504 2> log/15/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/18/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:46763/508 > log/18/stdout508 2> log/18/stderr508 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/6/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/6/test502.txt > log/6/stdout502 2> log/6/stderr502 502: data FAILED: --- log/6/check-expected 2025-11-07 07:51:20.654040236 +0000 +++ log/6/check-generated 2025-11-07 07:51:20.654040236 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/6/ dir 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/6/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/6/test502.txt > log/6/stdout502 2> log/6/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/6/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 ==103572== ==103572== Process terminating with default action of signal 4 (SIGILL) ==103572== Illegal opcode at address 0x51D5F1F ==103572== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103572== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103572== by 0x51D5F1F: Curl_open (url.c:525) ==103572== by 0x514F6EF: curl_easy_init (easy.c:371) ==103572== by 0x4062CB5: test_lib502.part.0.lto_priv.0 (lib502.c:43) ==103572== by 0x400347F: main (first.c:280) ==103572== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103572== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103572== by 0x51D5EBD: Curl_open (url.c:504) ==103572== by 0x514F6EF: curl_easy_init (easy.c:371) ==103572== by 0x4062CB5: test_lib502.part.0.lto_priv.0 (lib502.c:43) ==103572== by 0x400347F: main (first.c:280) ==103572== === End of file valgrind502 test 0507...[multi interface get with non-existing host 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/13/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/13/stdout507 2> log/13/stderr507 libtests returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/13/ dir 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/13/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/13/stdout507 2> log/13/stderr507 === End of file commands.log === Start of file http_server.log 07:51:19.499234 ====> Client connect 07:51:19.499269 accept_connection 3 returned 4 07:51:19.499288 accept_connection 3 returned 0 07:51:19.499305 Read 93 bytes 07:51:19.499316 Process 93 bytes request 07:51:19.499329 Got request: GET /verifiedserver HTTP/1.1 07:51:19.499340 Are-we-friendly question received 07:51:19.499379 Wrote request (93 bytes) input to log/13/server.input 07:51:19.499399 Identifying ourselves as friends 07:51:19.499464 Response sent (56 bytes) and written to log/13/server.response 07:51:19.499478 special request received, no persistency 07:51:19.499489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 33974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==103719== ==103719== Process terminating with default action of signal 4 (SIGILL) ==103719== Illegal opcode at address 0x519E800 ==103719== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==103719== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==103719== by 0x519E800: Curl_multi_handle (multi.c:247) ==103719== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==103719== by 0x400347F: main (first.c:280) ==103719== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==103719== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103719== by 0x519E794: Curl_multi_handle (multi.c:239) ==103719== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==103719== by 0x400347F: main (first.c:280) ==103719== === End of file valgrind507 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/15/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/15/stdout504 2> log/15/stderr504 libtests returned 132, when expecting 41 504: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/15/stdout504 2> log/15/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 ==103603== ==103603== Process terminating with default action of signal 4 (SIGILL) ==103603== Illegal opcode at address 0x51D5F1F ==103603== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103603== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103603== by 0x51D5F1F: Curl_open (url.c:525) ==103603== by 0x514F6EF: curl_easy_init (easy.c:371) ==103603== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==103603== by 0x400347F: main (first.c:280) ==103603== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103603== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103603== by 0x51D5EBD: Curl_open (url.c:504) ==103603== by 0x514F6EF: curl_easy_init (easy.c:371) ==103603== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==103603== by 0x400347F: main (first.c:280) ==103603== === End of file valgrind504 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/18/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:46763/508 > log/18/stdout508 2> log/18/stderr508 508: 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/ dir 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/18/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:46763/508CMD (33792): ../libtool --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/valgrind509 ./libtest/libtests lib509 - > log/20/stdout509 2> log/20/stderr509 CMD (33792): ../libtool --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/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:41643/505 log/3/upload505 > log/3/stdout505 2> log/3/stderr505 > log/18/stdout508 2> log/18/stderr508 === End of file commands.log === Start of file http_server.log 07:51:20.493621 ====> Client connect 07:51:20.493740 accept_connection 3 returned 4 07:51:20.493761 accept_connection 3 returned 0 07:51:20.493776 Read 93 bytes 07:51:20.493787 Process 93 bytes request 07:51:20.493802 Got request: GET /verifiedserver HTTP/1.1 07:51:20.493812 Are-we-friendly question received 07:51:20.493838 Wrote request (93 bytes) input to log/18/server.input 07:51:20.493856 Identifying ourselves as friends 07:51:20.494033 Response sent (56 bytes) and written to log/18/server.response 07:51:20.494050 special request received, no persistency 07:51:20.494061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:46763/508 === End of file stderr508 === Start of file valgrind508 ==103711== ==103711== Process terminating with default action of signal 4 (SIGILL) ==103711== Illegal opcode at address 0x51D5F1F ==103711== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103711== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103711== by 0x51D5F1F: Curl_open (url.c:525) ==103711== by 0x514F6EF: curl_easy_init (easy.c:371) ==103711== by 0x4009B6A: test_lib508.lto_priv.0 (lib508.c:68) ==103711== by 0x400347F: main (first.c:280) ==103711== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103711== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103711== by 0x51D5EBD: Curl_open (url.c:504) ==103711== by 0x514F6EF: curl_easy_init (easy.c:371) ==103711== by 0x4009B6A: test_lib508.lto_priv.0 (lib508.c:68) ==103711== by 0x400347F: main (first.c:280) ==103711== === End of file valgrind508 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/20/valgrind509 ./libtest/libtests lib509 - > log/20/stdout509 2> log/20/stderr509 509: stdout FAILED: --- log/20/check-expected 2025-11-07 07:51:20.717373570 +0000 +++ log/20/check-generated 2025-11-07 07:51:20.717373570 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/20/ dir 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/20/valgrind509 ./libtest/libtests lib509 - > log/20/stdout509 2> log/20/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 ==103805== ==103805== Process terminating with default action of signal 4 (SIGILL) ==103805== Illegal opcode at address 0x51D5F1F ==103805== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103805== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103805== by 0x51D5F1F: Curl_open (url.c:525) ==103805== by 0x514F6EF: curl_easy_init (easy.c:371) ==103805== by 0x400DB0A: test_lib509.lto_priv.0 (lib509.c:91) ==103805== by 0x400347F: main (first.c:280) ==103805== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103805== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103805== by 0x51D5EBD: Curl_open (url.c:504) ==103805== by 0x514F6EF: curl_easy_init (easy.c:371) ==103805== by 0x400DB0A: test_lib509.lto_priv.0 (lib509.c:91) ==103805== by 0x400347F: main (first.c:280) ==103805== === End of file valgrind509 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/3/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:41643/505 log/3/upload505 > log/3/stdout505 2> log/3/stderr505 505: 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/ dir 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/3/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:41643/505 log/3/upload505 > log/3/stdout505 2> log/3/stderr505 === End of file commands.log === Start of file ftp_server.log 07:51:19.654539 ====> Client connect 07:51:19.654915 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:19.655227 < "USER anonymous" 07:51:19.655264 > "331 We are happy you popped in![CR][LF]" 07:51:19.655445 < "PASS ftp@example.com" 07:51:19.655472 > "230 Welcome you silly person[CR][LF]" 07:51:19.655624 < "PWD" 07:51:19.655654 > "257 "/" is current directory[CR][LF]" 07:51:19.655813 < "EPSV" 07:51:19.655836 ====> Passive DATA channel requested by client 07:51:19.655850 DATA sockfilt for passive data channel starting... 07:51:19.658714 DATA sockfilt for passive data channel started (pid 103662) 07:51:19.658893 DATA sockfilt for passive data channel listens on port 37621 07:51:19.658949 > "229 Entering Passive Mode (|||37621|)[CR][LF]" 07:51:19.659060 Client has been notified that DATA conn will be accepted on port 37621 07:51:19.659178 Client connects to port 37621 07:51:19.659212 ====> Client established passive DATA connection on port 37621 07:51:19.659324 < "TYPE I" 07:51:19.659357 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:19.659539 < "SIZE verifiedserver" 07:51:19.659582 > "213 17[CR][LF]" 07:51:19.659909 < "RETR verifiedserver" 07:51:19.659947 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:19.660034 =====> Closing passive DATA connection... 07:51:19.660051 Server disconnects passive DATA connection 07:51:19.660311 Server disconnected passive DATA connection 07:51:19.660341 DATA sockfilt for passive data channel quits (pid 103662) 07:51:19.660576 DATA sockfilt for passive data channel quit (pid 103662) 07:51:19.660599 =====> Closed passive DATA connection 07:51:19.660629 > "226 File transfer complete[CR][LF]" 07:51:19.701591 < "QUIT" 07:51:19.701647 > "221 bye bye baby[CR][LF]" 07:51:19.702489 MAIN sockfilt said DISC 07:51:19.702532 ====> Client disconnected 07:51:19.702613 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:19.482380 ====> Client connect 07:51:19.482879 Received DATA (on stdin) 07:51:19.482899 > 160 bytes data, server => client 07:51:19.482913 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:19.482926 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:19.482937 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:19.483034 < 16 bytes data, client => server 07:51:19.483048 'USER anonymous\r\n' 07:51:19.483214 Received DATA (on stdin) 07:51:19.483227 > 33 bytes data, server => client 07:51:19.483240 '331 We are happy you popped in!\r\n' 07:51:19.483297 < 22 bytes data, client => server 07:51:19.483309 'PASS ftp@example.com\r\n' 07:51:19.483419 Received DATA (on stdin) 07:51:19.483431 > 30 bytes data, server => client 07:51:19.483443 '230 Welcome you silly person\r\n' 07:51:19.483490 < 5 bytes data, client => server 07:51:19.483501 'PWD\r\n' 07:51:19.483600 Received DATA (on stdin) 07:51:19.483612 > 30 bytes data, server => client 07:51:19.483624 '257 "/" is current directory\r\n' 07:51:19.483681 < 6 bytes data, client => server 07:51:19.483693 'EPSV\r\n' 07:51:19.486897 Received DATA (on stdin) 07:51:19.486915 > 39 bytes data, server => client 07:51:19.486929 '229 Entering Passive Mode (|||37621|)\r\n' 07:51:19.487115 < 8 bytes data, client => server 07:51:19.487136 'TYPE I\r\n' 07:51:19.487305 Received DATA (on stdin) 07:51:19.487319 > 33 bytes data, server => client 07:51:19.487333 '200 I modify TYPE as you wanted\r\n' 07:51:19.487385 < 21 bytes data, client => server 07:51:19.487398 'SIZE verifiedserver\r\n' 07:51:19.487663 Received DATA (on stdin) 07:51:19.487685 > 8 bytes data, server => client 07:51:19.487699 '213 17\r\n' 07:51:19.487757 < 21 bytes data, client => server 07:51:19.487770 'RETR verifiedserver\r\n' 07:51:19.488002 Received DATA (on stdin) 07:51:19.488015 > 29 bytes data, server => client 07:51:19.488028 '150 Binary junk (17 bytes).\r\n' 07:51:19.488578 Received DATA (on stdin) 07:51:19.488592 > 28 bytes data, server => client 07:51:19.488605 '226 File transfer complete\r\n' 07:51:19.529361 < 6 bytes data, client => server 07:51:19.529389 'QUIT\r\n' 07:51:19.529603 Received DATA (on stdin) 07:51:19.529619 > 18 bytes data, server => client 07:51:19.529632 '221 bye bye baby\r\n' 07:51:19.530374 ====> Client disconnect 07:51:19.530567 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:19.486436 Running IPv4 version 07:51:19.486511 Listening on port 37621 07:51:19.486561 Wrote pid 103662 to log/3/server/ftp_sockdata.pid 07:51:19.486591 Received PING (on stdin) 07:51:19.486730 Received PORT (on stdin) 07:51:19.487066 ====> Client connect 07:51:19.488056 Received DATA (on stdin) 07:51:19.488071 > 17 bytes data, server => client 07:51:19.488084 'WE ROOLZ: 80340\r\n' 07:51:19.488110 Received DISC (on stdin) 07:51:19.488123 ====> Client forcibly disconnected 07:51:19.488300 Received QUIT (on stdin) 07:51:19.488313 quits 07:51:19.488386 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 505 ==CMD (33792): ../libtool --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/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:42797/510 > log/5/stdout510 2> log/5/stderr510 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/valgrind517 ./libtest/libtests lib517 - > log/16/stdout517 2> log/16/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/7/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:39661/512 > log/7/stdout512 2> log/7/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/14/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:34115/513 > log/14/stdout513 2> log/14/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/17/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:44771/511 > log/17/stdout511 2> log/17/stderr511 = End of file server.cmd === Start of file stderr505 URL: ftp://127.0.0.1:41643/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 ==103806== ==103806== Process terminating with default action of signal 4 (SIGILL) ==103806== Illegal opcode at address 0x51D5F1F ==103806== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103806== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103806== by 0x51D5F1F: Curl_open (url.c:525) ==103806== by 0x514F6EF: curl_easy_init (easy.c:371) ==103806== by 0x400EB38: test_lib505.lto_priv.0 (lib505.c:92) ==103806== by 0x400347F: main (first.c:280) ==103806== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==103806== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103806== by 0x51D5EBD: Curl_open (url.c:504) ==103806== by 0x514F6EF: curl_easy_init (easy.c:371) ==103806== by 0x400EB38: test_lib505.lto_priv.0 (lib505.c:92) ==103806== by 0x400347F: main (first.c:280) ==103806== === 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/5/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:42797/510 > log/5/stdout510 2> log/5/stderr510 510: 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/ dir 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/5/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:42797/510 > log/5/stdout510 2> log/5/stderr510 === End of file commands.log === Start of file http_server.log 07:51:19.577692 ====> Client connect 07:51:19.577729 accept_connection 3 returned 4 07:51:19.577748 accept_connection 3 returned 0 07:51:19.577765 Read 93 bytes 07:51:19.577776 Process 93 bytes request 07:51:19.577792 Got request: GET /verifiedserver HTTP/1.1 07:51:19.577803 Are-we-friendly question received 07:51:19.577832 Wrote request (93 bytes) input to log/5/server.input 07:51:19.577852 Identifying ourselves as friends 07:51:19.577913 Response sent (56 bytes) and written to log/5/server.response 07:51:19.577924 special request received, no persistency 07:51:19.577934 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 41654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:42797/510 === End of file stderr510 === Start of file valgrind510 ==103932== ==103932== Process terminating with default action of signal 4 (SIGILL) ==103932== Illegal opcode at address 0x51D5F1F ==103932== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103932== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103932== by 0x51D5F1F: Curl_open (url.c:525) ==103932== by 0x514F6EF: curl_easy_init (easy.c:371) ==103932== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==103932== by 0x400347F: main (first.c:280) ==103932== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103932== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103932== by 0x51D5EBD: Curl_open (url.c:504) ==103932== by 0x514F6EF: curl_easy_init (easy.c:371) ==103932== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==103932== by 0x400347F: main (first.c:280) ==103932== === End of file valgrind510 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/16/valgrind517 ./libtest/libtests lib517 - > log/16/stdout517 2> log/16/stderr517 -------e-v- OK (493 out of 1746, remaining: 01:40, took 0.725s, duration: 00:39) 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/7/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:39661/512 > log/7/stdout512 2> log/7/stderr512 512: 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/ dir 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/7/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:39661/512 > log/7/stdout512 2> log/7/stderr512 === End of file commands.log === Start of file http_server.log 07:51:20.909035 ====> Client connect 07:51:20.909068 accept_connection 3 returned 4 07:51:20.909087 accept_connection 3 returned 0 07:51:20.909102 Read 93 bytes 07:51:20.909114 Process 93 bytes request 07:51:20.909129 Got request: GET /verifiedserver HTTP/1.1 07:51:20.909140 Are-we-friendly question received 07:51:20.909165 Wrote request (93 bytes) input to log/7/server.input 07:51:20.909195 Identifying ourselves as friends 07:51:20.909251 Response sent (56 bytes) and written to log/7/server.response 07:51:20.909263 special request received, no persistency 07:51:20.909274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 43668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:39661/512 === End of file stderr512 === Start of file valgrind512 ==104067== ==104067== Process terminating with default action of signal 4 (SIGILL) ==104067== Illegal opcode at address 0x51D5F1F ==104067== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104067== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104067== by 0x51D5F1F: Curl_open (url.c:525) ==104067== by 0x514F6EF: curl_easy_init (easy.c:371) ==104067== by 0x400DC35: test_lib512.lto_priv.0 (lib512.c:38) ==104067== by 0x400347F: main (first.c:280) ==104067== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104067== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104067== by 0x51D5EBD: Curl_open (url.c:504) ==104067== by 0x514F6EF: curl_easy_init (easy.c:371) ==104067== by 0x400DC35: test_lib512.lto_priv.0 (lib512.c:38) ==104067== by 0x400347F: main (first.c:280) ==104067== === End of file valgrind512 test 0511...[FTP with FILETIME and NOBODY but missing file] ../libtool --mode=execute /usr/binCMD (33792): ../libtool --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/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:42717/514 > log/9/stdout514 2> log/9/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/19/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:34835/515 > log/19/stdout515 2> log/19/stderr515 /valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:44771/511 > log/17/stdout511 2> log/17/stderr511 511: 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/ dir 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/17/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:44771/511 > log/17/stdout511 2> log/17/stderr511 === End of file commands.log === Start of file ftp_server.log 07:51:20.071377 ====> Client connect 07:51:20.071540 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.076738 < "USER anonymous" 07:51:20.076795 > "331 We are happy you popped in![CR][LF]" 07:51:20.079511 < "PASS ftp@example.com" 07:51:20.079565 > "230 Welcome you silly person[CR][LF]" 07:51:20.079765 < "PWD" 07:51:20.079806 > "257 "/" is current directory[CR][LF]" 07:51:20.080870 < "EPSV" 07:51:20.080909 ====> Passive DATA channel requested by client 07:51:20.080926 DATA sockfilt for passive data channel starting... 07:51:20.083235 DATA sockfilt for passive data channel started (pid 104065) 07:51:20.083372 DATA sockfilt for passive data channel listens on port 43227 07:51:20.083426 > "229 Entering Passive Mode (|||43227|)[CR][LF]" 07:51:20.083448 Client has been notified that DATA conn will be accepted on port 43227 07:51:20.083747 Client connects to port 43227 07:51:20.083783 ====> Client established passive DATA connection on port 43227 07:51:20.083884 < "TYPE I" 07:51:20.083920 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.084116 < "SIZE verifiedserver" 07:51:20.084161 > "213 17[CR][LF]" 07:51:20.084346 < "RETR verifiedserver" 07:51:20.084388 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.084478 =====> Closing passive DATA connection... 07:51:20.084497 Server disconnects passive DATA connection 07:51:20.084798 Server disconnected passive DATA connection 07:51:20.084829 DATA sockfilt for passive data channel quits (pid 104065) 07:51:20.085099 DATA sockfilt for passive data channel quit (pid 104065) 07:51:20.085128 =====> Closed passive DATA connection 07:51:20.085159 > "226 File transfer complete[CR][LF]" 07:51:20.127181 < "QUIT" 07:51:20.127236 > "221 bye bye baby[CR][LF]" 07:51:20.127418 MAIN sockfilt said DISC 07:51:20.127476 ====> Client disconnected 07:51:20.127557 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:19.899199 ====> Client connect 07:51:19.899502 Received DATA (on stdin) 07:51:19.899518 > 160 bytes data, server => client 07:51:19.899531 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:19.899543 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:19.899554 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:19.904478 < 16 bytes data, client => server 07:51:19.904504 'USER anonymous\r\n' 07:51:19.904753 Received DATA (on stdin) 07:51:19.904769 > 33 bytes data, server => client 07:51:19.904783 '331 We are happy you popped in!\r\n' 07:51:19.904842 < 22 bytes data, client => server 07:51:19.904858 'PASS ftp@example.com\r\n' 07:51:19.907519 Received DATA (on stdin) 07:51:19.907536 > 30 bytes data, server => client 07:51:19.907549 '230 Welcome you silly person\r\n' 07:51:19.907608 < 5 bytes data, client => server 07:51:19.907621 'PWD\r\n' 07:51:19.907933 Received DATA (on stdin) 07:51:19.907953 > 30 bytes data, server => client 07:51:19.907967 '257 "/" is current directory\r\n' 07:51:19.908653 < 6 bytes data, client => server 07:51:19.908678 'EPSV\r\n' 07:51:19.911405 Received DATA (on stdin) 07:51:19.911423 > 39 bytes data, server => client 07:51:19.911436 '229 Entering Passive Mode (|||43227|)\r\n' 07:51:19.911603 < 8 bytes data, client => server 07:51:19.911623 'TYPE I\r\n' 07:51:19.911872 Received DATA (on stdin) 07:51:19.911887 > 33 bytes data, server => client 07:51:19.911900 '200 I modify TYPE as you wanted\r\n' 07:51:19.911962 < 21 bytes data, client => server 07:51:19.911978 'SIZE verifiedserver\r\n' 07:51:19.912111 Received DATA (on stdin) 07:51:19.912126 > 8 bytes data, server => client 07:51:19.912139 '213 17\r\n' 07:51:19.912193 < 21 bytes data, client => server 07:51:19.912209 'RETR verifiedserver\r\n' 07:51:19.912450 Received DATA (on stdin) 07:51:19.912465 > 29 bytes data, server => client 07:51:19.912477 '150 Binary junk (17 bytes).\r\n' 07:51:19.913110 Received DATA (on stdin) 07:51:19.913124 > 28 bytes data, server => client 07:51:19.913137 '226 File transfer complete\r\n' 07:51:19.954939 < 6 bytes data, client => server 07:51:19.954966 'QUIT\r\n' 07:51:19.955191 Received DATA (on stdin) 07:51:19.955206 > 18 bytes data, server => client 07:51:19.955218 '221 bye bye baby\r\n' 07:51:19.955287 ====> Client disconnect 07:51:19.955509 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.910814 Running IPv4 version 07:51:20.910894 Listening on port 43227 07:51:20.910935 Wrote pid 104065 to log/17/server/ftp_sockdata.pid 07:51:20.911115 Received PING (on stdin) 07:51:20.911215 Received PORT (on stdin) 07:51:20.911647 ====> Client connect 07:51:20.912551 Received DATA (on stdin) 07:51:20.912570 > 17 bytes data, server => client 07:51:20.912583 'WE ROOLZ: 80557\r\n' 07:51:20.912612 Received DISC (on stdin) 07:51:20.912626 ====> Client forcibly disconnected 07:51:20.912790 Received QUIT (on stdin) 07:51:20.912805 quits 07:51:20.912875 ============> 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:44771/511 === End of file stderr511 === Start of file valgrind511 ==104158== ==104158== Process terminating with default action of signal 4 (SIGILL) ==104158== Illegal opcode at address 0x51D5F1F ==104158== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104158== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104158== by 0x51D5F1F: Curl_open (url.c:525) ==104158== by 0x514F6EF: curl_easy_init (easy.c:371) ==104158== by 0x4009F2A: test_lib511.lto_priv.0 (lib511.c:38) ==104158== by 0x400347F: main (first.c:280) ==104158== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104158== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104158== by 0x51D5EBD: Curl_open (url.c:504) ==104158== by 0x514F6EF: curl_easy_init (easy.c:371) ==104158== by 0x4009F2A: test_lib511.lto_priv.0 (lib511.c:38) ==104158== by 0x400347F: main (first.c:280) ==104158== === End of file valgrind511 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/19/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:34835/515 > log/19/stdout515 2> log/19/stderr515 515: 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/ dir 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/19/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:34835/515 > log/19/stdout515 2> log/19/stderr515 === End of file commands.log === Start of file http_server.log 07:51:20.076216 ====> Client connect 07:51:20.076250 accept_connection 3 returned 4 07:51:20.076264 accept_connection 3 CMD (33792): ../libtool --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/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:38023/519 > log/12/stdout519 2> log/12/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/1/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:35709/516 > log/1/stdout516 2> log/1/stderr516 returned 0 07:51:20.076277 Read 93 bytes 07:51:20.076286 Process 93 bytes request 07:51:20.076297 Got request: GET /verifiedserver HTTP/1.1 07:51:20.076334 Are-we-friendly question received 07:51:20.076363 Wrote request (93 bytes) input to log/19/server.input 07:51:20.076383 Identifying ourselves as friends 07:51:20.076439 Response sent (56 bytes) and written to log/19/server.response 07:51:20.076451 special request received, no persistency 07:51:20.076461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:34835/515 === End of file stderr515 === Start of file valgrind515 ==104284== ==104284== Process terminating with default action of signal 4 (SIGILL) ==104284== Illegal opcode at address 0x51D5F1F ==104284== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104284== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104284== by 0x51D5F1F: Curl_open (url.c:525) ==104284== by 0x514F6EF: curl_easy_init (easy.c:371) ==104284== by 0x400A30A: test_lib515.lto_priv.0 (lib515.c:38) ==104284== by 0x400347F: main (first.c:280) ==104284== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104284== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104284== by 0x51D5EBD: Curl_open (url.c:504) ==104284== by 0x514F6EF: curl_easy_init (easy.c:371) ==104284== by 0x400A30A: test_lib515.lto_priv.0 (lib515.c:38) ==104284== by 0x400347F: main (first.c:280) ==104284== === End of file valgrind515 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/12/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:38023/519 > log/12/stdout519 2> log/12/stderr519 519: 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/ dir 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/12/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:38023/519 > log/12/stdout519 2> log/12/stderr519 === End of file commands.log === Start of file http_server.log 07:51:20.104790 ====> Client connect 07:51:20.104846 accept_connection 3 returned 4 07:51:20.104864 accept_connection 3 returned 0 07:51:20.104878 Read 93 bytes 07:51:20.104889 Process 93 bytes request 07:51:20.104903 Got request: GET /verifiedserver HTTP/1.1 07:51:20.104914 Are-we-friendly question received 07:51:20.104941 Wrote request (93 bytes) input to log/12/server.input 07:51:20.104959 Identifying ourselves as friends 07:51:20.105020 Response sent (56 bytes) and written to log/12/server.response 07:51:20.105032 special request received, no persistency 07:51:20.105042 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 40800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:38023/519 === End of file stderr519 === Start of file valgrind519 ==104475== ==104475== Process terminating with default action of signal 4 (SIGILL) ==104475== Illegal opcode at address 0x51D5F1F ==104475== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104475== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104475== by 0x51D5F1F: Curl_open (url.c:525) ==104475== by 0x514F6EF: curl_easy_init (easy.c:371) ==104475== by 0x400A54A: test_lib519.lto_priv.0 (lib519.c:38) ==104475== by 0x400347F: main (first.c:280) ==104475== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104475== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104475== by 0x51D5EBD: Curl_open (url.c:504) ==104475== by 0x514F6EF: curl_easy_init (easy.c:371) ==104475== by 0x400A54A: test_lib519.lto_priv.0 (lib519.c:38) ==104475== by 0x400347F: main (first.c:280) ==104475== === 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/1/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:35709/516 > log/1/stdout516 2> log/1/stderr516 516: 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/ dir 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/1/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:35709/516 > log/1/stdout516 2> log/1/stderr516 === End of file commands.log === Start of file http_server.log 07:51:20.083976 ====> Client connect 07:51:20.084002 accept_connection 3 returned 4 07:51:20.084016 accept_connection 3 returned 0 07:51:20.084028 Read 93 bytes 07:51:20.084037 Process 93 bytes request 07:51:20.084047 Got request: GET /verifiedserver HTTP/1.1 07:51:20.084055 Are-we-friendly question received 07:51:20.084075 Wrote request (93 bytes) input to log/1/server.input 07:51:20.084088 Identifying ourselves as friends 07:51:20.084130 Response sent (56 bytes) and written to log/1/server.response 07:51:20.084139 special request received, no persistency 07:51:20.084146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 50816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:35709/516 === End of file stderr516 === Start of file valgrind516 ==104311== ==104311== Process terminating with default action of signal 4 (SIGILL) ==104311== Illegal opcode at address 0x51D5F1F ==104311== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104311== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104311== by 0x51D5F1CMD (33792): ../libtool --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/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 43955 > log/2/stdout522 2> log/2/stderr522 F: Curl_open (url.c:525) ==104311== by 0x514F6EF: curl_easy_init (easy.c:371) ==104311== by 0x400A42A: test_lib516.lto_priv.0 (lib516.c:38) ==104311== by 0x400347F: main (first.c:280) ==104311== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104311== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104311== by 0x51D5EBD: Curl_open (url.c:504) ==104311== by 0x514F6EF: curl_easy_init (easy.c:371) ==104311== by 0x400A42A: test_lib516.lto_priv.0 (lib516.c:38) ==104311== by 0x400347F: main (first.c:280) ==104311== === End of file valgrind516 CMD (33792): ../libtool --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/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:46223/path/to/ > log/11/stdout524 2> log/11/stderr524 CMD (33792): ../libtool --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/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 37071 > log/4/stdout521 2> log/4/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/2/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 43955 > log/2/stdout522 2> log/2/stderr522 522: stdout FAILED: --- log/2/check-expected 2025-11-07 07:51:21.364040243 +0000 +++ log/2/check-generated 2025-11-07 07:51:21.364040243 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/2/ dir 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/2/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 43955 > log/2/stdout522 2> log/2/stderr522 === End of file commands.log === Start of file http_server.log 07:51:21.137581 ====> Client connect 07:51:21.137616 accept_connection 3 returned 4 07:51:21.137633 accept_connection 3 returned 0 07:51:21.137649 Read 93 bytes 07:51:21.137660 Process 93 bytes request 07:51:21.137675 Got request: GET /verifiedserver HTTP/1.1 07:51:21.137685 Are-we-friendly question received 07:51:21.137712 Wrote request (93 bytes) input to log/2/server.input 07:51:21.137730 Identifying ourselves as friends 07:51:21.137789 Response sent (56 bytes) and written to log/2/server.response 07:51:21.137803 special request received, no persistency 07:51:21.137813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 47416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==104601== ==104601== Process terminating with default action of signal 4 (SIGILL) ==104601== Illegal opcode at address 0x51D5F1F ==104601== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104601== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104601== by 0x51D5F1F: Curl_open (url.c:525) ==104601== by 0x514F6EF: curl_easy_init (easy.c:371) ==104601== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104601== by 0x400347F: main (first.c:280) ==104601== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104601== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104601== by 0x51D5EBD: Curl_open (url.c:504) ==104601== by 0x514F6EF: curl_easy_init (easy.c:371) ==104601== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104601== by 0x400347F: main (first.c:280) ==104601== === End of file valgrind522 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/11/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:46223/path/to/ > log/11/stdout524 2> log/11/stderr524 524: 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/ dir 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/11/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:46223/path/to/ > log/11/stdout524 2> log/11/stderr524 === End of file commands.log === Start of file ftp_server.log 07:51:20.354515 ====> Client connect 07:51:20.355007 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.355429 < "USER anonymous" 07:51:20.355505 > "331 We are happy you popped in![CR][LF]" 07:51:20.355716 < "PASS ftp@example.com" 07:51:20.355752 > "230 Welcome you silly person[CR][LF]" 07:51:20.355916 < "PWD" 07:51:20.355956 > "257 "/" is current directory[CR][LF]" 07:51:20.356121 < "EPSV" 07:51:20.356151 ====> Passive DATA channel requested by client 07:51:20.356165 DATA sockfilt for passive data channel starting... 07:51:20.358877 DATA sockfilt for passive data channel started (pid 104689) 07:51:20.358987 DATA sockfilt for passive data channel listens on port 37267 07:51:20.359030 > "229 Entering Passive Mode (|||37267|)[CR][LF]" 07:51:20.359047 Client has been notified that DATA conn will be accepted on port 37267 07:51:20.359264 Client connects to port 37267 07:51:20.359295 ====> Client established passive DATA connection on port 37267 07:51:20.359410 < "TYPE I" 07:51:20.359436 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.359578 < "SIZE verifiedserver" 07:51:20.359611 > "213 17[CR][LF]" 07:51:20.359743 < "RETR verifiedserver" 07:51:20.359772 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.359851 =====> Closing passive DATA connection... 07:51:20.359865 Server disconnects passive DATA connection 07:51:20.360076 Server disconnected passive DATA connection 07:51:20.360101 DATA sockfilt for passive data channel quits (pid 104689) 07:51:20.360323 DATA sockfilt for passive data channel quit (pid 104689) 07:51:20.360346 =====> Closed passive DATA connection 07:51:20.360372 > "226 File transfer complete[CR][LF]" 07:51:20.405130 < "QUIT" 07:51:20.405194 > "221 bye bye baby[CR][LF]" 07:51:20.406589 MAIN sockfilt said DISC 07:51:20.406634 ====> Client disconnected 07:51:20.406720 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.182274 ====> Client connect 07:51:20.182951 Received DATA (on stdin) 07:51:20.182990 > 160 bytes data, server => client 07:51:20.183006 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.183018 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.183030 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.183143 < 16 bytes data, client => server 07:51:20.183158 'USER anonymous\r\n' 07:51:20.183465 Received DATA (on stdin) 07:51:20.183479 > 33 bytes data, server => client 07:51:20.183491 '331 We are happy you popped in!\r\n' 07:51:20.183550 < 22 bytes data, client => server 07:51:20.183561 'PASS ftp@example.com\r\n' 07:51:20.183700 Received DATA (on stdin) 07:51:20.183712 > 30 bytes data, server => client 07:51:20.183723 '230 Welcome you silly person\r\n' 07:51:20.183770 < 5 bytes data, client => server 07:51:20.183781 'PWD\r\n' 07:51:20.183904 Received DATA (on stdin) 07:51:20.183915 > 30 bytes data, server => client 07:51:20.183926 '257 "/" is current directory\r\n' 07:51:20.183984 < 6 bytes data, client => server 07:51:20.183996 'EPSV\r\n' 07:51:20.187000 Received DATA (on stdin) 07:51:20.187014 > 39 bytes data, server => client 07:51:20.187025 '229 Entering Passive Mode (|||37267|)\r\n' 07:51:20.187257 < 8 bytes data, client => server 07:51:20.187271 'TYPE I\r\n' 07:51:20.187381 Received DATA (on stdin) 07:51:20.187392 > 33 bytes data, server => client 07:51:20.187403 '200 I modify TYPE as you wanted\r\n' 07:51:20.187448 < 21 bytes data, client => server 07:51:20.187459 'SIZE verifiedserver\r\n' 07:51:20.187555 Received DATA (on stdin) 07:51:20.187565 > 8 bytes data, server => client 07:51:20.187575 '213 17\r\n' 07:51:20.187616 < 21 bytes data, client => server 07:51:20.187627 'RETR verifiedserver\r\n' 07:51:20.187810 Received DATA (on stdin) 07:51:20.187821 > 29 bytes data, server => client 07:51:20.187831 '150 Binary junk (17 bytes).\r\n' 07:51:20.188318 Received DATA (on stdin) 07:51:20.188330 > 28 bytes data, server => client 07:51:20.188340 '226 File transfer complete\r\n' 07:51:20.232870 < 6 bytes data, client => server 07:51:20.232902 'QUIT\r\n' 07:51:20.233153 Received DATA (on stdin) 07:51:20.233170 > 18 bytes data, server => client 07:51:20.233184 '221 bye bye baby\r\n' 07:51:20.234473 ====> Client disconnect 07:51:20.234675 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.186512 Running IPv4 version 07:51:20.186573 Listening on port 37267 07:51:20.186613 Wrote pid 104689 to log/11/server/ftp_sockdata.pid 07:51:20.186765 Received PING (on stdin) 07:51:20.186849 Received PORT (on stdin) 07:51:20.187158 ====> Client connect 07:51:20.187853 Received DATA (on stdin) 07:51:20.187867 > 17 bytes data, server => client 07:51:20.187877 'WE ROOLZ: 83264\r\n' 07:51:20.187898 Received DISC (on stdin) 07:51:20.187909 ====> Client forcibly disconnected 07:51:20.188053 Received QUIT (on stdin) 07:51:20.188064 quits 07:51:20.188130 ============> 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:46223/path/to/ === End of file stderr524 === Start of file valgrind524 ==104832== ==104832== Process terminating with default action of signal 4 (SIGILL) ==104832== Illegal opcode at address 0x51D5F1F ==104832== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104832== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104832== by 0x51D5F1F: Curl_open (url.c:525) ==104832== by 0x514F6EF: curl_easy_init (easy.c:371) ==104832== by 0x400AA0A: test_lib524.lto_priv.0 (lib524.c:38) ==104832== by 0x400347F: main (first.c:280) ==104832== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104832== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104832== by 0x51D5EBD: Curl_open (url.c:504) ==104832== by 0x514F6EF: curl_easy_init (easy.c:371) ==104832== by 0x400AA0A: test_lib524.lto_priv.0 (lib524.c:38) ==104832== by 0x400347F: main (first.c:280) ==104832== === End of file valgrind524 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/4/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 37071 > log/4/stdout521 2> log/4/stderr521 521: 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/ dir 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/4/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 37071 > log/4/stdout521 2> log/4/stderr521 === End of file commands.log === Start of file ftp_server.log 07:51:20.318746 ====> Client connect 07:51:20.318926 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.319637 < "USER anonymous" 07:51:20.319693 > "331 We are happy you popped in![CR][LF]" 07:51:20.319902 < "PASS ftp@example.com" 07:51:20.319943 > "230 Welcome you silly person[CR][LF]" 07:51:20.320209 < "PWD" 07:51:20.320270 > "257 "/" is current directory[CR][LF]" 07:51:20.320584 < "EPSV" 07:51:20.320667 ====> Passive DATA channel requested by client 07:51:20.320682 DATA sockfilt for passive data channel starting... 07:51:20.323292 DATA sockfilt for passive data channel started (pid 104575) 07:51:20.323415 DATA sockfilt for passive data channel listens on port 38723 07:51:20.323460 > "229 Entering Passive Mode (|||38723|)[CR][LF]" 07:51:20.323480 Client has been notified that DATA conn will be accepted on port 38723 07:51:20.323740 Client connects to port 38723 07:51:20.323771 ====> Client established passive DATA connection on port 38723 07:51:20.323866 < "TYPE I" 07:51:20.323897 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.324067 < "SIZE verifiedserver" 07:51:20.324109 > "213 17[CR][LF]" 07:51:20.324268 < "RETR verifiedserver" 07:51:20.324304 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.324411 =====> Closing passive DATA connection... 07:51:20.324428 Server disconnects passive DATA connection 07:51:20.324696 Server disconnected passive DATA connection 07:51:20.324725 DATA sockfilt for passive data channel quits (pid 104575) 07:51:20.324951 DATA sockfilt for passive data channel quit (pid 104575) 07:51:20.324976 =====> Closed passive DATA connection 07:51:20.325007 > "226 File transfer complete[CR][LF]" 07:51:20.368350 < "QUIT" 07:51:20.368405 > "221 bye bye baby[CR][LF]" 07:51:20.369876 MAIN sockfilt said DISC 07:51:20.369912 ====> Client disconnected 07:51:20.369976 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.146578 ====> Client connect 07:51:20.146887 Received DATA (on stdin) 07:51:20.146905 > 160 bytes data, server => client 07:51:20.146919 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.146931 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.146942 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.147310 < 16 bytes data, client => server 07:51:20.147330 'USER anonymous\r\n' 07:51:20.147647 Received DATA (on stdin) 07:51:20.147663 > 33 bytes data, server => client 07:51:20.147675 '331 We are happy you popped in!\r\n' 07:51:20.147733 < 22 bytes data, client => server 07:51:20.147747 'PASS ftp@example.com\r\n' 07:51:20.147891 Received DATA (on stdin) 07:51:20.147904 > 30 bytes data, server => client 07:51:20.147916 '230 Welcome you silly person\r\n' 07:51:20.147988 < 5 bytes data, client => server 07:51:20.148017 'PWD\r\n' 07:51:20.148227 Received DATA (on stdin) 07:51:20.148244 > 30 bytes data, server => client 07:51:20.148257 '257 "/" is current directory\r\n' 07:51:20.148373 < 6 bytes data, client => server 07:51:20.148387 'EPSV\r\n' 07:51:20.151437 Received DATA (on stdin) 07:51:20.151454 > 39 bytes data, server => client 07:51:20.151467 '229 Entering Passive Mode (|||38723|)\r\n' 07:51:20.151632 < 8 bytes data, client => server 07:51:20.151645 'TYPE I\r\n' 07:51:20.151845 Received DATA (on stdin) 07:51:20.151858 > 33 bytes data, server => client 07:51:20.151871 '200 I modify TYPE as you wanted\r\n' 07:51:20.151925 < 21 bytes data, client => server 07:51:20.151938 'SIZE verifiedserver\r\n' 07:51:20.152057 Received DATA (on stdin) 07:51:20.152069 > 8 bytes data, server => client 07:51:20.152080 '213 17\r\n' 07:51:20.152129 < 21 bytes data, client => server 07:51:20.152141 'RETR verifiedserver\r\n' 07:51:20.152377 Received DATA (on stdin) 07:51:20.152389 > 29 bytes data, server => client 07:51:20.152401 '150 Binary junk (17 bytes).\r\n' 07:51:20.152957 Received DATA (on stdin) 07:51:20.152972 > 28 bytes data, server => client 07:51:20.152984 '226 File transfer complete\r\n' 07:51:20.196127 < 6 bytes data, client => server 07:51:20.196153 'QUIT\r\n' 07:51:20.196990 Received DATA (on stdin) 07:51:20.197016 > 18 bytes data, server => client 07:51:20.197030 '221 bye bye baby\r\n' 07:51:20.197758 ====> Client disconnect 07:51:20.197921 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.151056 Running IPv4 version 07:51:20.151120 Listening on port 38723 07:51:20.151157 Wrote pid 104575 to log/4/server/ftp_sockdata.pid 07:51:20.151176 Received PING (on stdin) 07:51:20.151271 Received PORT (on stdin) 07:51:20.151602 ====> Client connect 07:51:20.152427 Received DATA (on stdin) 07:51:20.152441 > 17 bytes data, server => client 07:51: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/10/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:34041 > log/10/stdout523 2> log/10/stderr523 .152454 'WE ROOLZ: 80637\r\n' 07:51:20.152479 Received DISC (on stdin) 07:51:20.152491 ====> Client forcibly disconnected 07:51:20.152683 Received QUIT (on stdin) 07:51:20.152695 quits 07:51:20.152755 ============> 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 ==104758== ==104758== Process terminating with default action of signal 4 (SIGILL) ==104758== Illegal opcode at address 0x51D5F1F ==104758== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104758== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104758== by 0x51D5F1F: Curl_open (url.c:525) ==104758== by 0x514F6EF: curl_easy_init (easy.c:371) ==104758== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104758== by 0x400347F: main (first.c:280) ==104758== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104758== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104758== by 0x51D5EBD: Curl_open (url.c:504) ==104758== by 0x514F6EF: curl_easy_init (easy.c:371) ==104758== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104758== by 0x400347F: main (first.c:280) ==104758== === End of file valgrind521 CMD (33792): ../libtool --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/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:35961/520 > log/8/stdout520 2> log/8/stderr520 CMD (33792): ../libtool --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/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:36707/path/525 log/24/upload525 > log/24/stdout525 2> log/24/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/10/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:34041 > log/10/stdout523 2> log/10/stderr523 523: stdout FAILED: --- log/10/check-expected 2025-11-07 07:51:21.387373577 +0000 +++ log/10/check-generated 2025-11-07 07:51:21.387373577 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/10/ dir 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/10/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:34041 > log/10/stdout523 2> log/10/stderr523 === End of file commands.log === Start of file http_server.log 07:51:20.180857 ====> Client connect 07:51:20.180895 accept_connection 3 returned 4 07:51:20.180912 accept_connection 3 returned 0 07:51:20.180929 Read 93 bytes 07:51:20.180939 Process 93 bytes request 07:51:20.180956 Got request: GET /verifiedserver HTTP/1.1 07:51:20.180966 Are-we-friendly question received 07:51:20.180990 Wrote request (93 bytes) input to log/10/server.input 07:51:20.181007 Identifying ourselves as friends 07:51:20.181060 Response sent (56 bytes) and written to log/10/server.response 07:51:20.181071 special request received, no persistency 07:51:20.181080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 36530 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==104715== ==104715== Process terminating with default action of signal 4 (SIGILL) ==104715== Illegal opcode at address 0x51D5F1F ==104715== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104715== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104715== by 0x51D5F1F: Curl_open (url.c:525) ==104715== by 0x514F6EF: curl_easy_init (easy.c:371) ==104715== by 0x400A8CA: test_lib523.lto_priv.0 (lib523.c:38) ==104715== by 0x400347F: main (first.c:280) ==104715== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104715== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104715== by 0x51D5EBD: Curl_open (url.c:504) ==104715== by 0x514F6EF: curl_easy_init (easy.c:371) ==104715== by 0x400A8CA: test_lib523.lto_priv.0 (lib523.c:38) ==104715== by 0x400347F: main (first.c:280) ==104715== === End of file valgrind523 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/8/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:35961/520 > log/8/stdout520 2> log/8/stderr520 520: 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/ dir 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/8/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:35961/520 > log/8/stdout520 2> log/8/stderr520 === End of file commands.log === Start of file ftp_server.log 07:51:20.284409 ====> Client connect 07:51:20.284561 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.284862 < "USER anonymous" 07:51:20.284910 > "331 We are happy you popped in![CR][LF]" 07:51:20.285108 < "PASS ftp@example.com" 07:51:20.285140 > "230 Welcome you silly person[CR][LF]" 07:51:20.285438 < "PWD" 07:51:20.285496 > "257 "/" is current directory[CR][LF]" 07:51:20.285724 < "EPSV" 07:51:20.285754 ====> Passive DATA channel requested by client 07:51:20.285767 DATA sockfilt for passive data channel starting... 07:51:20.287626 DATA sockfilt for passive data channel started (pid 104418) 07:51:20.287748 DATA sockfilt for passive data channel listens on port 38989 07:51:20.287795 > "229 Entering Passive Mode (|||38989|)[CR][LF]" 07:51:20.287815 Client has been notified that DATA conn will be accepted on port 38989 07:51:20.288067 Client connects to port 38989 07:51:20.288098 ====> Client established passive DATA connection on port 38989 07:51:20.288187 < "TYPE I" 07:51:20.288215 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.288389 < "SIZE verifiedserver" 07:51:20.288428 > "213 17[CR][LF]" 07:51:20.288598 < "RETR verifiedserver" 07:51:20.288632 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.288711 =====> Closing passive DATA connection... 07:51:20.288727 Server disconnects passive DATA connection 07:51:20.288930 Server disconnected passive DATA connection 07:51:20.288970 DATA sockfilt for passive data channel quits (pid 104418) 07:51:20.289275 DATA sockfilt for passive data channel quit (pid 104418) 07:51:20.289303 =====> Closed passive DATA connection 07:51:20.289339 > "226 File transfer complete[CR][LF]" 07:51:20.334550 < "QUIT" 07:51:20.334619 > "221 bye bye baby[CR][LF]" 07:51:20.335550 MAIN sockfilt said DISC 07:51:20.335615 ====> Client disconnected 07:51:20.335685 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.112256 ====> Client connect 07:51:20.112531 Received DATA (on stdin) 07:51:20.112549 > 160 bytes data, server => client 07:51:20.112562 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.112573 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.112584 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.112653 < 16 bytes data, client => server 07:51:20.112664 'USER anonymous\r\n' 07:51:20.112864 Received DATA (on stdin) 07:51:20.112879 > 33 bytes data, server => client 07:51:20.112891 '331 We are happy you popped in!\r\n' 07:51:20.112945 < 22 bytes data, client => server 07:51:20.112959 'PASS ftp@example.com\r\n' 07:51:20.113088 Received DATA (on stdin) 07:51:20.113099 > 30 bytes data, server => client 07:51:20.113108 '230 Welcome you silly person\r\n' 07:51:20.113155 < 5 bytes data, client => server 07:51:20.113381 'PWD\r\n' 07:51:20.113453 Received DATA (on stdin) 07:51:20.113471 > 30 bytes data, server => client 07:51:20.113484 '257 "/" is current directory\r\n' 07:51:20.113569 < 6 bytes data, client => server 07:51:20.113582 'EPSV\r\n' 07:51:20.115768 Received DATA (on stdin) 07:51:20.115784 > 39 bytes data, server => client 07:51:20.115797 '229 Entering Passive Mode (|||38989|)\r\n' 07:51:20.115961 < 8 bytes data, client => server 07:51:20.115974 'TYPE I\r\n' 07:51:20.116165 Received DATA (on stdin) 07:51:20.116178 > 33 bytes data, server => client 07:51:20.116190 '200 I modify TYPE as you wanted\r\n' 07:51:20.116245 < 21 bytes data, client => server 07:51:20.116258 'SIZE verifiedserver\r\n' 07:51:20.116377 Received DATA (on stdin) 07:51:20.116390 > 8 bytes data, server => client 07:51:20.116401 '213 17\r\n' 07:51:20.116454 < 21 bytes data, client => server 07:51:20.116467 'RETR verifiedserver\r\n' 07:51:20.116764 Received DATA (on stdin) 07:51:20.116778 > 29 bytes data, server => client 07:51:20.116790 '150 Binary junk (17 bytes).\r\n' 07:51:20.117295 Received DATA (on stdin) 07:51:20.117315 > 28 bytes data, server => client 07:51:20.117326 '226 File transfer complete\r\n' 07:51:20.162354 < 6 bytes data, client => server 07:51:20.162379 'QUIT\r\n' 07:51:20.162576 Received DATA (on stdin) 07:51:20.162592 > 18 bytes data, server => client 07:51:20.162606 '221 bye bye baby\r\n' 07:51:20.162838 ====> Client disconnect 07:51:20.163657 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.115390 Running IPv4 version 07:51:20.115446 Listening on port 38989 07:51:20.115482 Wrote pid 104418 to log/8/server/ftp_sockdata.pid 07:51:20.115503 Received PING (on stdin) 07:51:20.115606 Received PORT (on stdin) 07:51:20.115930 ====> Client connect 07:51:20.116676 Received DATA (on stdin) 07:51:20.116690 > 17 bytes data, server => client 07:51:20.116701 'WE ROOLZ: 80636\r\n' 07:51:20.116728 Received DISC (on stdin) 07:51:20.116740 ====> Client forcibly disconnected 07:51:20.116939 Received QUIT (on stdin) 07:51:20.116957 quits 07:51:20.117024 ============> 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:35961/520 === End of file stderr520 === Start of file valgrind520 ==104646== ==104646== Process terminating with default action of signal 4 (SIGILL) ==104646== Illegal opcode at address 0x51D5F1F ==104646== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104646== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104646== by 0x51D5F1F: Curl_open (url.c:525) ==104646== by 0x514F6EF: curl_easy_init (easy.c:371) ==104646== by 0x400A68A: test_lib520.lto_priv.0 (lib520.c:38) ==104646== by 0x400347F: main (first.c:280) ==104646== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104646== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104646== by 0x51D5EBD: Curl_open (url.c:504) ==104646== by 0x514F6EF: curl_easy_init (easy.c:371) ==104646== by 0x400A68A: test_lib520.lto_priv.0 (lib520.c:38) ==104646== by 0x400347F: main (first.c:280) ==104646== === End of file valgrind520 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/24/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:36707/path/525 log/24/upload525 > log/24/stdout525 2> log/24/stderr525 525: 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/ dir 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/24/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:36707/path/525 log/24/upload525 > log/24/stdout525 2> log/24/stderr525 === End of file commands.log === Start of file ftp_server.log 07:51:20.354880 ====> Client connect 07:51:20.355135 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.355521 < "USER anonymous" 07:51:20.355587 > "331 We are happy you popped in![CR][LF]" 07:51:20.355790 < "PASS ftp@example.com" 07:51:20.355824 > "230 Welcome you silly person[CR][LF]" 07:51:20.355998 < "PWD" 07:51:20.356037 > "257 "/" is current directory[CR][LF]" 07:51:20.356212 < "EPSV" 07:51:20.356245 ====> Passive DATA channel requested by client 07:51:20.356261 DATA sockfilt for passive data channel starting... 07:51:20.358979 DATA sockfilt for passive data channel started (pid 104690) 07:51:20.359129 DATA sockfilt for passive data channel listens on port 37339 07:51:20.359187 > "229 Entering Passive Mode (|||37339|)[CR][LF]" 07:51:20.359205 Client has been notified that DATA conn will be accepted on port 37339 07:51:20.359496 Client connects to port 37339 07:51:20.359535 ====> Client established passive DATA connection on port 37339 07:51:20.359629 < "TYPE I" 07:51:20.359662 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.359843 < "SIZE verifiedserver" 07:51:20.359884 > "213 17[CR][LF]" 07:51:20.360043 < "RETR verifiedserver" 07:51:20.360079 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.360163 =====> Closing passive DATA connection... 07:51:20.360180 Server disconnects passive DATA connection 07:51:20.360433 Server disconnected passive DATA connection 07:51:20.360460 DATA sockfilt for passive data channel quits (pid 104690) 07:51:20.360733 DATA sockfilt for passive data channel quit (pid 104690) 07:51:20.360757 =====> Closed passive DATA connection 07:51:20.360786 > "226 File transfer complete[CR][LF]" 07:51:20.405116 < "QUIT" 07:51:20.405180 > "221 bye bye baby[CR][LF]" 07:51:20.406412 MAIN sockfilt said DISC 07:51:20.406465 ====> Client disconnected 07:51:20.406565 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.182716 ====> Client connect 07:51:20.183121 Received DATA (on stdin) 07:51:20.183143 > 160 bytes data, server => client 07:51:20.183159 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.183171 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.183182 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.183277 < 16 bytes data, client => server 07:51:20.183293 'USER anonymous\r\n' 07:51:20.183542 Received DATA (on stdin) 07:51:20.183556 > 33 bytes data, server => client 07:51:20.183568 '331 We are happy you popped in!\r\n' 07:51:20.183626 < 22 bytes data, client => server 07:51:20.183640 'PASS ftp@example.com\r\n' 07:51:20.183772 Received DATA (on stdin) 07:51:20.183785 > 30 bytes data, server => client 07:51:20.183796 '230 Welcome you silly person\r\n' 07:51:20.183850 < 5 bytes data, client => server 07:51:20.183861 'PWD\r\n' 07:51:20.183986 Received DATA (on stdin) 07:51:20.183999 > 30 bytes data, server => client 07:51:20.184010 '257 "/" is current directory\r\n' 07:51:20.184068 < 6 bytes data, client => server 07:51:20.184083 'EPSV\r\n' 07:51:20.187161 Received DATA (on stdin) 07:51:20.187180 > 39 bytes data, server => client 07:51:20.187193 '229 Entering Passive Mode (|||37339|)\r\n' 07:51:20.187384 < 8 bytes data, client => server 07:51:20.187398 'TYPE I\r\n' 07:51:20.187614 Received DATA (on stdin) 07:51:20.187627 > 33 bytes data, server => client 07:51:20.187640 '200 I modify TYPE as you wanted\r\n' 07:51:20.187697 < 21 bytes data, client => server 07:51:20.187711 'SIZE verifiedserver\r\n' 07:51:20.187831 Received DATA (on stdin) 07:51:20.187844 > 8 bytes data, server => client 07:51:20.187856 '213 17\r\n' 07:51:20.187905 < 21 bytes data, client => server 07:51:20.187918 'RETR verifiedserver\r\n' 07:51:20.188130 Received DATA (on stdin) 07:51:20.188144 > 29 bytes data, server => client 07:51:20.188156 '150 Binary junk (17 bytes).\r\n' 07:51:20.188734 Received DATA (on stdin) 07:51:20.188748 > 28 bytes data, server => client 07:51:20.188759 '226 File transfer complete\r\n' 07:51:20.232792 < 6 bytes data, client => server 07:51:20.232833 'QUIT\r\n' 07:51:20.233142 Received DATA (on stdin) 07:51:20.233162 > 18 bytes data, server => client 07:51:20.233175 '221 bye bye baby\r\n' 07:51:20.234285 ====> Client disconnect 07:51:20.235126 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.186714 Running IPv4 version 07:51:20.186790 Listening on port 37339 07:51:20.186825 Wrote pid 104690 to log/24/server/ftp_sockdata.pid 07:51:20.186850 Received PING (on stdin) 07:51:20.186970 Received PORT (on stdin) 07:51:20.187351 CMD (33792): ../libtool --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:38231/path/526 > log/22/stdout526 2> log/22/stderr526 ====> Client connect 07:51:20.188182 Received DATA (on stdin) 07:51:20.188197 > 17 bytes data, server => client 07:51:20.188209 'WE ROOLZ: 83461\r\n' 07:51:20.188235 Received DISC (on stdin) 07:51:20.188248 ====> Client forcibly disconnected 07:51:20.188415 Received QUIT (on stdin) 07:51:20.188427 quits 07:51:20.188491 ============> 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:36707/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==104836== ==104836== Process terminating with default action of signal 4 (SIGILL) ==104836== Illegal opcode at address 0x51D5F1F ==104836== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104836== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104836== by 0x51D5F1F: Curl_open (url.c:525) ==104836== by 0x514F6EF: curl_easy_init (easy.c:371) ==104836== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==104836== by 0x400347F: main (first.c:280) ==104836== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==104836== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104836== by 0x51D5EBD: Curl_open (url.c:504) ==104836== by 0x514F6EF: curl_easy_init (easy.c:371) ==104836== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==104836== by 0x400347F: main (first.c:280) ==104836== === End of file valgrind525 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:38231/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/ dir 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:38231/path/526 > log/22/stdout526 2> log/22/stderr526 === End of file commands.log === Start of file ftp_server.log 07:51:20.452109 ====> Client connect 07:51:20.452279 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.452580 < "USER anonymous" 07:51:20.452624 > "331 We are happy you popped in![CR][LF]" 07:51:20.452801 < "PASS ftp@example.com" 07:51:20.452829 > "230 Welcome you silly person[CR][LF]" 07:51:20.452982 < "PWD" 07:51:20.453015 > "257 "/" is current directory[CR][LF]" 07:51:20.453175 < "EPSV" 07:51:20.453199 ====> Passive DATA channel requested by client 07:51:20.453213 DATA sockfilt for passive data channel starting... 07:51:20.455309 DATA sockfilt for passive data channel started (pid 104957) 07:51:20.455417 DATA sockfilt for passive data channel listens on port 34101 07:51:20.455458 > "229 Entering Passive Mode (|||34101|)[CR][LF]" 07:51:20.455476 Client has been notified that DATA conn will be accepted on port 34101 07:51:20.455702 Client connects to port 34101 07:51:20.455732 ====> Client established passive DATA connection on port 34101 07:51:20.455807 < "TYPE I" 07:51:20.455835 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.455992 < "SIZE verifiedserver" 07:51:20.456027 > "213 17[CR][LF]" 07:51:20.456177 < "RETR verifiedserver" 07:51:20.456210 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.456288 =====> Closing passive DATA connection... 07:51:20.456303 Server disconnects passive DATA connection 07:51:20.456536 Server disconnected passive DATA connection 07:51:20.456564 DATA sockfilt for passive data channel quits (pid 104957) 07:51:20.456767 DATA sockfilt for passive data channel quit (pid 104957) 07:51:20.456790 =====> Closed passive DATA connection 07:51:20.456817 > "226 File transfer complete[CR][LF]" 07:51:20.501515 < "QUIT" 07:51:20.501570 > "221 bye bye baby[CR][LF]" 07:51:20.502627 MAIN sockfilt said DISC 07:51:20.502668 ====> Client disconnected 07:51:20.502754 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.279946 ====> Client connect 07:51:20.280240 Received DATA (on stdin) 07:51:20.280257 > 160 bytes data, server => client 07:51:20.280270 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.280283 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.280294 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.280374 < 16 bytes data, client => server 07:51:20.280388 'USER anonymous\r\n' 07:51:20.280574 Received DATA (on stdin) 07:51:20.280588 > 33 bytes data, server => client 07:51:20.280601 '331 We are happy you popped in!\r\n' 07:51:20.280654 < 22 bytes data, client => server 07:51:20.280666 'PASS ftp@example.com\r\n' 07:51:20.280776 Received DATA (on stdin) 07:51:20.280788 > 30 bytes data, server => client 07:51:20.280800 '230 Welcome you silly person\r\n' 07:51:20.280847 < 5 bytes data, client => server 07:51:20.280859 'PWD\r\n' 07:51:20.280961 Received DATA (on stdin) 07:51:20.280973 > 30 bytes data, server => client 07:51:20.280985 '257 "/" is current directory\r\n' 07:51:20.281040 < 6 bytes data, client => server 07:51:20.281052 'EPSV\r\n' 07:51:20.283429 Received DATA (on stdin) 07:51:20.283444 > 39 bytes data, server => client 07:51:20.283457 '229 Entering Passive Mode (|||34101|)\r\n' 07:51:20.283566 < 8 bytes data, client => server 07:51:20.283581 'TYPE I\r\n' 07:51:20.283781 Received DATA (on stdin) 07:51:20.283795 > 33 bytes data, server => client 07:51:20.283807 '200 I modify TYPE as you wanted\r\n' 07:51:20.283856 < 21 bytes data, client => server 07:51:20.283868 'SIZE verifiedserver\r\n' 07:51:20.283974 Received DATA (on stdin) 07:51:20.283987 > 8 bytes data, server => client 07:51:20.283998 '213 17\r\n' 07:51:20.284043 < 21 bytes data, client => server 07:51:20.284055 'RETR verifiedserver\r\n' 07:51:20.284252 Received DATA (on stdin) 07:51:20.284265 > 29 bytes data, server => client 07:51:20.284277 '150 Binary junk (17 bytes).\r\n' 07:51:20.284766 Received DATA (on stdin) 07:51:20.284780 > 28 bytes data, server => client 07:51:20.284792 '226 File transfer complete\r\n' 07:51:20.329293 < 6 bytes data, client => server 07:51:20.329320 'QUIT\r\n' 07:51:20.329523 Received DATA (on stdin) 07:51:20.329537 > 18 bytes data, server => client 07:51:20.329547 '221 bye bye baby\r\n' 07:51:20.330510 ====> Client disconnect 07:51:20.330703 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.282937 Running IPv4 version 07:51:20.282994 Listening on port 34101 07:51:20.283030 Wrote pid 104957 to log/22/server/ftp_sockdata.pid 07:51:20.283197 Received PING (on stdin) 07:51:20.283278 Received PORT (on stdin) 07:51:20.283602 ====> Client connect 07:51:20.284302 Received DATA (on stdin) 07:51:20.284316 > 17 bytes data, server => client 07:51:20.284327 'WE ROOLZ: 80638\r\n' 07:51:20.284351 Received DISC (on stdin) 07:51:20.284364 ====> Client forcibly disconnected 07:51:20.284519 Received QUIT (on stdin) 07:51:20.284531 quits 07:51:20.284586 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 526 === End of file server.cmd === Start of file stderr526 URL: ftp://127.0.0.1:38231/path/526 === End of file stderr526 === Start of file valgrind526 ==104982== ==104982== Process terminating with default action of signal 4 (SIGILL) ==104982== Illegal opcode at address 0x51D5F1F ==104982== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104982== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104982== by 0x51D5F1F: Curl_open (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/21/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:32857/path/527 > log/21/stdout527 2> log/21/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/23/valgrind503 ./libtest/libtests lib503 http://machine.503:41029/503 127.0.0.1:36199 > log/23/stdout503 2> log/23/stderr503 c:525) ==104982== by 0x514F6EF: curl_easy_init (easy.c:371) ==104982== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==104982== by 0x400347F: main (first.c:280) ==104982== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104982== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104982== by 0x51D5EBD: Curl_open (url.c:504) ==104982== by 0x514F6EF: curl_easy_init (easy.c:371) ==104982== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==104982== by 0x400347F: main (first.c:280) ==104982== === End of file valgrind526 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/21/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:32857/path/527 > log/21/stdout527 2> log/21/stderr527 527: 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/ dir 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/21/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:32857/path/527 > log/21/stdout527 2> log/21/stderr527 === End of file commands.log === Start of file ftp_server.log 07:51:20.452105 ====> Client connect 07:51:20.452295 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.452589 < "USER anonymous" 07:51:20.452627 > "331 We are happy you popped in![CR][LF]" 07:51:20.452804 < "PASS ftp@example.com" 07:51:20.452834 > "230 Welcome you silly person[CR][LF]" 07:51:20.452981 < "PWD" 07:51:20.453010 > "257 "/" is current directory[CR][LF]" 07:51:20.453160 < "EPSV" 07:51:20.453188 ====> Passive DATA channel requested by client 07:51:20.453201 DATA sockfilt for passive data channel starting... 07:51:20.455006 DATA sockfilt for passive data channel started (pid 104956) 07:51:20.455102 DATA sockfilt for passive data channel listens on port 41645 07:51:20.455145 > "229 Entering Passive Mode (|||41645|)[CR][LF]" 07:51:20.455161 Client has been notified that DATA conn will be accepted on port 41645 07:51:20.455376 Client connects to port 41645 07:51:20.455405 ====> Client established passive DATA connection on port 41645 07:51:20.455478 < "TYPE I" 07:51:20.455508 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.455663 < "SIZE verifiedserver" 07:51:20.455704 > "213 17[CR][LF]" 07:51:20.455852 < "RETR verifiedserver" 07:51:20.455881 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.455957 =====> Closing passive DATA connection... 07:51:20.455973 Server disconnects passive DATA connection 07:51:20.456199 Server disconnected passive DATA connection 07:51:20.456225 DATA sockfilt for passive data channel quits (pid 104956) 07:51:20.456446 DATA sockfilt for passive data channel quit (pid 104956) 07:51:20.456475 =====> Closed passive DATA connection 07:51:20.456502 > "226 File transfer complete[CR][LF]" 07:51:20.501496 < "QUIT" 07:51:20.501556 > "221 bye bye baby[CR][LF]" 07:51:20.502704 MAIN sockfilt said DISC 07:51:20.502746 ====> Client disconnected 07:51:20.502813 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.279946 ====> Client connect 07:51:20.280255 Received DATA (on stdin) 07:51:20.280271 > 160 bytes data, server => client 07:51:20.280283 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.280295 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.280305 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.280376 < 16 bytes data, client => server 07:51:20.280388 'USER anonymous\r\n' 07:51:20.280576 Received DATA (on stdin) 07:51:20.280589 > 33 bytes data, server => client 07:51:20.280600 '331 We are happy you popped in!\r\n' 07:51:20.280651 < 22 bytes data, client => server 07:51:20.280663 'PASS ftp@example.com\r\n' 07:51:20.280780 Received DATA (on stdin) 07:51:20.280791 > 30 bytes data, server => client 07:51:20.280802 '230 Welcome you silly person\r\n' 07:51:20.280846 < 5 bytes data, client => server 07:51:20.280858 'PWD\r\n' 07:51:20.280955 Received DATA (on stdin) 07:51:20.280966 > 30 bytes data, server => client 07:51:20.280977 '257 "/" is current directory\r\n' 07:51:20.281029 < 6 bytes data, client => server 07:51:20.281040 'EPSV\r\n' 07:51:20.283115 Received DATA (on stdin) 07:51:20.283129 > 39 bytes data, server => client 07:51:20.283141 '229 Entering Passive Mode (|||41645|)\r\n' 07:51:20.283244 < 8 bytes data, client => server 07:51:20.283258 'TYPE I\r\n' 07:51:20.283456 Received DATA (on stdin) 07:51:20.283469 > 33 bytes data, server => client 07:51:20.283480 '200 I modify TYPE as you wanted\r\n' 07:51:20.283528 < 21 bytes data, client => server 07:51:20.283540 'SIZE verifiedserver\r\n' 07:51:20.283653 Received DATA (on stdin) 07:51:20.283665 > 8 bytes data, server => client 07:51:20.283676 '213 17\r\n' 07:51:20.283720 < 21 bytes data, client => server 07:51:20.283731 'RETR verifiedserver\r\n' 07:51:20.283921 Received DATA (on stdin) 07:51:20.283933 > 29 bytes data, server => client 07:51:20.283944 '150 Binary junk (17 bytes).\r\n' 07:51:20.284449 Received DATA (on stdin) 07:51:20.284462 > 28 bytes data, server => client 07:51:20.284473 '226 File transfer complete\r\n' 07:51:20.329219 < 6 bytes data, client => server 07:51:20.329264 'QUIT\r\n' 07:51:20.329512 Received DATA (on stdin) 07:51:20.329527 > 18 bytes data, server => client 07:51:20.329539 '221 bye bye baby\r\n' 07:51:20.330580 ====> Client disconnect 07:51:20.330765 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.282665 Running IPv4 version 07:51:20.282717 Listening on port 41645 07:51:20.282754 Wrote pid 104956 to log/21/server/ftp_sockdata.pid 07:51:20.282900 Received PING (on stdin) 07:51:20.282974 Received PORT (on stdin) 07:51:20.283278 ====> Client connect 07:51:20.283968 Received DATA (on stdin) 07:51:20.283982 > 17 bytes data, server => client 07:51:20.283993 'WE ROOLZ: 83057\r\n' 07:51:20.284016 Received DISC (on stdin) 07:51:20.284028 ====> Client forcibly disconnected 07:51:20.284180 Received QUIT (on stdin) 07:51:20.284192 quits 07:51:20.284251 ============> 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:32857/path/527 === End of file stderr527 === Start of file valgrind527 ==104983== ==104983== Process terminating with default action of signal 4 (SIGILL) ==104983== Illegal opcode at address 0x51D5F1F ==104983== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104983== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104983== by 0x51D5F1F: Curl_open (url.c:525) ==104983== by 0x514F6EF: curl_easy_init (easy.c:371) ==104983== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==104983== by 0x400347F: main (first.c:280) ==104983== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104983== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104983== by 0x51D5EBD: Curl_open (url.c:504) ==104983== by 0x514F6EF: curl_easy_init (easy.c:371) ==104983== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==104983== by 0x400347F: main (first.c:280) ==104983== === End of file valgrind527 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 103609CMD (33792): ../libtool --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/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:45933/path/528 > log/6/stdout528 2> log/6/stderr528 CMD (33792): ../libtool --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/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:43789/file530 > log/15/stdout530 2> log/15/stderr530 port 36199 * pid http-proxy => 103609 103609 test 0503...[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/23/valgrind503 ./libtest/libtests lib503 http://machine.503:41029/503 127.0.0.1:36199 > log/23/stdout503 2> log/23/stderr503 503: 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/ dir 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/23/valgrind503 ./libtest/libtests lib503 http://machine.503:41029/503 127.0.0.1:36199 > log/23/stdout503 2> log/23/stderr503 === End of file commands.log === Start of file http2_server.log 07:51:19.485125 Run as proxy, CONNECT to host 127.0.0.1 07:51:19.485222 Running HTTP IPv4 version on port 36199 07:51:19.485261 Wrote pid 103609 to log/23/server/http2_server.pid 07:51:19.485291 Wrote port 36199 to log/23/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:51:19.462307 ====> Client connect 07:51:19.462342 accept_connection 3 returned 4 07:51:19.462361 accept_connection 3 returned 0 07:51:19.462377 Read 93 bytes 07:51:19.462389 Process 93 bytes request 07:51:19.462404 Got request: GET /verifiedserver HTTP/1.1 07:51:19.462416 Are-we-friendly question received 07:51:19.462443 Wrote request (93 bytes) input to log/23/server.input 07:51:19.462461 Identifying ourselves as friends 07:51:19.462546 Response sent (56 bytes) and written to log/23/server.response 07:51:19.462561 special request received, no persistency 07:51:19.462573 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr503 URL: http://machine.503:41029/503 === End of file stderr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==105084== ==105084== Process terminating with default action of signal 4 (SIGILL) ==105084== Illegal opcode at address 0x51D5F1F ==105084== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105084== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105084== by 0x51D5F1F: Curl_open (url.c:525) ==105084== by 0x514F6EF: curl_easy_init (easy.c:371) ==105084== by 0x4062515: test_lib503.part.0.lto_priv.0 (lib503.c:47) ==105084== by 0x400347F: main (first.c:280) ==105084== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105084== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105084== by 0x51D5EBD: Curl_open (url.c:504) ==105084== by 0x514F6EF: curl_easy_init (easy.c:371) ==105084== by 0x4062515: test_lib503.part.0.lto_priv.0 (lib503.c:47) ==105084== by 0x400347F: main (first.c:280) ==105084== === End of file valgrind503 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/6/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:45933/path/528 > log/6/stdout528 2> log/6/stderr528 528: 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/ dir 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/6/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:45933/path/528 > log/6/stdout528 2> log/6/stderr528 === End of file commands.log === Start of file http_server.log 07:51:20.527339 ====> Client connect 07:51:20.527371 accept_connection 3 returned 4 07:51:20.527388 accept_connection 3 returned 0 07:51:20.527403 Read 93 bytes 07:51:20.527414 Process 93 bytes request 07:51:20.527426 Got request: GET /verifiedserver HTTP/1.1 07:51:20.527435 Are-we-friendly question received 07:51:20.527458 Wrote request (93 bytes) input to log/6/server.input 07:51:20.527474 Identifying ourselves as friends 07:51:20.527526 Response sent (56 bytes) and written to log/6/server.response 07:51:20.527537 special request received, no persistency 07:51:20.527547 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 36008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === End of file http_verify.out === Start of file server.cmd Testnum 528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 83854 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:45933/path/528 === End of file stderr528 === Start of file valgrind528 ==105197== ==105197== Process terminating with default action of signal 4 (SIGILL) ==105197== Illegal opcode at address 0x51D5F1F ==105197== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105197== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105197== by 0x51D5F1F: Curl_open (url.c:525) ==105197== by 0x514F6EF: curl_easy_init (easy.c:371) ==105197== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105197== by 0x400347F: main (first.c:280) ==105197== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105197== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105197== by 0x51D5EBD: Curl_open (url.c:504) ==105197== by 0x514F6EF: curl_easy_init (easy.c:371) ==105197== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105197== by 0x400347F: main (first.c:280) ==105197== === End of file valgrind528 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/15/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:43789/file530 > log/15/stdout530 2> log/15/stderr530 libtests returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:43789/file530 > log/15/stdout530 2> log/15/stderr530 === End of file commands.log === Start of file http_server.log 07:51:20.527187 ====> Client connect 07:51:20.527220 accept_connection 3 returned 4 07:51:20.527238 accept_connection 3 returned 0 07:51:20.527253 Read 93 bytes 07:51:20.527265 PrCMD (33792): ../libtool --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/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:33699/path/529 log/13/upload529 > log/13/stdout529 2> log/13/stderr529 ocess 93 bytes request 07:51:20.527279 Got request: GET /verifiedserver HTTP/1.1 07:51:20.527289 Are-we-friendly question received 07:51:20.527315 Wrote request (93 bytes) input to log/15/server.input 07:51:20.527334 Identifying ourselves as friends 07:51:20.527390 Response sent (56 bytes) and written to log/15/server.response 07:51:20.527402 special request received, no persistency 07:51:20.527413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 44050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:43789/file530 [T530-0-0] [0/0] start === End of file stderr530 === Start of file valgrind530 ==105200== ==105200== Process terminating with default action of signal 4 (SIGILL) ==105200== Illegal opcode at address 0x51D5F1F ==105200== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105200== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105200== by 0x51D5F1F: Curl_open (url.c:525) ==105200== by 0x514F6EF: curl_easy_init (easy.c:371) ==105200== by 0x40115A2: testone (lib530.c:307) ==105200== by 0x4012278: test_lib530.lto_priv.0 (lib530.c:405) ==105200== by 0x400347F: main (first.c:280) ==105200== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105200== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105200== by 0x51D5EBD: Curl_open (url.c:504) ==105200== by 0x514F6EF: curl_easy_init (easy.c:371) ==105200== by 0x40115A2: testone (lib530.c:307) ==105200== by 0x4012278: test_lib530.lto_priv.0 (lib530.c:405) ==105200== by 0x400347F: main (first.c:280) ==105200== === End of file valgrind530 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/13/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:33699/path/529 log/13/upload529 > log/13/stdout529 2> log/13/stderr529 529: 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/ dir 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/13/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:33699/path/529 log/13/upload529 > log/13/stdout529 2> log/13/stderr529 === End of file commands.log === Start of file ftp_server.log 07:51:20.688049 ====> Client connect 07:51:20.688218 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.691589 < "USER anonymous" 07:51:20.691639 > "331 We are happy you popped in![CR][LF]" 07:51:20.691847 < "PASS ftp@example.com" 07:51:20.691880 > "230 Welcome you silly person[CR][LF]" 07:51:20.692049 < "PWD" 07:51:20.692083 > "257 "/" is current directory[CR][LF]" 07:51:20.692256 < "EPSV" 07:51:20.692280 ====> Passive DATA channel requested by client 07:51:20.692293 DATA sockfilt for passive data channel starting... 07:51:20.694060 DATA sockfilt for passive data channel started (pid 105157) 07:51:20.694387 DATA sockfilt for passive data channel listens on port 45263 07:51:20.694446 > "229 Entering Passive Mode (|||45263|)[CR][LF]" 07:51:20.694472 Client has been notified that DATA conn will be accepted on port 45263 07:51:20.694786 Client connects to port 45263 07:51:20.694823 ====> Client established passive DATA connection on port 45263 07:51:20.694914 < "TYPE I" 07:51:20.694949 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.695136 < "SIZE verifiedserver" 07:51:20.695177 > "213 17[CR][LF]" 07:51:20.695353 < "RETR verifiedserver" 07:51:20.695389 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.695486 =====> Closing passive DATA connection... 07:51:20.695506 Server disconnects passive DATA connection 07:51:20.695771 Server disconnected passive DATA connection 07:51:20.695803 DATA sockfilt for passive data channel quits (pid 105157) 07:51:20.696101 DATA sockfilt for passive data channel quit (pid 105157) 07:51:20.696131 =====> Closed passive DATA connection 07:51:20.696158 > "226 File transfer complete[CR][LF]" 07:51:20.741765 < "QUIT" 07:51:20.741824 > "221 bye bye baby[CR][LF]" 07:51:20.743213 MAIN sockfilt said DISC 07:51:20.743274 ====> Client disconnected 07:51:20.743347 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.515872 ====> Client connect 07:51:21.519188 Received DATA (on stdin) 07:51:21.519215 > 160 bytes data, server => client 07:51:21.519228 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.519240 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.519251 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.519365 < 16 bytes data, client => server 07:51:21.519379 'USER anonymous\r\n' 07:51:21.519593 Received DATA (on stdin) 07:51:21.519608 > 33 bytes data, server => client 07:51:21.519619 '331 We are happy you popped in!\r\n' 07:51:21.519682 < 22 bytes data, client => server 07:51:21.519695 'PASS ftp@example.com\r\n' 07:51:21.519828 Received DATA (on stdin) 07:51:21.519841 > 30 bytes data, server => client 07:51:21.519852 '230 Welcome you silly person\r\n' 07:51:21.519902 < 5 bytes data, client => server 07:51:21.519915 'PWD\r\n' 07:51:21.520030 Received DATA (on stdin) 07:51:21.520042 > 30 bytes data, server => client 07:51:21.520053 '257 "/" is current directory\r\n' 07:51:21.520113 < 6 bytes data, client => server 07:51:21.520126 'EPSV\r\n' 07:51:21.522428 Received DATA (on stdin) 07:51:21.522444 > 39 bytes data, server => client 07:51:21.522457 '229 Entering Passive Mode (|||45263|)\r\n' 07:51:21.522621 < 8 bytes data, client => server 07:51:21.522641 'TYPE I\r\n' 07:51:21.522900 Received DATA (on stdin) 07:51:21.522915 > 33 bytes data, server => client 07:51:21.522927 '200 I modify TYPE as you wanted\r\n' 07:51:21.522985 < 21 bytes data, client => server 07:51:21.523001 'SIZE verifiedserver\r\n' 07:51:21.523128 Received DATA (on stdin) 07:51:21.523142 > 8 bytes data, server => client 07:51:21.523153 '213 17\r\n' 07:51:21.523206 < 21 bytes data, client => server 07:51:21.523221 'RETR verifiedserver\r\n' 07:51:21.523457 Received DATA (on stdin) 07:51:21.523471 > 29 bytes data, server => client 07:51:21.523483 '150 Binary junk (17 bytes).\r\n' 07:51:21.524108 Received DATA (on stdin) 07:51:21.524123 > 28 bytes data, server => client 07:51:21.524135 '226 File transfer complete\r\n' 07:51:21.569517 < 6 bytes data, client => server 07:51:21.569551 'QUIT\r\n' 07:51:21.569779 Received DATA (on stdin) 07:51:21.569793 > 18 bytes data, server => client 07:51:21.569805 '221 bye bye baby\r\n' 07:51:21.570853 ====> Client disconnect 07:51:21.571299 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.521819 Running IPv4 version 07:51:20.521883 Listening on port 45263 07:51:20.521916 Wrote pid 105157 to log/13/server/ftp_sockdata.pid 07:51:20.521936 Received PING (on stdin) 07:51:20.522204 Received PORT (on stdin) 07:51:20.522669 ====> Client connect 07:51:20.523514 Received DATA (on stdin) 07:51CMD (33792): ../libtool --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/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:34455/path/531 log/18/upload531 > log/18/stdout531 2> log/18/stderr531 :20.523530 > 17 bytes data, server => client 07:51:20.523543 'WE ROOLZ: 80695\r\n' 07:51:20.523569 Received DISC (on stdin) 07:51:20.523583 ====> Client forcibly disconnected 07:51:20.523761 Received QUIT (on stdin) 07:51:20.523775 quits 07:51:20.523847 ============> 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:33699/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==105324== ==105324== Process terminating with default action of signal 4 (SIGILL) ==105324== Illegal opcode at address 0x51D5F1F ==105324== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105324== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105324== by 0x51D5F1F: Curl_open (url.c:525) ==105324== by 0x514F6EF: curl_easy_init (easy.c:371) ==105324== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105324== by 0x400347F: main (first.c:280) ==105324== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==105324== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105324== by 0x51D5EBD: Curl_open (url.c:504) ==105324== by 0x514F6EF: curl_easy_init (easy.c:371) ==105324== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105324== by 0x400347F: main (first.c:280) ==105324== === End of file valgrind529 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/18/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:34455/path/531 log/18/upload531 > log/18/stdout531 2> log/18/stderr531 531: 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/ dir 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/18/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:34455/path/531 log/18/upload531 > log/18/stdout531 2> log/18/stderr531 === End of file commands.log === Start of file ftp_server.log 07:51:20.707876 ====> Client connect 07:51:20.708194 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.708489 < "USER anonymous" 07:51:20.708530 > "331 We are happy you popped in![CR][LF]" 07:51:20.708988 < "PASS ftp@example.com" 07:51:20.709028 > "230 Welcome you silly person[CR][LF]" 07:51:20.709206 < "PWD" 07:51:20.709241 > "257 "/" is current directory[CR][LF]" 07:51:20.709415 < "EPSV" 07:51:20.709440 ====> Passive DATA channel requested by client 07:51:20.709453 DATA sockfilt for passive data channel starting... 07:51:20.710917 DATA sockfilt for passive data channel started (pid 105193) 07:51:20.711023 DATA sockfilt for passive data channel listens on port 44395 07:51:20.711063 > "229 Entering Passive Mode (|||44395|)[CR][LF]" 07:51:20.711082 Client has been notified that DATA conn will be accepted on port 44395 07:51:20.711310 Client connects to port 44395 07:51:20.711341 ====> Client established passive DATA connection on port 44395 07:51:20.711413 < "TYPE I" 07:51:20.711442 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.711610 < "SIZE verifiedserver" 07:51:20.711651 > "213 17[CR][LF]" 07:51:20.711808 < "RETR verifiedserver" 07:51:20.711845 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.711934 =====> Closing passive DATA connection... 07:51:20.711951 Server disconnects passive DATA connection 07:51:20.712191 Server disconnected passive DATA connection 07:51:20.712216 DATA sockfilt for passive data channel quits (pid 105193) 07:51:20.712395 DATA sockfilt for passive data channel quit (pid 105193) 07:51:20.712417 =====> Closed passive DATA connection 07:51:20.712443 > "226 File transfer complete[CR][LF]" 07:51:20.758497 < "QUIT" 07:51:20.758563 > "221 bye bye baby[CR][LF]" 07:51:20.759090 MAIN sockfilt said DISC 07:51:20.759152 ====> Client disconnected 07:51:20.759225 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.535713 ====> Client connect 07:51:21.536154 Received DATA (on stdin) 07:51:21.536172 > 160 bytes data, server => client 07:51:21.536186 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.536197 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.536208 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.536281 < 16 bytes data, client => server 07:51:21.536297 'USER anonymous\r\n' 07:51:21.536710 Received DATA (on stdin) 07:51:21.536730 > 33 bytes data, server => client 07:51:21.536742 '331 We are happy you popped in!\r\n' 07:51:21.536805 < 22 bytes data, client => server 07:51:21.536819 'PASS ftp@example.com\r\n' 07:51:21.536978 Received DATA (on stdin) 07:51:21.536991 > 30 bytes data, server => client 07:51:21.537003 '230 Welcome you silly person\r\n' 07:51:21.537055 < 5 bytes data, client => server 07:51:21.537069 'PWD\r\n' 07:51:21.537189 Received DATA (on stdin) 07:51:21.537202 > 30 bytes data, server => client 07:51:21.537213 '257 "/" is current directory\r\n' 07:51:21.537273 < 6 bytes data, client => server 07:51:21.537286 'EPSV\r\n' 07:51:21.539033 Received DATA (on stdin) 07:51:21.539046 > 39 bytes data, server => client 07:51:21.539058 '229 Entering Passive Mode (|||44395|)\r\n' 07:51:21.539202 < 8 bytes data, client => server 07:51:21.539215 'TYPE I\r\n' 07:51:21.539391 Received DATA (on stdin) 07:51:21.539404 > 33 bytes data, server => client 07:51:21.539415 '200 I modify TYPE as you wanted\r\n' 07:51:21.539468 < 21 bytes data, client => server 07:51:21.539480 'SIZE verifiedserver\r\n' 07:51:21.539600 Received DATA (on stdin) 07:51:21.539613 > 8 bytes data, server => client 07:51:21.539623 '213 17\r\n' 07:51:21.539672 < 21 bytes data, client => server 07:51:21.539684 'RETR verifiedserver\r\n' 07:51:21.539900 Received DATA (on stdin) 07:51:21.539913 > 29 bytes data, server => client 07:51:21.539923 '150 Binary junk (17 bytes).\r\n' 07:51:21.540390 Received DATA (on stdin) 07:51:21.540404 > 28 bytes data, server => client 07:51:21.540416 '226 File transfer complete\r\n' 07:51:21.586267 < 6 bytes data, client => server 07:51:21.586293 'QUIT\r\n' 07:51:21.586518 Received DATA (on stdin) 07:51:21.586533 > 18 bytes data, server => client 07:51:21.586546 '221 bye bye baby\r\n' 07:51:21.586957 ====> Client disconnect 07:51:21.587178 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.538692 Running IPv4 version 07:51:20.538746 Listening on port 44395 07:51:20.538782 Wrote pid 105193 to log/18/server/ftp_sockdata.pid 07:51:20.538808 Received PING (on stdin) 07:51:20.538886 Received PORT (on stdin) 07:51:20.539166 ====> Client connect 07:51:20.539949 Received DATA (on stdin) 07:51:20.539963 > 17 bytes data, server => client 07:51:20.539975 'WE ROOLZ: 80643\r\n' 07:51:20.540000 Received DISC (on stdin) 07:51:20.540012 ====> Client forcibly disconnected 07:51:20.540167 Received QUIT (on stdin) 07:51:20.540177 quits 07:51:20.540225 ============> 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:34455/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo don't upload this === End of file upload531 === Start of file valgrind531 ==105346== ==105346== Process terminating with default action of signal 4 (SIGILL) ==105346== Illegal opcode at address 0x51D5F1F ==105346== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105346CMD (33792): ../libtool --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/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:41643/path/533 ftp://127.0.0.1:41643/path/533 > log/3/stdout533 2> log/3/stderr533 CMD (33792): ../libtool --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/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:33651/path/532 > log/20/stdout532 2> log/20/stderr532 == by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105346== by 0x51D5F1F: Curl_open (url.c:525) ==105346== by 0x514F6EF: curl_easy_init (easy.c:371) ==105346== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105346== by 0x400347F: main (first.c:280) ==105346== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==105346== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105346== by 0x51D5EBD: Curl_open (url.c:504) ==105346== by 0x514F6EF: curl_easy_init (easy.c:371) ==105346== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105346== by 0x400347F: main (first.c:280) ==105346== === End of file valgrind531 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/3/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:41643/path/533 ftp://127.0.0.1:41643/path/533 > log/3/stdout533 2> log/3/stderr533 533: 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/ dir 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/3/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:41643/path/533 ftp://127.0.0.1:41643/path/533 > log/3/stdout533 2> log/3/stderr533 === End of file commands.log === Start of file ftp_server.log 07:51:20.742975 ====> Client connect 07:51:20.743128 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.743419 < "USER anonymous" 07:51:20.743454 > "331 We are happy you popped in![CR][LF]" 07:51:20.743624 < "PASS ftp@example.com" 07:51:20.743651 > "230 Welcome you silly person[CR][LF]" 07:51:20.743802 < "PWD" 07:51:20.743831 > "257 "/" is current directory[CR][LF]" 07:51:20.743995 < "EPSV" 07:51:20.744019 ====> Passive DATA channel requested by client 07:51:20.744033 DATA sockfilt for passive data channel starting... 07:51:20.746092 DATA sockfilt for passive data channel started (pid 105295) 07:51:20.746205 DATA sockfilt for passive data channel listens on port 42759 07:51:20.746253 > "229 Entering Passive Mode (|||42759|)[CR][LF]" 07:51:20.746274 Client has been notified that DATA conn will be accepted on port 42759 07:51:20.746511 Client connects to port 42759 07:51:20.746546 ====> Client established passive DATA connection on port 42759 07:51:20.746628 < "TYPE I" 07:51:20.746657 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.746817 < "SIZE verifiedserver" 07:51:20.746858 > "213 17[CR][LF]" 07:51:20.747012 < "RETR verifiedserver" 07:51:20.747043 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.747118 =====> Closing passive DATA connection... 07:51:20.747134 Server disconnects passive DATA connection 07:51:20.747370 Server disconnected passive DATA connection 07:51:20.747399 DATA sockfilt for passive data channel quits (pid 105295) 07:51:20.747607 DATA sockfilt for passive data channel quit (pid 105295) 07:51:20.747630 =====> Closed passive DATA connection 07:51:20.747657 > "226 File transfer complete[CR][LF]" 07:51:20.788324 < "QUIT" 07:51:20.788380 > "221 bye bye baby[CR][LF]" 07:51:20.789944 MAIN sockfilt said DISC 07:51:20.789993 ====> Client disconnected 07:51:20.790081 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.570807 ====> Client connect 07:51:20.571089 Received DATA (on stdin) 07:51:20.571108 > 160 bytes data, server => client 07:51:20.571121 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.571133 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.571144 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.571219 < 16 bytes data, client => server 07:51:20.571233 'USER anonymous\r\n' 07:51:20.571404 Received DATA (on stdin) 07:51:20.571416 > 33 bytes data, server => client 07:51:20.571428 '331 We are happy you popped in!\r\n' 07:51:20.571478 < 22 bytes data, client => server 07:51:20.571490 'PASS ftp@example.com\r\n' 07:51:20.571597 Received DATA (on stdin) 07:51:20.571609 > 30 bytes data, server => client 07:51:20.571621 '230 Welcome you silly person\r\n' 07:51:20.571666 < 5 bytes data, client => server 07:51:20.571677 'PWD\r\n' 07:51:20.571777 Received DATA (on stdin) 07:51:20.571789 > 30 bytes data, server => client 07:51:20.571800 '257 "/" is current directory\r\n' 07:51:20.571860 < 6 bytes data, client => server 07:51:20.571872 'EPSV\r\n' 07:51:20.574232 Received DATA (on stdin) 07:51:20.574247 > 39 bytes data, server => client 07:51:20.574259 '229 Entering Passive Mode (|||42759|)\r\n' 07:51:20.574405 < 8 bytes data, client => server 07:51:20.574418 'TYPE I\r\n' 07:51:20.574605 Received DATA (on stdin) 07:51:20.574617 > 33 bytes data, server => client 07:51:20.574631 '200 I modify TYPE as you wanted\r\n' 07:51:20.574678 < 21 bytes data, client => server 07:51:20.574690 'SIZE verifiedserver\r\n' 07:51:20.574804 Received DATA (on stdin) 07:51:20.574817 > 8 bytes data, server => client 07:51:20.574827 '213 17\r\n' 07:51:20.574878 < 21 bytes data, client => server 07:51:20.574889 'RETR verifiedserver\r\n' 07:51:20.575083 Received DATA (on stdin) 07:51:20.575097 > 29 bytes data, server => client 07:51:20.575108 '150 Binary junk (17 bytes).\r\n' 07:51:20.575604 Received DATA (on stdin) 07:51:20.575618 > 28 bytes data, server => client 07:51:20.575630 '226 File transfer complete\r\n' 07:51:20.616081 < 6 bytes data, client => server 07:51:20.616114 'QUIT\r\n' 07:51:20.616336 Received DATA (on stdin) 07:51:20.616353 > 18 bytes data, server => client 07:51:20.616365 '221 bye bye baby\r\n' 07:51:20.617299 ====> Client disconnect 07:51:20.618034 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.573708 Running IPv4 version 07:51:20.573764 Listening on port 42759 07:51:20.573804 Wrote pid 105295 to log/3/server/ftp_sockdata.pid 07:51:20.573980 Received PING (on stdin) 07:51:20.574061 Received PORT (on stdin) 07:51:20.574376 ====> Client connect 07:51:20.575134 Received DATA (on stdin) 07:51:20.575148 > 17 bytes data, server => client 07:51:20.575159 'WE ROOLZ: 80340\r\n' 07:51:20.575186 Received DISC (on stdin) 07:51:20.575198 ====> Client forcibly disconnected 07:51:20.575354 Received QUIT (on stdin) 07:51:20.575366 quits 07:51:20.575422 ============> 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:41643/path/533 === End of file stderr533 === Start of file valgrind533 ==105413== ==105413== Process terminating with default action of signal 4 (SIGILL) ==105413== Illegal opcode at address 0x51D5F1F ==105413== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105413== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105413== by 0x51D5F1F: Curl_open (url.c:525) ==105413== by 0x514F6EF: curl_easy_init (easy.c:371) ==105413== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105413== by 0x400347F: main (first.c:280) ==105413== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105413== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105413== by 0x51D5EBD: Curl_open (url.c:504) ==105413== by 0x514F6EF: curl_easy_init (easy.c:371) ==105413== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105413== by 0x400347F: main (first.c:280) ==105413== === End of file valgrind533 test 0532...[FTP RETR same file using reset handles between each transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quietCMD (33792): ../libtool --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/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:39251/path/534 > log/5/stdout534 2> log/5/stderr534 --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:33651/path/532 > log/20/stdout532 2> log/20/stderr532 532: 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/ dir 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/20/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:33651/path/532 > log/20/stdout532 2> log/20/stderr532 === End of file commands.log === Start of file ftp_server.log 07:51:20.747478 ====> Client connect 07:51:20.747625 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.747904 < "USER anonymous" 07:51:20.748081 > "331 We are happy you popped in![CR][LF]" 07:51:20.748279 < "PASS ftp@example.com" 07:51:20.748312 > "230 Welcome you silly person[CR][LF]" 07:51:20.748475 < "PWD" 07:51:20.748508 > "257 "/" is current directory[CR][LF]" 07:51:20.748677 < "EPSV" 07:51:20.748701 ====> Passive DATA channel requested by client 07:51:20.748715 DATA sockfilt for passive data channel starting... 07:51:20.750770 DATA sockfilt for passive data channel started (pid 105310) 07:51:20.750905 DATA sockfilt for passive data channel listens on port 41173 07:51:20.750955 > "229 Entering Passive Mode (|||41173|)[CR][LF]" 07:51:20.750976 Client has been notified that DATA conn will be accepted on port 41173 07:51:20.751285 Client connects to port 41173 07:51:20.751322 ====> Client established passive DATA connection on port 41173 07:51:20.751430 < "TYPE I" 07:51:20.751465 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.751650 < "SIZE verifiedserver" 07:51:20.751692 > "213 17[CR][LF]" 07:51:20.751845 < "RETR verifiedserver" 07:51:20.751874 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.751957 =====> Closing passive DATA connection... 07:51:20.751972 Server disconnects passive DATA connection 07:51:20.752220 Server disconnected passive DATA connection 07:51:20.752245 DATA sockfilt for passive data channel quits (pid 105310) 07:51:20.752519 DATA sockfilt for passive data channel quit (pid 105310) 07:51:20.752541 =====> Closed passive DATA connection 07:51:20.752569 > "226 File transfer complete[CR][LF]" 07:51:20.795267 < "QUIT" 07:51:20.795318 > "221 bye bye baby[CR][LF]" 07:51:20.795771 MAIN sockfilt said DISC 07:51:20.795817 ====> Client disconnected 07:51:20.795897 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.575328 ====> Client connect 07:51:20.575587 Received DATA (on stdin) 07:51:20.575605 > 160 bytes data, server => client 07:51:20.575618 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.575631 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.575643 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.575713 < 16 bytes data, client => server 07:51:20.575728 'USER anonymous\r\n' 07:51:20.576035 Received DATA (on stdin) 07:51:20.576050 > 33 bytes data, server => client 07:51:20.576063 '331 We are happy you popped in!\r\n' 07:51:20.576119 < 22 bytes data, client => server 07:51:20.576133 'PASS ftp@example.com\r\n' 07:51:20.576260 Received DATA (on stdin) 07:51:20.576273 > 30 bytes data, server => client 07:51:20.576285 '230 Welcome you silly person\r\n' 07:51:20.576333 < 5 bytes data, client => server 07:51:20.576345 'PWD\r\n' 07:51:20.576456 Received DATA (on stdin) 07:51:20.576469 > 30 bytes data, server => client 07:51:20.576481 '257 "/" is current directory\r\n' 07:51:20.576539 < 6 bytes data, client => server 07:51:20.576552 'EPSV\r\n' 07:51:20.578936 Received DATA (on stdin) 07:51:20.578954 > 39 bytes data, server => client 07:51:20.578966 '229 Entering Passive Mode (|||41173|)\r\n' 07:51:20.579152 < 8 bytes data, client => server 07:51:20.579165 'TYPE I\r\n' 07:51:20.579413 Received DATA (on stdin) 07:51:20.579425 > 33 bytes data, server => client 07:51:20.579438 '200 I modify TYPE as you wanted\r\n' 07:51:20.579505 < 21 bytes data, client => server 07:51:20.579517 'SIZE verifiedserver\r\n' 07:51:20.579639 Received DATA (on stdin) 07:51:20.579651 > 8 bytes data, server => client 07:51:20.579662 '213 17\r\n' 07:51:20.579710 < 21 bytes data, client => server 07:51:20.579722 'RETR verifiedserver\r\n' 07:51:20.579921 Received DATA (on stdin) 07:51:20.579933 > 29 bytes data, server => client 07:51:20.579945 '150 Binary junk (17 bytes).\r\n' 07:51:20.580520 Received DATA (on stdin) 07:51:20.580536 > 28 bytes data, server => client 07:51:20.580548 '226 File transfer complete\r\n' 07:51:20.623052 < 6 bytes data, client => server 07:51:20.623076 'QUIT\r\n' 07:51:20.623377 Received DATA (on stdin) 07:51:20.623394 > 18 bytes data, server => client 07:51:20.623406 '221 bye bye baby\r\n' 07:51:20.623652 ====> Client disconnect 07:51:20.623848 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.578500 Running IPv4 version 07:51:20.578579 Listening on port 41173 07:51:20.578624 Wrote pid 105310 to log/20/server/ftp_sockdata.pid 07:51:20.578647 Received PING (on stdin) 07:51:20.578758 Received PORT (on stdin) 07:51:20.579123 ====> Client connect 07:51:20.579970 Received DATA (on stdin) 07:51:20.579985 > 17 bytes data, server => client 07:51:20.579997 'WE ROOLZ: 80551\r\n' 07:51:20.580025 Received DISC (on stdin) 07:51:20.580037 ====> Client forcibly disconnected 07:51:20.580201 Received QUIT (on stdin) 07:51:20.580213 quits 07:51:20.580281 ============> 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:33651/path/532 === End of file stderr532 === Start of file valgrind532 ==105440== ==105440== Process terminating with default action of signal 4 (SIGILL) ==105440== Illegal opcode at address 0x51D5F1F ==105440== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105440== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105440== by 0x51D5F1F: Curl_open (url.c:525) ==105440== by 0x514F6EF: curl_easy_init (easy.c:371) ==105440== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105440== by 0x400347F: main (first.c:280) ==105440== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105440== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105440== by 0x51D5EBD: Curl_open (url.c:504) ==105440== by 0x514F6EF: curl_easy_init (easy.c:371) ==105440== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105440== by 0x400347F: main (first.c:280) ==105440== === End of file valgrind532 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/5/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:39251/path/534 > log/5/stdout534 2> log/5/stderr534 534: 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/ dir 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/5/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:39251/path/534 > log/5/stdout534 2> log/5/stderr534 === End of file commands.log === Start of file ftp_server.log 07:51:20.813477 ====> Client connect 07:51:20.813616 > "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/16/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:44351/535 http://127.0.0.1:44351/5350001 > log/16/stdout535 2> log/16/stderr535 _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:20.814176 < "USER anonymous" 07:51:20.814217 > "331 We are happy you popped in![CR][LF]" 07:51:20.814386 < "PASS ftp@example.com" 07:51:20.814411 > "230 Welcome you silly person[CR][LF]" 07:51:20.814559 < "PWD" 07:51:20.814598 > "257 "/" is current directory[CR][LF]" 07:51:20.814757 < "EPSV" 07:51:20.814779 ====> Passive DATA channel requested by client 07:51:20.814791 DATA sockfilt for passive data channel starting... 07:51:20.816517 DATA sockfilt for passive data channel started (pid 105455) 07:51:20.816621 DATA sockfilt for passive data channel listens on port 45431 07:51:20.816663 > "229 Entering Passive Mode (|||45431|)[CR][LF]" 07:51:20.816681 Client has been notified that DATA conn will be accepted on port 45431 07:51:20.816906 Client connects to port 45431 07:51:20.816933 ====> Client established passive DATA connection on port 45431 07:51:20.817007 < "TYPE I" 07:51:20.817033 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:20.817192 < "SIZE verifiedserver" 07:51:20.817227 > "213 17[CR][LF]" 07:51:20.817375 < "RETR verifiedserver" 07:51:20.817407 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:20.817487 =====> Closing passive DATA connection... 07:51:20.817502 Server disconnects passive DATA connection 07:51:20.817670 Server disconnected passive DATA connection 07:51:20.817691 DATA sockfilt for passive data channel quits (pid 105455) 07:51:20.817920 DATA sockfilt for passive data channel quit (pid 105455) 07:51:20.817944 =====> Closed passive DATA connection 07:51:20.817974 > "226 File transfer complete[CR][LF]" 07:51:20.858278 < "QUIT" 07:51:20.858331 > "221 bye bye baby[CR][LF]" 07:51:20.859437 MAIN sockfilt said DISC 07:51:20.859484 ====> Client disconnected 07:51:20.859564 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:20.641329 ====> Client connect 07:51:20.641829 Received DATA (on stdin) 07:51:20.641852 > 160 bytes data, server => client 07:51:20.641867 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:20.641879 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:20.641890 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:20.641974 < 16 bytes data, client => server 07:51:20.641988 'USER anonymous\r\n' 07:51:20.642168 Received DATA (on stdin) 07:51:20.642181 > 33 bytes data, server => client 07:51:20.642193 '331 We are happy you popped in!\r\n' 07:51:20.642243 < 22 bytes data, client => server 07:51:20.642255 'PASS ftp@example.com\r\n' 07:51:20.642357 Received DATA (on stdin) 07:51:20.642369 > 30 bytes data, server => client 07:51:20.642380 '230 Welcome you silly person\r\n' 07:51:20.642425 < 5 bytes data, client => server 07:51:20.642437 'PWD\r\n' 07:51:20.642543 Received DATA (on stdin) 07:51:20.642555 > 30 bytes data, server => client 07:51:20.642566 '257 "/" is current directory\r\n' 07:51:20.642621 < 6 bytes data, client => server 07:51:20.642633 'EPSV\r\n' 07:51:20.644632 Received DATA (on stdin) 07:51:20.644646 > 39 bytes data, server => client 07:51:20.644658 '229 Entering Passive Mode (|||45431|)\r\n' 07:51:20.644770 < 8 bytes data, client => server 07:51:20.644785 'TYPE I\r\n' 07:51:20.644981 Received DATA (on stdin) 07:51:20.644995 > 33 bytes data, server => client 07:51:20.645007 '200 I modify TYPE as you wanted\r\n' 07:51:20.645056 < 21 bytes data, client => server 07:51:20.645069 'SIZE verifiedserver\r\n' 07:51:20.645173 Received DATA (on stdin) 07:51:20.645185 > 8 bytes data, server => client 07:51:20.645196 '213 17\r\n' 07:51:20.645242 < 21 bytes data, client => server 07:51:20.645253 'RETR verifiedserver\r\n' 07:51:20.645451 Received DATA (on stdin) 07:51:20.645464 > 29 bytes data, server => client 07:51:20.645475 '150 Binary junk (17 bytes).\r\n' 07:51:20.645924 Received DATA (on stdin) 07:51:20.645939 > 28 bytes data, server => client 07:51:20.645951 '226 File transfer complete\r\n' 07:51:20.686006 < 6 bytes data, client => server 07:51:20.686040 'QUIT\r\n' 07:51:20.686282 Received DATA (on stdin) 07:51:20.686296 > 18 bytes data, server => client 07:51:20.686307 '221 bye bye baby\r\n' 07:51:20.687320 ====> Client disconnect 07:51:20.687512 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:20.644281 Running IPv4 version 07:51:20.644344 Listening on port 45431 07:51:20.644378 Wrote pid 105455 to log/5/server/ftp_sockdata.pid 07:51:20.644397 Received PING (on stdin) 07:51:20.644488 Received PORT (on stdin) 07:51:20.644805 ====> Client connect 07:51:20.645501 Received DATA (on stdin) 07:51:20.645515 > 17 bytes data, server => client 07:51:20.645526 'WE ROOLZ: 80550\r\n' 07:51:20.645551 Received DISC (on stdin) 07:51:20.645566 ====> Client forcibly disconnected 07:51:20.645644 Received QUIT (on stdin) 07:51:20.645655 quits 07:51:20.645709 ============> 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 ==105549== ==105549== Process terminating with default action of signal 4 (SIGILL) ==105549== Illegal opcode at address 0x51D5F1F ==105549== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105549== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105549== by 0x51D5F1F: Curl_open (url.c:525) ==105549== by 0x514F6EF: curl_easy_init (easy.c:371) ==105549== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105549== by 0x400347F: main (first.c:280) ==105549== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105549== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105549== by 0x51D5EBD: Curl_open (url.c:504) ==105549== by 0x514F6EF: curl_easy_init (easy.c:371) ==105549== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105549== by 0x400347F: main (first.c:280) ==105549== === 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/16/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:44351/535 http://127.0.0.1:44351/5350001 > log/16/stdout535 2> log/16/stderr535 535: 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/ dir 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/16/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:44351/535 http://127.0.0.1:44351/5350001 > log/16/stdout535 2> log/16/stderr535 === End of file commands.log === Start of file http_server.log 07:51:20.826615 ====> Client connect 07:51:20.826650 accept_connection 3 returned 4 07:51:20.826668 accept_connection 3 returned 0 07:51:20.826685 Read 93 bytes 07:51:20.826697 Process 93 bytes request 07:51:20.826711 Got request: GET /verifiedserver HTTP/1.1 07:51:20.826721 Are-we-friendly question received 07:51:20.826747 Wrote request (93 bytes) input to log/16/server.input 07:51:20.826765 Identifying ourselves as friends 07:51:20.826821 Response sent (56 bytes) and written to log/16/server.response 07:51:20.826833 special request received, no persistency 07:51:20.826843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 43716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely CMD (33792): ../libtool --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/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:39661 goingdirect.com:39661 goingdirect.com:39661:127.0.0.1 > log/7/stdout536 2> log/7/stderr536 sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:44351/535 === End of file stderr535 === Start of file valgrind535 ==105634== ==105634== Process terminating with default action of signal 4 (SIGILL) ==105634== Illegal opcode at address 0x51D5F1F ==105634== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105634== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105634== by 0x51D5F1F: Curl_open (url.c:525) ==105634== by 0x514F6EF: curl_easy_init (easy.c:371) ==105634== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105634== by 0x400347F: main (first.c:280) ==105634== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105634== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105634== by 0x51D5EBD: Curl_open (url.c:504) ==105634== by 0x514F6EF: curl_easy_init (easy.c:371) ==105634== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105634== by 0x400347F: main (first.c:280) ==105634== === End of file valgrind535 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/14/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:34115/513 > log/14/stdout513 2> log/14/stderr513 libtests returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/14/ dir 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/14/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:34115/513 > log/14/stdout513 2> log/14/stderr513 === End of file commands.log === Start of file http_server.log 07:51:19.912170 ====> Client connect 07:51:19.912205 accept_connection 3 returned 4 07:51:19.912225 accept_connection 3 returned 0 07:51:19.912242 Read 93 bytes 07:51:19.912254 Process 93 bytes request 07:51:19.912268 Got request: GET /verifiedserver HTTP/1.1 07:51:19.912279 Are-we-friendly question received 07:51:19.912308 Wrote request (93 bytes) input to log/14/server.input 07:51:19.912328 Identifying ourselves as friends 07:51:19.912388 Response sent (56 bytes) and written to log/14/server.response 07:51:19.912401 special request received, no persistency 07:51:19.912412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:34115/513 === End of file stderr513 === Start of file valgrind513 ==104076== ==104076== Process terminating with default action of signal 4 (SIGILL) ==104076== Illegal opcode at address 0x51D5F1F ==104076== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104076== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104076== by 0x51D5F1F: Curl_open (url.c:525) ==104076== by 0x514F6EF: curl_easy_init (easy.c:371) ==104076== by 0x400A04A: test_lib513.lto_priv.0 (lib513.c:47) ==104076== by 0x400347F: main (first.c:280) ==104076== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104076== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104076== by 0x51D5EBD: Curl_open (url.c:504) ==104076== by 0x514F6EF: curl_easy_init (easy.c:371) ==104076== by 0x400A04A: test_lib513.lto_priv.0 (lib513.c:47) ==104076== by 0x400347F: main (first.c:280) ==104076== === End of file valgrind513 CMD (33792): ../libtool --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/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:44991/538 > log/19/stdout538 2> log/19/stderr538 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/7/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:39661 goingdirect.com:39661 goingdirect.com:39661:127.0.0.1 > log/7/stdout536 2> log/7/stderr536 536: stdout FAILED: --- log/7/check-expected 2025-11-07 07:51:22.087373583 +0000 +++ log/7/check-generated 2025-11-07 07:51:22.087373583 +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/7/ dir 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/7/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:39661 goingdirect.com:39661 goingdirect.com:39661:127.0.0.1 > log/7/stdout536 2> log/7/stderr536 === End of file commands.log === Start of file http_server.log 07:51:21.939666 ====> Client connect 07:51:21.939704 accept_connection 3 returned 4 07:51:21.939722 accept_connection 3 returned 0 07:51:21.939738 Read 93 bytes 07:51:21.939749 Process 93 bytes request 07:51:21.939765 Got request: GET /verifiedserver HTTP/1.1 07:51:21.939775 Are-we-friendly question received 07:51:21.939799 Wrote request (93 bytes) input to log/7/server.input 07:51:21.939817 Identifying ourselves as friends 07:51:21.939873 Response sent (56 bytes) and written to log/7/server.response 07:51:21.939884 special request received, no persistency 07:51:21.939895 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 43672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:39661 === End of file stderr536 === Start of file valgrind536 ==105711== ==105711== Process terminating with default action of signal 4 (SIGILL) ==105711== Illegal opcode at address 0x51D5F1F ==105711== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105711== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105711== by 0x51D5F1F: Curl_open (url.c:525) ==105711== by 0x514F6EF: curl_easy_init (easy.c:371) ==105711== by 0x400C982: test_lib536.lto_priv.0 (lib536.c:51) ==105711== by 0x400347F: main (first.c:280) ==105711== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105711== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105711== by 0x51D5EBD: Curl_open (url.c:504) ==105711== by 0x514F6EF: curl_easy_init (easy.c:371) ==105711== by 0x400C982: test_lib536.lto_priv.0 (lib536.c:51) ==105711== by 0x400347F: main (first.c:280) ==105711== === End of file valgrind536 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/9/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:42717/514 > log/9/stdout514 2> log/9/stderr514 514: 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/ dir 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/9/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:42717/514 > log/9/stdout514 2> log/9/stderr514 === End of file commands.log === Start of file http_server.log 07:51:20.068840 ====> Client connect 07:51:20.068874 accept_connection 3 returned 4 07:51:20.068890 accept_connection 3 returned 0 07:51:20.068904 Read 93 bytes 07:51:20.068914 Process 93 bytes request 07:51:20.068927 Got request: GET /verifiedserver HTTP/1.1 07:51:20.068937 Are-we-friendly question received 07:51:20.068961 Wrote request (93 bytes) input to log/9/server.input 07:51:20.068977 Identifying ourselves as friends 07:51:20.069036 Response sent (56 bytes) and written to log/9/server.response 07:51:20.069046 special request received, no persistency 07:51:20.069055 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 35828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:42717/514 === End of file stderr514 === Start of file valgrind514 ==104260== ==104260== Process terminating with default action of signal 4 (SIGILL) ==104260== Illegal opcode at address 0x51D5F1F ==104260== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104260== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104260== by 0x51D5F1F: Curl_open (url.c:525) ==104260== by 0x514F6EF: curl_easy_init (easy.c:371) ==104260== by 0x400A1AA: test_lib514.lto_priv.0 (lib514.c:38) ==104260== by 0x400347F: main (first.c:280) ==104260== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104260== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104260== by 0x51D5EBD: Curl_open (url.c:504) ==104260== by 0x514F6EF: curl_easy_init (easy.c:371) ==104260== by 0x400A1AA: test_lib514.lto_priv.0 (lib514.c:38) ==104260== by 0x400347F: main (first.c:280) ==104260== === End of file valgrind514 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/19/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:44991/538 > log/19/stdout538 2> log/19/stderr538 538: 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/ dir 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/19/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:44991/538 > log/19/stdout538 2> log/19/stderr538 === End of file commands.log === Start of file ftp_server.log 07:51:21.307760 ====> Client connect 07:51:21.307928 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:21.308228 < "USER anonymous" 07:51:21.308268 > "331 We are happy you popped in![CR][LF]" 07:51:21.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/1/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:35709 silly:person custom.set.host.name > log/1/stdout540 2> log/1/stderr540 08445 < "PASS ftp@example.com" 07:51:21.308469 > "230 Welcome you silly person[CR][LF]" 07:51:21.308609 < "PWD" 07:51:21.308640 > "257 "/" is current directory[CR][LF]" 07:51:21.308790 < "EPSV" 07:51:21.308812 ====> Passive DATA channel requested by client 07:51:21.308825 DATA sockfilt for passive data channel starting... 07:51:21.310768 DATA sockfilt for passive data channel started (pid 105809) 07:51:21.310901 DATA sockfilt for passive data channel listens on port 32781 07:51:21.310944 > "229 Entering Passive Mode (|||32781|)[CR][LF]" 07:51:21.310964 Client has been notified that DATA conn will be accepted on port 32781 07:51:21.311203 Client connects to port 32781 07:51:21.311234 ====> Client established passive DATA connection on port 32781 07:51:21.311503 < "TYPE I" 07:51:21.311533 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:21.311706 < "SIZE verifiedserver" 07:51:21.311741 > "213 17[CR][LF]" 07:51:21.311890 < "RETR verifiedserver" 07:51:21.311921 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:21.312004 =====> Closing passive DATA connection... 07:51:21.312020 Server disconnects passive DATA connection 07:51:21.312187 Server disconnected passive DATA connection 07:51:21.312209 DATA sockfilt for passive data channel quits (pid 105809) 07:51:21.312449 DATA sockfilt for passive data channel quit (pid 105809) 07:51:21.312587 =====> Closed passive DATA connection 07:51:21.312642 > "226 File transfer complete[CR][LF]" 07:51:21.354937 < "QUIT" 07:51:21.354989 > "221 bye bye baby[CR][LF]" 07:51:21.355955 MAIN sockfilt said DISC 07:51:21.355995 ====> Client disconnected 07:51:21.356064 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.135599 ====> Client connect 07:51:21.135893 Received DATA (on stdin) 07:51:21.135909 > 160 bytes data, server => client 07:51:21.135921 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.135933 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.135943 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.136021 < 16 bytes data, client => server 07:51:21.136036 'USER anonymous\r\n' 07:51:21.136219 Received DATA (on stdin) 07:51:21.136234 > 33 bytes data, server => client 07:51:21.136246 '331 We are happy you popped in!\r\n' 07:51:21.136298 < 22 bytes data, client => server 07:51:21.136310 'PASS ftp@example.com\r\n' 07:51:21.136414 Received DATA (on stdin) 07:51:21.136426 > 30 bytes data, server => client 07:51:21.136437 '230 Welcome you silly person\r\n' 07:51:21.136480 < 5 bytes data, client => server 07:51:21.136491 'PWD\r\n' 07:51:21.136585 Received DATA (on stdin) 07:51:21.136597 > 30 bytes data, server => client 07:51:21.136608 '257 "/" is current directory\r\n' 07:51:21.136658 < 6 bytes data, client => server 07:51:21.136670 'EPSV\r\n' 07:51:21.138916 Received DATA (on stdin) 07:51:21.138931 > 39 bytes data, server => client 07:51:21.138944 '229 Entering Passive Mode (|||32781|)\r\n' 07:51:21.139066 < 8 bytes data, client => server 07:51:21.139083 'TYPE I\r\n' 07:51:21.139481 Received DATA (on stdin) 07:51:21.139494 > 33 bytes data, server => client 07:51:21.139506 '200 I modify TYPE as you wanted\r\n' 07:51:21.139567 < 21 bytes data, client => server 07:51:21.139580 'SIZE verifiedserver\r\n' 07:51:21.139686 Received DATA (on stdin) 07:51:21.139699 > 8 bytes data, server => client 07:51:21.139709 '213 17\r\n' 07:51:21.139755 < 21 bytes data, client => server 07:51:21.139766 'RETR verifiedserver\r\n' 07:51:21.139968 Received DATA (on stdin) 07:51:21.139980 > 29 bytes data, server => client 07:51:21.139991 '150 Binary junk (17 bytes).\r\n' 07:51:21.140609 Received DATA (on stdin) 07:51:21.140634 > 28 bytes data, server => client 07:51:21.140648 '226 File transfer complete\r\n' 07:51:21.182721 < 6 bytes data, client => server 07:51:21.182743 'QUIT\r\n' 07:51:21.182944 Received DATA (on stdin) 07:51:21.182959 > 18 bytes data, server => client 07:51:21.182971 '221 bye bye baby\r\n' 07:51:21.183840 ====> Client disconnect 07:51:21.184020 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:21.138280 Running IPv4 version 07:51:21.138337 Listening on port 32781 07:51:21.138372 Wrote pid 105809 to log/19/server/ftp_sockdata.pid 07:51:21.138392 Received PING (on stdin) 07:51:21.138751 Received PORT (on stdin) 07:51:21.139103 ====> Client connect 07:51:21.140017 Received DATA (on stdin) 07:51:21.140031 > 17 bytes data, server => client 07:51:21.140042 'WE ROOLZ: 80634\r\n' 07:51:21.140071 Received DISC (on stdin) 07:51:21.140083 ====> Client forcibly disconnected 07:51:21.140164 Received QUIT (on stdin) 07:51:21.140176 quits 07:51:21.140245 ============> 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:44991/538 === End of file stderr538 === Start of file valgrind538 ==105868== ==105868== Process terminating with default action of signal 4 (SIGILL) ==105868== Illegal opcode at address 0x51D5F1F ==105868== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105868== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105868== by 0x51D5F1F: Curl_open (url.c:525) ==105868== by 0x514F6EF: curl_easy_init (easy.c:371) ==105868== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==105868== by 0x400347F: main (first.c:280) ==105868== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105868== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105868== by 0x51D5EBD: Curl_open (url.c:504) ==105868== by 0x514F6EF: curl_easy_init (easy.c:371) ==105868== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==105868== by 0x400347F: main (first.c:280) ==105868== === End of file valgrind538 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/1/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:35709 silly:person custom.set.host.name > log/1/stdout540 2> log/1/stderr540 540: 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/ dir 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/1/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:35709 silly:person custom.set.host.name > log/1/stdout540 2> log/1/stderr540 === End of file commands.log === Start of file http_server.log 07:51:21.160913 ====> Client connect 07:51:21.160951 accept_connection 3 returned 4 07:51:21.160969 accept_connection 3 returned 0 07:51:21.160985 Read 93 bytes 07:51:21.161002 Process 93 bytes request 07:51:21.161018 Got request: GET /verifiedserver HTTP/1.1 07:51:21.161028 Are-we-friendly question received 07:51:21.161056 Wrote request (93 bytes) input to log/1/server.input 07:51:21.161075 Identifying ourselves as friends 07:51:21.161136 Response sent (56 bytes) and written to log/1/server.response 07:51:21.161148 special request received, no persistency 07:51:21.161160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 50822 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === End of file http_veriCMD (33792): ../libtool --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/valgrind543 ./libtest/libtests lib543 - > log/4/stdout543 2> log/4/stderr543 CMD (33792): ../libtool --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/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:46141/path/to/the/file/539 ftp://127.0.0.1:46141/path/to/the/file/5390001 > log/12/stdout539 2> log/12/stderr539 fy.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: 74928 === 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 ==105846== ==105846== Process terminating with default action of signal 4 (SIGILL) ==105846== Illegal opcode at address 0x519E800 ==105846== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==105846== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==105846== by 0x519E800: Curl_multi_handle (multi.c:247) ==105846== by 0x4015510: test_lib540.lto_priv.0 (lib540.c:221) ==105846== by 0x400347F: main (first.c:280) ==105846== 712 bytes in 1 blocks are definitely lost in loss record 614 of 647 ==105846== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105846== by 0x519E794: Curl_multi_handle (multi.c:239) ==105846== by 0x4015510: test_lib540.lto_priv.0 (lib540.c:221) ==105846== by 0x400347F: main (first.c:280) ==105846== === End of file valgrind540 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/4/valgrind543 ./libtest/libtests lib543 - > log/4/stdout543 2> log/4/stderr543 543: stdout FAILED: --- log/4/check-expected 2025-11-07 07:51:22.410706920 +0000 +++ log/4/check-generated 2025-11-07 07:51:22.410706920 +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/4/ dir 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/4/valgrind543 ./libtest/libtests lib543 - > log/4/stdout543 2> log/4/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 ==105977== ==105977== Process terminating with default action of signal 4 (SIGILL) ==105977== Illegal opcode at address 0x51D5F1F ==105977== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105977== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105977== by 0x51D5F1F: Curl_open (url.c:525) ==105977== by 0x514F6EF: curl_easy_init (easy.c:371) ==105977== by 0x4016EE9: UnknownInlinedFun (lib543.c:42) ==105977== by 0x4016EE9: test_lib543.lto_priv.0 (lib543.c:30) ==105977== by 0x400347F: main (first.c:280) ==105977== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105977== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105977== by 0x51D5EBD: Curl_open (url.c:504) ==105977== by 0x514F6EF: curl_easy_init (easy.c:371) ==105977== by 0x4016EE9: UnknownInlinedFun (lib543.c:42) ==105977== by 0x4016EE9: test_lib543.lto_priv.0 (lib543.c:30) ==105977== by 0x400347F: main (first.c:280) ==105977== === End of file valgrind543 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/12/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:46141/path/to/the/file/539 ftp://127.0.0.1:46141/path/to/the/file/5390001 > log/12/stdout539 2> log/12/stderr539 539: 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/ dir 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/12/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:46141/path/to/the/file/539 ftp://127.0.0.1:46141/path/to/the/file/5390001 > log/12/stdout539 2> log/12/stderr539 === End of file commands.log === Start of file ftp_server.log 07:51:21.332044 ====> Client connect 07:51:21.332198 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:21.332522 < "USER anonymous" 07:51:21.332566 > "331 We are happy you popped in![CR][LF]" 07:51:21.332766 < "PASS ftp@example.com" 07:51:21.332797 > "230 Welcome you silly person[CR][LF]" 07:51:21.332975 < "PWD" 07:51:21.333014 > "257 "/" is current directory[CR][LF]" 07:51:21.333207 < "EPSV" 07:51:21.333237 ====> Passive DATA channel requested by client 07:51:21.333253 DATA sockfilt for passive data channel starting... 07:51:21.335110 DATA sockfilt for passive data channel started (pid 105843) 07:51:21.335216 DATA sockfilt for passive data channel listens on port 38157 07:51:21.335257 > "229 Entering Passive Mode (|||38157|)[CR][LF]" 07:51:21.335276 Client has been notified that DATA conn will be accepted on port 38157 07:51:21.335514 Client connects to port 38157 07:51:21.335542 ====> Client established passive DATA connection on port 38157 07:51:21.335620 < "TYPE I" 07:51:21.335652 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:21.335822 < "SIZE verifiedserver" 07:51:21.335862 > "213 17[CR][LF]" 07:51:21.336027 < "RETR verifiedserver" 07:51:21.336068 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:21.336150 =====> Closing passive DATA connection... 07:51:21.336167 Server disconnects passive DATA connection 07:51:21.336417 Server disconnected passive DATA connection 07:51:21.336444 DATA sockfilt for passive data channel quits (pid 105843) 07:51:21.336682 DATA sockfilt for passive data channel quit (pid 105843) 07:51:21.336707 =====> Closed passive DATA connection 07:51:21.336735 > "226 File transfer complete[CR][LF]" 07:51:21.384887 < "QUIT" 07:51:21.384935 > "221 bye bye baby[CR][LF]" 07:51:21.386332 MAIN sockfilt said DISC 07:51:21.386378 ====> Client disconnected 07:51:21.386449 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.159884 ====> Client connect 07:51:21.160160 Received DATA (on stdin) 07:51:21.160179 > 160 bytes data, server => client 07:51:21.160194 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.160206 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.160218 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.160315 < 16 bytes data, client => server 07:51:21.160331 'USER anonymous\r\n' 07:51:21.160519 Received DATA (on stdin) 07:51:21.160534 > 33 bytes data, server => client 07:51:21.160546 '331 We are happy you popped in!\r\n' 07:51:21.160605 < 22 bytes data, client => server 07:51:21.160621 'PASS ftp@example.com\r\n' 07:51:21.160747 Received DATA (on stdin) 07:51:21.160761 > 30 bytes data, server => client 07:51:21.160774 '230 Welcome you silly person\r\n' 07:51:21.160826 < 5 bytes data, client => server 07:51:21.160840 'PWD\r\n' 07:51:21.160962 Received DATA (on stdin) 07:51:21.160976 > 30 bytes data, server => client 07:51:21.160994 '257 "/" is current directory\r\n' 07:51:21.161057 < 6 bytes data, client => server 07:51:21.161073 'EPSV\r\n' 07:51:21.163229 Received DATA (on stdin) 07:51:21.163243 > 39 bytes data, server => client 07:51:21.163255 '229 Entering Passive Mode (|||38157|)\r\n' 07:51:21.163408 < 8 bytes data, client => server 07:51:21.163420 'TYPE I\r\n' 07:51:21.163600 Received DATA (on stdin) 07:51:21.163614 > 33 bytes data, server => client 07:51:21.163626 '200 I modify TYPE as you wanted\r\n' 07:51:21.163679 < 21 bytes data, client => server 07:51:21.163694 'SIZE verifiedserver\r\n' 07:51:21.163810 Received DATA (on stdin) 07:51:21.163823 > 8 bytes data, server => client 07:51:21.163835 '213 17\r\n' 07:51:21.163885 < 21 bytes data, client => server 07:51:21.163899 'RETR verifiedserver\r\n' 07:51:21.164118 Received DATA (on stdin) 07:51:21.164133 > 29 bytes data, server => client 07:51:21.164144 '150 Binary junk (17 bytes).\r\n' 07:51:21.164683 Received DATA (on stdin) 07:51:21.164698 > 28 bytes data, server => client 07:51:21.164709 '226 File transfer complete\r\n' 07:51:21.212666 < 6 bytes data, client => server 07:51:21.212692 'QUIT\r\n' 07:51:21.212883 Received DATA (on stdin) 07:51:21.212896 > 18 bytes data, server => client 07:51:21.212906 '221 bye bye baby\r\n' 07:51:21.213756 ====> Client disconnect 07:51:21.214396 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:21.162777 Running IPv4 version 07:51:21.162847 Listening on port 38157 07:51:21.162884 Wrote pid 105843 to log/12/server/ftp_sockdata.pid 07:51:21.162987 Received PING (on stdin) 07:51:21.163077 Received PORT (on stdin) 07:51:21.163378 ====> Client connect 07:51:21.164172 Received DATA (on stdin) 07:51:21.164187 >CMD (33792): ../libtool --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/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:41843/545 > log/24/stdout545 2> log/24/stderr545 CMD (33792): ../libtool --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:38579/541 log/2/upload541 > log/2/stdout541 2> log/2/stderr541 17 bytes data, server => client 07:51:21.164198 'WE ROOLZ: 80617\r\n' 07:51:21.164225 Received DISC (on stdin) 07:51:21.164238 ====> Client forcibly disconnected 07:51:21.164401 Received QUIT (on stdin) 07:51:21.164414 quits 07:51:21.164467 ============> 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:46141/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==105982== ==105982== Process terminating with default action of signal 4 (SIGILL) ==105982== Illegal opcode at address 0x51D5F1F ==105982== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105982== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105982== by 0x51D5F1F: Curl_open (url.c:525) ==105982== by 0x514F6EF: curl_easy_init (easy.c:371) ==105982== by 0x400AB0A: test_lib539.lto_priv.0 (lib539.c:40) ==105982== by 0x400347F: main (first.c:280) ==105982== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105982== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105982== by 0x51D5EBD: Curl_open (url.c:504) ==105982== by 0x514F6EF: curl_easy_init (easy.c:371) ==105982== by 0x400AB0A: test_lib539.lto_priv.0 (lib539.c:40) ==105982== by 0x400347F: main (first.c:280) ==105982== === End of file valgrind539 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:38579/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/ dir 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:38579/541 log/2/upload541 > log/2/stdout541 2> log/2/stderr541 === End of file commands.log === Start of file ftp_server.log 07:51:21.390342 ====> Client connect 07:51:21.390491 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:21.390766 < "USER anonymous" 07:51:21.390805 > "331 We are happy you popped in![CR][LF]" 07:51:21.390960 < "PASS ftp@example.com" 07:51:21.390987 > "230 Welcome you silly person[CR][LF]" 07:51:21.391142 < "PWD" 07:51:21.391175 > "257 "/" is current directory[CR][LF]" 07:51:21.391349 < "EPSV" 07:51:21.391374 ====> Passive DATA channel requested by client 07:51:21.391388 DATA sockfilt for passive data channel starting... 07:51:21.393073 DATA sockfilt for passive data channel started (pid 105939) 07:51:21.393169 DATA sockfilt for passive data channel listens on port 44867 07:51:21.393201 > "229 Entering Passive Mode (|||44867|)[CR][LF]" 07:51:21.393214 Client has been notified that DATA conn will be accepted on port 44867 07:51:21.393400 Client connects to port 44867 07:51:21.393424 ====> Client established passive DATA connection on port 44867 07:51:21.393486 < "TYPE I" 07:51:21.393508 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:21.393627 < "SIZE verifiedserver" 07:51:21.393656 > "213 17[CR][LF]" 07:51:21.393769 < "RETR verifiedserver" 07:51:21.393794 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:21.393853 =====> Closing passive DATA connection... 07:51:21.393865 Server disconnects passive DATA connection 07:51:21.393957 Server disconnected passive DATA connection 07:51:21.393972 DATA sockfilt for passive data channel quits (pid 105939) 07:51:21.394188 DATA sockfilt for passive data channel quit (pid 105939) 07:51:21.394211 =====> Closed passive DATA connection 07:51:21.394238 > "226 File transfer complete[CR][LF]" 07:51:21.435882 < "QUIT" 07:51:21.435939 > "221 bye bye baby[CR][LF]" 07:51:21.436288 MAIN sockfilt said DISC 07:51:21.436339 ====> Client disconnected 07:51:21.436417 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.218189 ====> Client connect 07:51:21.218450 Received DATA (on stdin) 07:51:21.218468 > 160 bytes data, server => client 07:51:21.218481 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.218490 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.218498 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.218578 < 16 bytes data, client => server 07:51:21.218589 'USER anonymous\r\n' 07:51:21.218754 Received DATA (on stdin) 07:51:21.218765 > 33 bytes data, server => client 07:51:21.218774 '331 We are happy you popped in!\r\n' 07:51:21.218817 < 22 bytes data, client => server 07:51:21.218829 'PASS ftp@example.com\r\n' 07:51:21.218931 Received DATA (on stdin) 07:51:21.218942 > 30 bytes data, server => client 07:51:21.218953 '230 Welcome you silly person\r\n' 07:51:21.219001 < 5 bytes data, client => server 07:51:21.219013 'PWD\r\n' 07:51:21.219121 Received DATA (on stdin) 07:51:21.219134 > 30 bytes data, server => client 07:51:21.219145 '257 "/" is current directory\r\n' 07:51:21.219208 < 6 bytes data, client => server 07:51:21.219221 'EPSV\r\n' 07:51:21.221160 Received DATA (on stdin) 07:51:21.221172 > 39 bytes data, server => client 07:51:21.221181 '229 Entering Passive Mode (|||44867|)\r\n' 07:51:21.221277 < 8 bytes data, client => server 07:51:21.221289 'TYPE I\r\n' 07:51:21.221449 Received DATA (on stdin) 07:51:21.221459 > 33 bytes data, server => client 07:51:21.221468 '200 I modify TYPE as you wanted\r\n' 07:51:21.221507 < 21 bytes data, client => server 07:51:21.221515 'SIZE verifiedserver\r\n' 07:51:21.221597 Received DATA (on stdin) 07:51:21.221607 > 8 bytes data, server => client 07:51:21.221615 '213 17\r\n' 07:51:21.221650 < 21 bytes data, client => server 07:51:21.221659 'RETR verifiedserver\r\n' 07:51:21.221807 Received DATA (on stdin) 07:51:21.221829 > 29 bytes data, server => client 07:51:21.221843 '150 Binary junk (17 bytes).\r\n' 07:51:21.222190 Received DATA (on stdin) 07:51:21.222205 > 28 bytes data, server => client 07:51:21.222216 '226 File transfer complete\r\n' 07:51:21.263648 < 6 bytes data, client => server 07:51:21.263677 'QUIT\r\n' 07:51:21.263873 Received DATA (on stdin) 07:51:21.263900 > 18 bytes data, server => client 07:51:21.263913 '221 bye bye baby\r\n' 07:51:21.264171 ====> Client disconnect 07:51:21.264365 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:21.220874 Running IPv4 version 07:51:21.220921 Listening on port 44867 07:51:21.220951 Wrote pid 105939 to log/2/server/ftp_sockdata.pid 07:51:21.220967 Received PING (on stdin) 07:51:21.221037 Received PORT (on stdin) 07:51:21.221305 ====> Client connect 07:51:21.221809 Received DATA (on stdin) 07:51:21.221821 > 17 bytes data, server => client 07:51:21.221830 'WE ROOLZ: 80630\r\n' 07:51:21.221850 Received DISC (on stdin) 07:51:21.221860 ====> Client forcibly disconnected 07:51:21.221918 Received QUIT (on stdin) 07:51:21.221927 quits 07:51:21.221978 ============> 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:38579/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 ==106161== ==106161== Process terminating with default action of signal 4 (SIGILL) ==106161== Illegal opcode at address 0x51D5F1F ==106161== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106161== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106161== by 0x51D5F1F: Curl_open (url.c:525) ==106161== by 0x514F6EF: curl_easy_CMD (33792): ../libtool --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/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34041/544 > log/10/stdout544 2> log/10/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/11/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:46223/542 > log/11/stdout542 2> log/11/stderr542 init (easy.c:371) ==106161== by 0x40165D6: test_lib541.lto_priv.0 (lib541.c:83) ==106161== by 0x400347F: main (first.c:280) ==106161== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==106161== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106161== by 0x51D5EBD: Curl_open (url.c:504) ==106161== by 0x514F6EF: curl_easy_init (easy.c:371) ==106161== by 0x40165D6: test_lib541.lto_priv.0 (lib541.c:83) ==106161== by 0x400347F: main (first.c:280) ==106161== === End of file valgrind541 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/24/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:41843/545 > log/24/stdout545 2> log/24/stderr545 545: 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/ dir 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/24/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:41843/545 > log/24/stdout545 2> log/24/stderr545 === End of file commands.log === Start of file http_server.log 07:51:21.244664 ====> Client connect 07:51:21.244695 accept_connection 3 returned 4 07:51:21.244709 accept_connection 3 returned 0 07:51:21.244721 Read 93 bytes 07:51:21.244731 Process 93 bytes request 07:51:21.244743 Got request: GET /verifiedserver HTTP/1.1 07:51:21.244751 Are-we-friendly question received 07:51:21.244770 Wrote request (93 bytes) input to log/24/server.input 07:51:21.244784 Identifying ourselves as friends 07:51:21.244829 Response sent (56 bytes) and written to log/24/server.response 07:51:21.244838 special request received, no persistency 07:51:21.244845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 56486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:41843/545 === End of file stderr545 === Start of file valgrind545 ==106069== ==106069== Process terminating with default action of signal 4 (SIGILL) ==106069== Illegal opcode at address 0x51D5F1F ==106069== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106069== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106069== by 0x51D5F1F: Curl_open (url.c:525) ==106069== by 0x514F6EF: curl_easy_init (easy.c:371) ==106069== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106069== by 0x400347F: main (first.c:280) ==106069== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106069== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106069== by 0x51D5EBD: Curl_open (url.c:504) ==106069== by 0x514F6EF: curl_easy_init (easy.c:371) ==106069== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106069== by 0x400347F: main (first.c:280) ==106069== === End of file valgrind545 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/10/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34041/544 > log/10/stdout544 2> log/10/stderr544 544: 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/ dir 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/10/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:34041/544 > log/10/stdout544 2> log/10/stderr544 === End of file commands.log === Start of file http_server.log 07:51:21.246883 ====> Client connect 07:51:21.246917 accept_connection 3 returned 4 07:51:21.246934 accept_connection 3 returned 0 07:51:21.246949 Read 93 bytes 07:51:21.246959 Process 93 bytes request 07:51:21.246971 Got request: GET /verifiedserver HTTP/1.1 07:51:21.246982 Are-we-friendly question received 07:51:21.247006 Wrote request (93 bytes) input to log/10/server.input 07:51:21.247023 Identifying ourselves as friends 07:51:21.247076 Response sent (56 bytes) and written to log/10/server.response 07:51:21.247087 special request received, no persistency 07:51:21.247097 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 36534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:34041/544 === End of file stderr544 === Start of file valgrind544 ==106075== ==106075== Process terminating with default action of signal 4 (SIGILL) ==106075== Illegal opcode at address 0x51D5F1F ==106075== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106075== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106075== by 0x51D5F1F: Curl_open (url.c:525) ==106075== by 0x514F6EF: curl_easy_init (easy.c:371) ==106075== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106075== by 0x400347F: main (first.c:280) ==106075== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106075== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106075== by 0x51D5EBD: Curl_open (url.c:504) ==106075== by 0x514F6EF: curl_easy_init (easy.c:371) ==106075== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106075== by 0x400347F: main (first.c:280) ==106075== === End of file valgrind544 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/11/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:46223/542 > log/11/stdout542 2> log/11/stderr542 542: 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/ dir 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/11/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:46223/542 > log/11/stdout542 2> log/11/stderr542 === End of file commands.log === Start of file ftp_server.log 07:51:21.407108 ====> Client connect 07:51:21.407268 > "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/8/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:35961/path/546 ftp://127.0.0.1:35961/path/546 > log/8/stdout546 2> log/8/stderr546 _) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:21.407613 < "USER anonymous" 07:51:21.407660 > "331 We are happy you popped in![CR][LF]" 07:51:21.407862 < "PASS ftp@example.com" 07:51:21.407893 > "230 Welcome you silly person[CR][LF]" 07:51:21.408082 < "PWD" 07:51:21.408119 > "257 "/" is current directory[CR][LF]" 07:51:21.408271 < "EPSV" 07:51:21.408292 ====> Passive DATA channel requested by client 07:51:21.408304 DATA sockfilt for passive data channel starting... 07:51:21.410208 DATA sockfilt for passive data channel started (pid 106004) 07:51:21.410293 DATA sockfilt for passive data channel listens on port 35567 07:51:21.410332 > "229 Entering Passive Mode (|||35567|)[CR][LF]" 07:51:21.410349 Client has been notified that DATA conn will be accepted on port 35567 07:51:21.410590 Client connects to port 35567 07:51:21.410619 ====> Client established passive DATA connection on port 35567 07:51:21.410693 < "TYPE I" 07:51:21.410722 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:21.410894 < "SIZE verifiedserver" 07:51:21.410930 > "213 17[CR][LF]" 07:51:21.411099 < "RETR verifiedserver" 07:51:21.411131 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:21.411219 =====> Closing passive DATA connection... 07:51:21.411237 Server disconnects passive DATA connection 07:51:21.411532 Server disconnected passive DATA connection 07:51:21.411560 DATA sockfilt for passive data channel quits (pid 106004) 07:51:21.411782 DATA sockfilt for passive data channel quit (pid 106004) 07:51:21.411804 =====> Closed passive DATA connection 07:51:21.411827 > "226 File transfer complete[CR][LF]" 07:51:21.458707 < "QUIT" 07:51:21.458773 > "221 bye bye baby[CR][LF]" 07:51:21.459493 MAIN sockfilt said DISC 07:51:21.459550 ====> Client disconnected 07:51:21.459652 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.234938 ====> Client connect 07:51:21.235234 Received DATA (on stdin) 07:51:21.235250 > 160 bytes data, server => client 07:51:21.235261 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.235270 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.235278 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.235375 < 16 bytes data, client => server 07:51:21.235389 'USER anonymous\r\n' 07:51:21.235613 Received DATA (on stdin) 07:51:21.235627 > 33 bytes data, server => client 07:51:21.235638 '331 We are happy you popped in!\r\n' 07:51:21.235700 < 22 bytes data, client => server 07:51:21.235712 'PASS ftp@example.com\r\n' 07:51:21.235843 Received DATA (on stdin) 07:51:21.235866 > 30 bytes data, server => client 07:51:21.235878 '230 Welcome you silly person\r\n' 07:51:21.235931 < 5 bytes data, client => server 07:51:21.235944 'PWD\r\n' 07:51:21.236066 Received DATA (on stdin) 07:51:21.236079 > 30 bytes data, server => client 07:51:21.236091 '257 "/" is current directory\r\n' 07:51:21.236144 < 6 bytes data, client => server 07:51:21.236153 'EPSV\r\n' 07:51:21.238301 Received DATA (on stdin) 07:51:21.238315 > 39 bytes data, server => client 07:51:21.238326 '229 Entering Passive Mode (|||35567|)\r\n' 07:51:21.238483 < 8 bytes data, client => server 07:51:21.238495 'TYPE I\r\n' 07:51:21.238669 Received DATA (on stdin) 07:51:21.238682 > 33 bytes data, server => client 07:51:21.238694 '200 I modify TYPE as you wanted\r\n' 07:51:21.238754 < 21 bytes data, client => server 07:51:21.238767 'SIZE verifiedserver\r\n' 07:51:21.238876 Received DATA (on stdin) 07:51:21.238888 > 8 bytes data, server => client 07:51:21.238899 '213 17\r\n' 07:51:21.238960 < 21 bytes data, client => server 07:51:21.238973 'RETR verifiedserver\r\n' 07:51:21.239234 Received DATA (on stdin) 07:51:21.239249 > 29 bytes data, server => client 07:51:21.239260 '150 Binary junk (17 bytes).\r\n' 07:51:21.239771 Received DATA (on stdin) 07:51:21.239783 > 28 bytes data, server => client 07:51:21.239792 '226 File transfer complete\r\n' 07:51:21.286379 < 6 bytes data, client => server 07:51:21.286429 'QUIT\r\n' 07:51:21.286735 Received DATA (on stdin) 07:51:21.286752 > 18 bytes data, server => client 07:51:21.286763 '221 bye bye baby\r\n' 07:51:21.287353 ====> Client disconnect 07:51:21.287614 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:21.237853 Running IPv4 version 07:51:21.237915 Listening on port 35567 07:51:21.237953 Wrote pid 106004 to log/11/server/ftp_sockdata.pid 07:51:21.238101 Received PING (on stdin) 07:51:21.238168 Received PORT (on stdin) 07:51:21.238455 ====> Client connect 07:51:21.239290 Received DATA (on stdin) 07:51:21.239305 > 17 bytes data, server => client 07:51:21.239317 'WE ROOLZ: 83264\r\n' 07:51:21.239340 Received DISC (on stdin) 07:51:21.239352 ====> Client forcibly disconnected 07:51:21.239516 Received QUIT (on stdin) 07:51:21.239529 quits 07:51:21.239599 ============> 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:46223/542 === End of file stderr542 === Start of file valgrind542 ==106235== ==106235== Process terminating with default action of signal 4 (SIGILL) ==106235== Illegal opcode at address 0x51D5F1F ==106235== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106235== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106235== by 0x51D5F1F: Curl_open (url.c:525) ==106235== by 0x514F6EF: curl_easy_init (easy.c:371) ==106235== by 0x401570A: test_lib542.lto_priv.0 (lib542.c:43) ==106235== by 0x400347F: main (first.c:280) ==106235== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106235== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106235== by 0x51D5EBD: Curl_open (url.c:504) ==106235== by 0x514F6EF: curl_easy_init (easy.c:371) ==106235== by 0x401570A: test_lib542.lto_priv.0 (lib542.c:43) ==106235== by 0x400347F: main (first.c:280) ==106235== === End of file valgrind542 CMD (33792): ../libtool --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/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:45761 testuser:testpass > log/21/stdout548 2> log/21/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/22/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:40377 testuser:testpass > log/22/stdout547 2> log/22/stderr547 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/8/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:35961/path/546 ftp://127.0.0.1:35961/path/546 > log/8/stdout546 2> log/8/stderr546 546: stdout FAILED: --- log/8/check-expected 2025-11-07 07:51:22.514040254 +0000 +++ log/8/check-generated 2025-11-07 07:51:22.514040254 +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/8/ dir 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/8/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:35961/path/546 ftp://127.0.0.1:35961/path/546 > log/8/stdout546 2> log/8/stderr546 === End of file commands.log === Start of file ftp_server.log 07:51:21.445949 ====> Client connect 07:51:21.446100 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:21.446394 < "USER anonymous" 07:51:21.446432 > "331 We are happy you popped in![CR][LF]" 07:51:21.446604 < "PASS ftp@example.com" 07:51:21.446630 > "230 Welcome you silly person[CR][LF]" 07:51:21.446778 < "PWD" 07:51:21.446807 > "257 "/" is current directory[CR][LF]" 07:51:21.446959 < "EPSV" 07:51:21.446982 ====> Passive DATA channel requested by client 07:51:21.446995 DATA sockfilt for passive data channel starting... 07:51:21.448793 DATA sockfilt for passive data channel started (pid 106159) 07:51:21.448914 DATA sockfilt for passive data channel listens on port 35575 07:51:21.448961 > "229 Entering Passive Mode (|||35575|)[CR][LF]" 07:51:21.448980 Client has been notified that DATA conn will be accepted on port 35575 07:51:21.449222 Client connects to port 35575 07:51:21.449252 ====> Client established passive DATA connection on port 35575 07:51:21.449336 < "TYPE I" 07:51:21.449366 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:21.449531 < "SIZE verifiedserver" 07:51:21.449568 > "213 17[CR][LF]" 07:51:21.449723 < "RETR verifiedserver" 07:51:21.449757 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:21.449837 =====> Closing passive DATA connection... 07:51:21.449854 Server disconnects passive DATA connection 07:51:21.450096 Server disconnected passive DATA connection 07:51:21.450124 DATA sockfilt for passive data channel quits (pid 106159) 07:51:21.450352 DATA sockfilt for passive data channel quit (pid 106159) 07:51:21.450378 =====> Closed passive DATA connection 07:51:21.450407 > "226 File transfer complete[CR][LF]" 07:51:21.498242 < "QUIT" 07:51:21.498298 > "221 bye bye baby[CR][LF]" 07:51:21.499599 MAIN sockfilt said DISC 07:51:21.499641 ====> Client disconnected 07:51:21.499722 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:21.273790 ====> Client connect 07:51:21.274060 Received DATA (on stdin) 07:51:21.274076 > 160 bytes data, server => client 07:51:21.274090 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:21.274102 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:21.274113 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:21.274195 < 16 bytes data, client => server 07:51:21.274212 'USER anonymous\r\n' 07:51:21.274381 Received DATA (on stdin) 07:51:21.274394 > 33 bytes data, server => client 07:51:21.274406 '331 We are happy you popped in!\r\n' 07:51:21.274458 < 22 bytes data, client => server 07:51:21.274469 'PASS ftp@example.com\r\n' 07:51:21.274576 Received DATA (on stdin) 07:51:21.274587 > 30 bytes data, server => client 07:51:21.274599 '230 Welcome you silly person\r\n' 07:51:21.274643 < 5 bytes data, client => server 07:51:21.274654 'PWD\r\n' 07:51:21.274751 Received DATA (on stdin) 07:51:21.274763 > 30 bytes data, server => client 07:51:21.274775 '257 "/" is current directory\r\n' 07:51:21.274827 < 6 bytes data, client => server 07:51:21.274838 'EPSV\r\n' 07:51:21.276932 Received DATA (on stdin) 07:51:21.276948 > 39 bytes data, server => client 07:51:21.276960 '229 Entering Passive Mode (|||35575|)\r\n' 07:51:21.277111 < 8 bytes data, client => server 07:51:21.277124 'TYPE I\r\n' 07:51:21.277314 Received DATA (on stdin) 07:51:21.277327 > 33 bytes data, server => client 07:51:21.277340 '200 I modify TYPE as you wanted\r\n' 07:51:21.277391 < 21 bytes data, client => server 07:51:21.277404 'SIZE verifiedserver\r\n' 07:51:21.277514 Received DATA (on stdin) 07:51:21.277527 > 8 bytes data, server => client 07:51:21.277539 '213 17\r\n' 07:51:21.277586 < 21 bytes data, client => server 07:51:21.277599 'RETR verifiedserver\r\n' 07:51:21.277802 Received DATA (on stdin) 07:51:21.277815 > 29 bytes data, server => client 07:51:21.277827 '150 Binary junk (17 bytes).\r\n' 07:51:21.278358 Received DATA (on stdin) 07:51:21.278373 > 28 bytes data, server => client 07:51:21.278386 '226 File transfer complete\r\n' 07:51:21.325986 < 6 bytes data, client => server 07:51:21.326021 'QUIT\r\n' 07:51:21.326251 Received DATA (on stdin) 07:51:21.326264 > 18 bytes data, server => client 07:51:21.326276 '221 bye bye baby\r\n' 07:51:21.327484 ====> Client disconnect 07:51:21.327669 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:21.276544 Running IPv4 version 07:51:21.276613 Listening on port 35575 07:51:21.276657 Wrote pid 106159 to log/8/server/ftp_sockdata.pid 07:51:21.276679 Received PING (on stdin) 07:51:21.276768 Received PORT (on stdin) 07:51:21.277081 ====> Client connect 07:51:21.277853 Received DATA (on stdin) 07:51:21.277867 > 17 bytes data, server => client 07:51:21.277879 'WE ROOLZ: 80636\r\n' 07:51:21.277902 Received DISC (on stdin) 07:51:21.277914 ====> Client forcibly disconnected 07:51:21.278080 Received QUIT (on stdin) 07:51:21.278094 quits 07:51:21.278155 ============> 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:35961/path/546 === End of file stderr546 === Start of file valgrind546 ==106312== ==106312== Process terminating with default action of signal 4 (SIGILL) ==106312== Illegal opcode at address 0x51D5F1F ==106312== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106312== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106312== by 0x51D5F1F: Curl_open (url.c:525) ==106312== by 0x514F6EF: curl_easy_init (easy.c:371) ==106312== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==106312== by 0x400347F: main (first.c:280) ==106312== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106312== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106312== by 0x51D5EBD: Curl_open (url.c:504) ==106312== by 0x514F6EF: curl_easy_init (easy.c:371) ==106312== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==106312== by 0x400347F: main (first.c:280) ==106312== === End of file valgrind546 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/21/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:45761 testuser:testpass > log/21/stdout548 2> log/21/stderr548 548: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? ReturnCMD (33792): ../libtool --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/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:42601/537 > log/17/stdout537 2> log/17/stderr537 ed: 132 == Contents of files in the log/21/ dir 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/21/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:45761 testuser:testpass > log/21/stdout548 2> log/21/stderr548 === End of file commands.log === Start of file http_server.log 07:51:21.371389 ====> Client connect 07:51:21.371422 accept_connection 3 returned 4 07:51:21.371440 accept_connection 3 returned 0 07:51:21.371455 Read 93 bytes 07:51:21.371466 Process 93 bytes request 07:51:21.371479 Got request: GET /verifiedserver HTTP/1.1 07:51:21.371489 Are-we-friendly question received 07:51:21.371512 Wrote request (93 bytes) input to log/21/server.input 07:51:21.371530 Identifying ourselves as friends 07:51:21.371586 Response sent (56 bytes) and written to log/21/server.response 07:51:21.371598 special request received, no persistency 07:51:21.371608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 55118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === 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 ==106398== ==106398== Process terminating with default action of signal 4 (SIGILL) ==106398== Illegal opcode at address 0x51D5F1F ==106398== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106398== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106398== by 0x51D5F1F: Curl_open (url.c:525) ==106398== by 0x514F6EF: curl_easy_init (easy.c:371) ==106398== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106398== by 0x400347F: main (first.c:280) ==106398== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106398== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106398== by 0x51D5EBD: Curl_open (url.c:504) ==106398== by 0x514F6EF: curl_easy_init (easy.c:371) ==106398== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106398== by 0x400347F: main (first.c:280) ==106398== === End of file valgrind548 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/22/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:40377 testuser:testpass > log/22/stdout547 2> log/22/stderr547 547: 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/ dir 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/22/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:40377 testuser:testpass > log/22/stdout547 2> log/22/stderr547 === End of file commands.log === Start of file http_server.log 07:51:21.368618 ====> Client connect 07:51:21.368656 accept_connection 3 returned 4 07:51:21.368675 accept_connection 3 returned 0 07:51:21.368691 Read 93 bytes 07:51:21.368703 Process 93 bytes request 07:51:21.368716 Got request: GET /verifiedserver HTTP/1.1 07:51:21.368726 Are-we-friendly question received 07:51:21.368756 Wrote request (93 bytes) input to log/22/server.input 07:51:21.368775 Identifying ourselves as friends 07:51:21.368833 Response sent (56 bytes) and written to log/22/server.response 07:51:21.368845 special request received, no persistency 07:51:21.368855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 45996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === 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 ==106391== ==106391== Process terminating with default action of signal 4 (SIGILL) ==106391== Illegal opcode at address 0x51D5F1F ==106391== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106391== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106391== by 0x51D5F1F: Curl_open (url.c:525) ==106391== by 0x514F6EF: curl_easy_init (easy.c:371) ==106391== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106391== by 0x400347F: main (first.c:280) ==106391== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106391== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106391== by 0x51D5EBD: Curl_open (url.c:504) ==106391== by 0x514F6EF: curl_easy_init (easy.c:371) ==106391== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106391== by 0x400347F: main (first.c:280) ==106391== === End of file valgrind547 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/17/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:42601/537 > log/17/stdout537 2> log/17/stderr537 537: 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/ dir 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/17/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:42601/537 > log/17/stdout537 2> log/17/stderr537 === End of file commands.log === Start of file http_server.log 07:51:21.970749 ====> Client connect 07:51:21.970787 accept_connection 3 returned 4 07:51:21.970806 accept_connection 3 returned 0 07:51:21.970824 Read 93 bytes 07:51:21.970835 Process 93 bytes request 07:51:21.970850 Got request: GET /verifiedserver HTTP/1.1 07:51:21.970860 Are-we-friendly question received 07:51:21.970887 Wrote request (93 bytes) input to log/17/server.input 07:51:21.970905 Identifying ourselves as friends 07:51:21.970974 Response sent (56 bytes) and written to log/17/server.response 07:51:21.970986 special request received, no persistency 07:51:21.970997 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 33232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.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/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:42797 > log/5/stdout556 2> log/5/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/6/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:45933 ascii > log/6/stdout550 2> log/6/stderr550 /* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:42601/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 ==106498== ==106498== Process terminating with default action of signal 4 (SIGILL) ==106498== Illegal opcode at address 0x51D5F1F ==106498== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106498== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106498== by 0x51D5F1F: Curl_open (url.c:525) ==106498== by 0x514F6EF: curl_easy_init (easy.c:371) ==106498== by 0x4013492: UnknownInlinedFun (lib537.c:468) ==106498== by 0x4013492: test_lib537.lto_priv.0 (lib537.c:440) ==106498== by 0x400347F: main (first.c:280) ==106498== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==106498== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106498== by 0x51D5EBD: Curl_open (url.c:504) ==106498== by 0x514F6EF: curl_easy_init (easy.c:371) ==106498== by 0x4013492: UnknownInlinedFun (lib537.c:468) ==106498== by 0x4013492: test_lib537.lto_priv.0 (lib537.c:440) ==106498== by 0x400347F: main (first.c:280) ==106498== === End of file valgrind537 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/5/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:42797 > log/5/stdout556 2> log/5/stderr556 556: 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/ dir 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/5/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:42797 > log/5/stdout556 2> log/5/stderr556 === End of file commands.log === Start of file http_server.log 07:51:21.748689 ====> Client connect 07:51:21.748723 accept_connection 3 returned 4 07:51:21.748739 accept_connection 3 returned 0 07:51:21.748755 Read 93 bytes 07:51:21.748766 Process 93 bytes request 07:51:21.748779 Got request: GET /verifiedserver HTTP/1.1 07:51:21.748789 Are-we-friendly question received 07:51:21.748814 Wrote request (93 bytes) input to log/5/server.input 07:51:21.748830 Identifying ourselves as friends 07:51:21.748882 Response sent (56 bytes) and written to log/5/server.response 07:51:21.748893 special request received, no persistency 07:51:21.748903 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 45870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:42797 === End of file stderr556 === Start of file valgrind556 ==107013== ==107013== Process terminating with default action of signal 4 (SIGILL) ==107013== Illegal opcode at address 0x51D5F1F ==107013== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107013== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107013== by 0x51D5F1F: Curl_open (url.c:525) ==107013== by 0x514F6EF: curl_easy_init (easy.c:371) ==107013== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==107013== by 0x400347F: main (first.c:280) ==107013== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107013== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107013== by 0x51D5EBD: Curl_open (url.c:504) ==107013== by 0x514F6EF: curl_easy_init (easy.c:371) ==107013== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==107013== by 0x400347F: main (first.c:280) ==107013== === 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/15/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:43789 s1lly:pers0n > log/15/stdout551 2> log/15/stderr551 CMD (33792): ../libtool --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/valgrind557 ./libtest/libtests lib557 - > log/16/stdout557 2> log/16/stderr557 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/6/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:45933 ascii > log/6/stdout550 2> log/6/stderr550 550: stdout FAILED: --- log/6/check-expected 2025-11-07 07:51:22.774040257 +0000 +++ log/6/check-generated 2025-11-07 07:51:22.774040257 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/6/ dir 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/6/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:45933 ascii > log/6/stdout550 2> log/6/stderr550 === End of file commands.log === Start of file http_server.log 07:51:21.550441 ====> Client connect 07:51:21.550473 accept_connection 3 returned 4 07:51:21.550490 accept_connection 3 returned 0 07:51:21.550783 Read 93 bytes 07:51:21.550803 Process 93 bytes request 07:51:21.550815 Got request: GET /verifiedserver HTTP/1.1 07:51:21.550826 Are-we-friendly question received 07:51:21.550854 Wrote request (93 bytes) input to log/6/server.input 07:51:21.550872 Identifying ourselves as friends 07:51:21.550923 Response sent (56 bytes) and written to log/6/server.response 07:51:21.550933 special request received, no persistency 07:51:21.550943 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 36020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==106614== ==106614== Process terminating with default action of signal 4 (SIGILL) ==106614== Illegal opcode at address 0x51D5F1F ==106614== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106614== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106614== by 0x51D5F1F: Curl_open (url.c:525) ==106614== by 0x514F6EF: curl_easy_init (easy.c:371) ==106614== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106614== by 0x400347F: main (first.c:280) ==106614== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106614== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106614== by 0x51D5EBD: Curl_open (url.c:504) ==106614== by 0x514F6EF: curl_easy_init (easy.c:371) ==106614== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106614== by 0x400347F: main (first.c:280) ==106614== === End of file valgrind550 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/15/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:43789 s1lly:pers0n > log/15/stdout551 2> log/15/stderr551 551: 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/ dir 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/15/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:43789 s1lly:pers0n > log/15/stdout551 2> log/15/stderr551 === End of file commands.log === Start of file http_server.log 07:51:21.550703 ====> Client connect 07:51:21.550733 accept_connection 3 returned 4 07:51:21.550750 accept_connection 3 returned 0 07:51:21.550764 Read 93 bytes 07:51:21.550774 Process 93 bytes request 07:51:21.550785 Got request: GET /verifiedserver HTTP/1.1 07:51:21.550795 Are-we-friendly question received 07:51:21.550816 Wrote request (93 bytes) input to log/15/server.input 07:51:21.550832 Identifying ourselves as friends 07:51:21.550882 Response sent (56 bytes) and written to log/15/server.response 07:51:21.550892 special request received, no persistency 07:51:21.550901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 44064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === 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 ==106635== ==106635== Process terminating with default action of signal 4 (SIGILL) ==106635== Illegal opcode at address 0x51D5F1F ==106635== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106635== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106635== by 0x51D5F1F: Curl_open (url.c:525) ==106635== by 0x514F6EF: curl_easy_init (easy.c:371) ==106635== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106635== by 0x400347F: main (first.c:280) ==106635== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106635== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106635== by 0x51D5EBD: Curl_open (url.c:504) ==106635== by 0x514F6EF: curl_easy_init (easy.c:371) ==106635== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106635== by 0x400347F: main (first.c:280) ==106635== === End of file valgrind551 CMD (33792): ../libtool --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/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35041/ > log/13/stdout552 2> log/13/stderr552 CMD (33792): ../libtool --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/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:46763/path/553 > log/18/stdout553 2> log/18/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/23/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:41029 > log/23/stdout549 2> log/23/stderr549 CMD (33792): ../libtool --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/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:34059/554 > log/3/stdout554 2> log/3/stderr554 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/16/valgrind557 ./libtest/libtests lib557 - > log/16/stdout557 2> log/16/stderr557 557: stdout FAILED: --- log/16/check-expected 2025-11-07 07:51:22.787373590 +0000 +++ log/16/check-generated 2025-11-07 07:51:22.787373590 +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 & hexadecimal tests OK![LF] == Contents of files in the log/16/ dir 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 & 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/16/valgrind557 ./libtest/libtests lib557 - > log/16/stdout557 2> log/16/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 ==107074== ==107074== Process terminating with default action of signal 4 (SIGILL) ==107074== Illegal opcode at address 0x4018A0A ==107074== at 0x4018A0A: UnknownInlinedFun (lib557.c:1110) ==107074== by 0x4018A0A: test_weird_arguments (lib557.c:1236) ==107074== by 0x401A6E1: test_lib557.lto_priv.0 (lib557.c:1551) ==107074== by 0x400347F: main (first.c:280) === End of file valgrind557 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/13/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35041/ > log/13/stdout552 2> log/13/stderr552 552: 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/ dir 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/13/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:35041/ > log/13/stdout552 2> log/13/stderr552 === End of file commands.log === Start of file http_server.log 07:51:21.559559 ====> Client connect 07:51:21.559591 accept_connection 3 returned 4 07:51:21.559608 accept_connection 3 returned 0 07:51:21.559623 Read 93 bytes 07:51:21.559634 Process 93 bytes request 07:51:21.559646 Got request: GET /verifiedserver HTTP/1.1 07:51:21.559656 Are-we-friendly question received 07:51:21.559680 Wrote request (93 bytes) input to log/13/server.input 07:51:21.559698 Identifying ourselves as friends 07:51:21.559754 Response sent (56 bytes) and written to log/13/server.response 07:51:21.559765 special request received, no persistency 07:51:21.559775 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 34608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === 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 ==106671== ==106671== Process terminating with default action of signal 4 (SIGILL) ==106671== Illegal opcode at address 0x51D5F1F ==106671== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106671== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106671== by 0x51D5F1F: Curl_open (url.c:525) ==106671== by 0x514F6EF: curl_easy_init (easy.c:371) ==106671== by 0x4015BF8: UnknownInlinedFun (lib552.c:81) ==106671== by 0x4015BF8: test_lib552.lto_priv.0 (lib552.c:70) ==106671== by 0x400347F: main (first.c:280) ==106671== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106671== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106671== by 0x51D5EBD: Curl_open (url.c:504) ==106671== by 0x514F6EF: curl_easy_init (easy.c:371) ==106671== by 0x4015BF8: UnknownInlinedFun (lib552.c:81) ==106671== by 0x4015BF8: test_lib552.lto_priv.0 (lib552.c:70) ==106671== by 0x400347F: main (first.c:280) ==106671== === End of file valgrind552 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/3/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:34059/554 > log/3/stdout554 2> log/3/stderr554 554: 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/ dir 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/3/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:34059/554 > log/3/stdout554 2> log/3/stderr554 === End of file commands.log === Start of file http_server.log 07:51:22.658856 ====> Client connect 07:51:22.658891 accept_connection 3 returned 4 07:51:22.658909 accept_connection 3 returned 0 07:51:22.658926 Read 93 bytes 07:51:22.658937 Process 93 bytes request 07:51:22.658951 Got request: GET /verifiedserver HTTP/1.1 07:51:22.658962 Are-we-friendly question received 07:51:22.658987 Wrote request (93 bytes) input to log/3/server.input 07:51:22.659005 Identifying ourselves as friends 07:51:22.659060 Response sent (56 bytes) and written to log/3/server.response 07:51:22.659072 special request received, no persistency 07:51:22.659082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 59816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:34059/554 === End of file stderr554 === Start of file valgrind554 ==106864== ==106864== Process terminating with default action of signal 4 (SIGILL) ==106864== Illegal opcode at address 0x51D5F1F ==106864== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106864== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106864== by 0x51D5F1F: Curl_open (url.c:525) ==106864== by 0x514F6EF: curl_easy_init (easy.c:371) ==106864== by 0x40183E8: t554_test_once (lib554.c:147) ==106864== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==106864== by 0x400347F: main (first.c:280) ==106864== 5,384 bytes in 1 blocks are definitely lost in loss record 659 of 661 ==106864== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106864== by 0x51D5EBD: Curl_open (url.c:504) ==106864== by 0x514F6EF: curl_easy_init (easy.c:371) ==106864== by 0x40183E8: t554_test_once (lib554.c:147) ==106864== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==106864== by 0x400347F: main (first.c:280) ==106864== === End of file valgrind554 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/18/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:46763/path/553 > log/18/stdout553 2> log/18/stderr553 553: 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/ dir 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/18/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:46763/path/553 > log/18/stdout553 2> log/18/stderr553 === End of file commands.log === Start of file http_server.log 07:51:22.652770 ====> Client connect 07:51:22.652802 accept_connection 3 returned 4 07:51:22.652819 accept_connection 3 returned 0 07:51:22.652834 Read 93 bytes 07:51:22.652845 Process 93 bytes request 07:51:22.652858 Got request: GET /verifiedserver HTTP/1.1 07:51:22.652868 Are-we-friendly question received 07:51:22.652890 Wrote request (93 bytes) input to log/18/server.input 07:51:22.652907 Identifying ourselves as friends 07:51:22.652956 Response sent (56 bytes) and written to log/18/server.response 07:51:22.652966 special request received, no persistency 07:51:22.652976 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 36492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:46763/path/553 === End of file stderr553 === Start of file valgrind553 ==106848== ==106848== Process terminating with default action of signal 4 (SIGILL) ==106848== Illegal opcode at address 0x51D5F1F ==106848== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106848== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106848== by 0x51D5F1F: Curl_open (url.c:525) ==106848== by 0x514F6EF: curl_easy_init (easy.c:371) ==106848== by 0x4018011: test_lib553.lto_priv.0 (lib553.c:72) ==106848== by 0x400347F: main (first.c:280) ==106848== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106848== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106848== by 0x51D5EBD: Curl_open (url.c:504) ==106848== by 0x514F6EF: curl_easy_init (easy.c:371) ==106848== by 0x4018011: test_lib553.lto_priv.0 (lib553.c:72) ==106848== by 0x400347F: main (first.c:280) ==106848== === End of file valgrind553 CMD (33792): ../libtool --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/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:40357 testuser:testpass > log/20/stdout555 2> log/20/stderr555 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/14/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:34115/559 > log/14/stdout559 2> log/14/stderr559 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/23/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:41029 > log/23/stdout549 2> log/23/stderr549 549: stdout FAILED: --- log/23/check-expected 2025-11-07 07:51:22.797373590 +0000 +++ log/23/check-generated 2025-11-07 07:51:22.797373590 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/23/ dir 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/23/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:41029 > log/23/stdout549 2> log/23/stderr549 === End of file commands.log === Start of file http_server.log 07:51:21.546955 ====> Client connect 07:51:21.546988 accept_connection 3 returned 4 07:51:21.547005 accept_connection 3 returned 0 07:51:21.547021 Read 93 bytes 07:51:21.547032 Process 93 bytes request 07:51:21.547046 Got request: GET /verifiedserver HTTP/1.1 07:51:21.547056 Are-we-friendly question received 07:51:21.547082 Wrote request (93 bytes) input to log/23/server.input 07:51:21.547100 Identifying ourselves as friends 07:51:21.547162 Response sent (56 bytes) and written to log/23/server.response 07:51:21.547174 special request received, no persistency 07:51:21.547184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 37394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==106607== ==106607== Process terminating with default action of signal 4 (SIGILL) ==106607== Illegal opcode at address 0x51D5F1F ==106607== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106607== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106607== by 0x51D5F1F: Curl_open (url.c:525) ==106607== by 0x514F6EF: curl_easy_init (easy.c:371) ==106607== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106607== by 0x400347F: main (first.c:280) ==106607== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106607== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106607== by 0x51D5EBD: Curl_open (url.c:504) ==106607== by 0x514F6EF: curl_easy_init (easy.c:371) ==106607== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106607== by 0x400347F: main (first.c:280) ==106607== === End of file valgrind549 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/20/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:40357 testuser:testpass > log/20/stdout555 2> log/20/stderr555 555: 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/ dir 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/20/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:40357 testuser:testpass > log/20/stdout555 2> log/20/stderr555 === End of file commands.log === Start of file http_server.log 07:51:21.661398 ====> Client connect 07:51:21.661428 accept_connection 3 returned 4 07:51:21.661445 accept_connection 3 returned 0 07:51:21.661459 Read 93 bytes 07:51:21.661470 Process 93 bytes request 07:51:21.661481 Got request: GET /verifiedserver HTTP/1.1 07:51:21.661491 Are-we-friendly question received 07:51:21.661513 Wrote request (93 bytes) input to log/20/server.input 07:51:21.661529 Identifying ourselves as friends 07:51:21.661577 Response sent (56 bytes) and written to log/20/server.response 07:51:21.661588 special request received, no persistency 07:51:21.661597 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 41462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === 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 ==106866== ==106866== Process terminating with default action of signal 4 (SIGILL) ==106866== Illegal opcode at address 0x51D5F1F ==106866== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106866== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106866== by 0x51D5F1F: Curl_open (url.c:525) ==106866== by 0x514F6EF: curl_easy_init (easy.c:371) ==106866== by 0x4014C7F: test_lib555.lto_priv.0 (lib555.c:83) ==106866== by 0x400347F: main (first.c:280) ==106866== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106866== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106866== by 0x51D5EBD: Curl_open (url.c:504) ==106866== by 0x514F6EF: curl_easy_init (easy.c:371) ==106866== by 0x4014C7F: test_lib555.lto_priv.0 (lib555.c:83) ==106866== by 0x400347F: main (first.c:280) ==106866== === End of file valgrind555 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/14/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:34115/559 > log/14/stdout559 2> log/14/stderr559 559: data FAILED: --- log/14/check-expected 2025-11-07 07:51:23.020706926 +0000 +++ log/14/check-generated 2025-11-07 07:51:23.020706926 +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/14/ dir 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/14/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:34115/559 > log/14/stdout559 2> log/14/stderr559 === End of file commands.log === Start of file http_server.log 07:51:21.952621 ====> Client connect 07:51:21.952671 accept_connection 3 returned 4 07:51:21.952690 accept_connection 3 returned 0 07:51:21.952708 Read 93 bytes 07:51:21.952720 Process 93 bytes request 07:51:21.952737 Got request: GET /verifiedserver HTTP/1.1 07:51:21.952748 Are-we-friendly question received 07:51:21.952772 Wrote request (93 bytes) input to log/14/server.input 07:51:21.952795 Identifying ourselves as friends 07:51:21.952889 Response sent (56 bytes) and written to log/14/server.response 07:51:21.952900 special request received, no persistency 07:51:21.952910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:34115/559 === End of file stderr559 === Start of fiCMD (33792): ../libtool --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/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:39661 ascii > log/7/stdout561 2> log/7/stderr561 le valgrind559 ==107161== ==107161== Process terminating with default action of signal 4 (SIGILL) ==107161== Illegal opcode at address 0x51D5F1F ==107161== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107161== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107161== by 0x51D5F1F: Curl_open (url.c:525) ==107161== by 0x514F6EF: curl_easy_init (easy.c:371) ==107161== by 0x4015EAA: test_lib559.lto_priv.0 (lib559.c:38) ==107161== by 0x400347F: main (first.c:280) ==107161== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107161== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107161== by 0x51D5EBD: Curl_open (url.c:504) ==107161== by 0x514F6EF: curl_easy_init (easy.c:371) ==107161== by 0x4015EAA: test_lib559.lto_priv.0 (lib559.c:38) ==107161== by 0x400347F: main (first.c:280) ==107161== === End of file valgrind559 CMD (33792): ../libtool --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/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 33709 > log/9/stdout562 2> log/9/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/7/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:39661 ascii > log/7/stdout561 2> log/7/stderr561 561: stdout FAILED: --- log/7/check-expected 2025-11-07 07:51:23.027373593 +0000 +++ log/7/check-generated 2025-11-07 07:51:23.027373593 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ dir 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/7/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:39661 ascii > log/7/stdout561 2> log/7/stderr561 === End of file commands.log === Start of file http_server.log 07:51:22.966919 ====> Client connect 07:51:22.966953 accept_connection 3 returned 4 07:51:22.966970 accept_connection 3 returned 0 07:51:22.966986 Read 93 bytes 07:51:22.966996 Process 93 bytes request 07:51:22.967011 Got request: GET /verifiedserver HTTP/1.1 07:51:22.967021 Are-we-friendly question received 07:51:22.967044 Wrote request (93 bytes) input to log/7/server.input 07:51:22.967062 Identifying ourselves as friends 07:51:22.967113 Response sent (56 bytes) and written to log/7/server.response 07:51:22.967125 special request received, no persistency 07:51:22.967134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 43684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === 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 ==107181== ==107181== Process terminating with default action of signal 4 (SIGILL) ==107181== Illegal opcode at address 0x51D5F1F ==107181== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107181== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107181== by 0x51D5F1F: Curl_open (url.c:525) ==107181== by 0x514F6EF: curl_easy_init (easy.c:371) ==107181== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==107181== by 0x400347F: main (first.c:280) ==107181== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107181== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107181== by 0x51D5EBD: Curl_open (url.c:504) ==107181== by 0x514F6EF: curl_easy_init (easy.c:371) ==107181== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==107181== by 0x400347F: main (first.c:280) ==107181== === End of file valgrind561 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/9/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 33709 > log/9/stdout562 2> log/9/stderr562 562: 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/ dir 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/9/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 33709 > log/9/stdout562 2> log/9/stderr562 === End of file commands.log === Start of file ftp_server.log 07:51:22.301889 ====> Client connect 07:51:22.302054 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:22.302359 < "USER anonymous" 07:51:22.302402 > "331 We are happy you popped in![CR][LF]" 07:51:22.302589 < "PASS ftp@example.com" 07:51:22.302618 > "230 Welcome you silly person[CR][LF]" 07:51:22.302782 < "PWD" 07:51:22.302818 > "257 "/" is current directory[CR][LF]" 07:51:22.302992 < "EPSV" 07:51:22.303016 ====> Passive DATA channel requested by client 07:51:22.303031 DATA sockfilt for passive data channel starting... 07:51:22.305043 DATA sockfilt for passive data channel started (pid 107281) 07:51:22.305177 DATA sockfilt for passive data channel listens on port 33819 07:51:22.305227 > "229 Entering Passive Mode (|||33819|)[CR][LF]" 07:51:22.305246 Client has been notified that DATA conn will be accepted on port 33819 07:51:22.305523 Client connects to port 33819 07:51:22.305551 ====> Client established passive DATA connection on port 33819 07:51:22.305638 < "TYPE I" 07:51:22.305670 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:22.305823 < "SIZE verifiedserver" 07:51:22.305857 > "213 17[CR][LF]" 07:51:22.305999 < "RETR verifiedserver" 07:51:22.306028 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:22.306108 =====> Closing passive DATA connection... 07:51:22.306124 Server disconnects passive DATA connection 07:51:22.306352 Server disconnected passive DATA connection 07:51:22.306378 DATA sockfilt for passive data channel quits (pid 107281) 07:51:22.306590 DATA sockfilt for passive data channel quit (pid 107281) 07:51:22.306612 =====> Closed passive DATA connection 07:51:22.306639 > "226 File transfer complete[CR][LF]" 07:51:22.354806 < "QUIT" 07:51:22.354861 > "221 bye bye baby[CR][LF]" 07:51:22.355585 MAIN sockfilt said DISC 07:51:22.355613 ====> Client disconnected 07:51:22.355689 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:22.129717 ====> Client connect 07:51:22.130014 Received DATA (on stdin) 07:51:22.130031 > 160 bytes data, server => client 07:51:22.130045 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:22.130057 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:22.130068 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:22.130150 < 16 bytes data, client => server 07:51:22.130163 'USER anonymous\r\n' 07:51:22.130354 Received DATA (on stdin) 07:51:22.130367 > 33 bytes data, server => client 07:51:22.130380 '331 We are happy you popped in!\r\n' 07:51:22.130434 < 22 bytes data, client => server 07:51:22.130447 'PASS ftp@example.com\r\n' 07:51:22.130565 Received DATA (on stdin) 07:51:22.130578 > 30 bytes data, server => client 07:51:22.130590 '230 Welcome you silly person\r\n' 07:51:22.130638 < 5 bytes data, client => server 07:51:22.130650 'PWD\r\n' 07:51:22.130768 Received DATA (on stdin) 07:51:22.130783 > 30 bytes data, server => client 07:51:22.130795 '257 "/" is current directory\r\n' 07:51:22.130854 < 6 bytes data, client => server 07:51:22.130866 'EPSV\r\n' 07:51:22.133203 Received DATA (on stdin) 07:51:22.133221 > 39 bytes data, server => client 07:51:22.133233 '229 Entering Passive Mode (|||33819|)\r\n' 07:51:22.133389 < 8 bytes data, client => server 07:51:22.133404 'TYPE I\r\n' 07:51:22.133616 Received DATA (on stdin) 07:51:22.133629 > 33 bytes data, server => client 07:51:22.133640 '200 I modify TYPE as you wanted\r\n' 07:51:22.133687 < 21 bytes data, client => server 07:51:22.133701 'SIZE verifiedserver\r\n' 07:51:22.133802 Received DATA (on stdin) 07:51:22.133813 > 8 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/12/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:38023/566 log/12/ip566 > log/12/stdout566 2> log/12/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/4/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:43573/565 > log/4/stdout565 2> log/4/stderr565 ta, server => client 07:51:22.133824 '213 17\r\n' 07:51:22.133868 < 21 bytes data, client => server 07:51:22.133879 'RETR verifiedserver\r\n' 07:51:22.134072 Received DATA (on stdin) 07:51:22.134084 > 29 bytes data, server => client 07:51:22.134095 '150 Binary junk (17 bytes).\r\n' 07:51:22.134587 Received DATA (on stdin) 07:51:22.134601 > 28 bytes data, server => client 07:51:22.134613 '226 File transfer complete\r\n' 07:51:22.182538 < 6 bytes data, client => server 07:51:22.182570 'QUIT\r\n' 07:51:22.182809 Received DATA (on stdin) 07:51:22.182821 > 18 bytes data, server => client 07:51:22.182832 '221 bye bye baby\r\n' 07:51:22.183483 ====> Client disconnect 07:51:22.183634 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:22.132684 Running IPv4 version 07:51:22.132761 Listening on port 33819 07:51:22.132896 Wrote pid 107281 to log/9/server/ftp_sockdata.pid 07:51:22.132917 Received PING (on stdin) 07:51:22.133029 Received PORT (on stdin) 07:51:22.133425 ====> Client connect 07:51:22.134118 Received DATA (on stdin) 07:51:22.134131 > 17 bytes data, server => client 07:51:22.134143 'WE ROOLZ: 81212\r\n' 07:51:22.134165 Received DISC (on stdin) 07:51:22.134177 ====> Client forcibly disconnected 07:51:22.134331 Received QUIT (on stdin) 07:51:22.134343 quits 07:51:22.134400 ============> 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 ==107292== ==107292== Process terminating with default action of signal 4 (SIGILL) ==107292== Illegal opcode at address 0x51D5F1F ==107292== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107292== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107292== by 0x51D5F1F: Curl_open (url.c:525) ==107292== by 0x514F6EF: curl_easy_init (easy.c:371) ==107292== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107292== by 0x400347F: main (first.c:280) ==107292== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107292== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107292== by 0x51D5EBD: Curl_open (url.c:504) ==107292== by 0x514F6EF: curl_easy_init (easy.c:371) ==107292== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107292== by 0x400347F: main (first.c:280) ==107292== === 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/12/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:38023/566 log/12/ip566 > log/12/stdout566 2> log/12/stderr566 566: 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/ dir 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/12/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:38023/566 log/12/ip566 > log/12/stdout566 2> log/12/stderr566 === End of file commands.log === Start of file http_server.log 07:51:22.270622 ====> Client connect 07:51:22.270655 accept_connection 3 returned 4 07:51:22.270670 accept_connection 3 returned 0 07:51:22.270684 Read 93 bytes 07:51:22.270694 Process 93 bytes request 07:51:22.270706 Got request: GET /verifiedserver HTTP/1.1 07:51:22.270716 Are-we-friendly question received 07:51:22.270740 Wrote request (93 bytes) input to log/12/server.input 07:51:22.270756 Identifying ourselves as friends 07:51:22.270806 Response sent (56 bytes) and written to log/12/server.response 07:51:22.270816 special request received, no persistency 07:51:22.270825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 40804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:38023/566 === End of file stderr566 === Start of file valgrind566 ==107426== ==107426== Process terminating with default action of signal 4 (SIGILL) ==107426== Illegal opcode at address 0x51D5F1F ==107426== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107426== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107426== by 0x51D5F1F: Curl_open (url.c:525) ==107426== by 0x514F6EF: curl_easy_init (easy.c:371) ==107426== by 0x401D862: test_lib566.lto_priv.0 (lib566.c:40) ==107426== by 0x400347F: main (first.c:280) ==107426== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107426== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107426== by 0x51D5EBD: Curl_open (url.c:504) ==107426== by 0x514F6EF: curl_easy_init (easy.c:371) ==107426== by 0x401D862: test_lib566.lto_priv.0 (lib566.c:40) ==107426== by 0x400347F: main (first.c:280) ==107426== === End of file valgrind566 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/4/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:43573/565 > log/4/stdout565 2> log/4/stderr565 565: 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/ dir 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/4/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:43573/565 > log/4/stdout565 2> log/4/stderr565 === End of file commands.log === Start of file http_server.log 07:51:23.267586 ====> Client connect 07:51:23.267617 accept_connection 3 returned 4 07:51:23.267632 accept_connection 3 returned 0 07:51:23.267646 Read 93 bytes 07:51:23.267656 Process 93 bytes request 07:51:23.267669 Got request: GET /verifiedserver HTTP/1.1 07:51:23.267678 Are-we-friendly question received 07:51:23.267701 Wrote request (93 bytes) input to log/4/server.input 07:51:23.267717 Identifying ourselves as friends 07:51:23.267768 Response sent (56 bytes) and written to log/4/server.response 07:51:23.267778 special request received, no persistency 07:51:23.267787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 40876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file stderr565 UCMD (33792): ../libtool --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/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 44991 > log/19/stdout563 2> log/19/stderr563 RL: http://127.0.0.1:43573/565 === End of file stderr565 === Start of file valgrind565 ==107427== ==107427== Process terminating with default action of signal 4 (SIGILL) ==107427== Illegal opcode at address 0x51D5F1F ==107427== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107427== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107427== by 0x51D5F1F: Curl_open (url.c:525) ==107427== by 0x514F6EF: curl_easy_init (easy.c:371) ==107427== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==107427== by 0x400347F: main (first.c:280) ==107427== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107427== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107427== by 0x51D5EBD: Curl_open (url.c:504) ==107427== by 0x514F6EF: curl_easy_init (easy.c:371) ==107427== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==107427== by 0x400347F: main (first.c:280) ==107427== === End of file valgrind565 setenv ftp_proxy = http://127.0.0.1:34835/ 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/19/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 44991 > log/19/stdout563 2> log/19/stderr563 563: 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/ dir 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/19/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 44991 > log/19/stdout563 2> log/19/stderr563 === End of file commands.log === Start of file ftp_server.log 07:51:22.435717 ====> Client connect 07:51:22.435855 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:22.436144 < "USER anonymous" 07:51:22.436194 > "331 We are happy you popped in![CR][LF]" 07:51:22.436391 < "PASS ftp@example.com" 07:51:22.436423 > "230 Welcome you silly person[CR][LF]" 07:51:22.436583 < "PWD" 07:51:22.436613 > "257 "/" is current directory[CR][LF]" 07:51:22.436747 < "EPSV" 07:51:22.436767 ====> Passive DATA channel requested by client 07:51:22.436779 DATA sockfilt for passive data channel starting... 07:51:22.439261 DATA sockfilt for passive data channel started (pid 107417) 07:51:22.439397 DATA sockfilt for passive data channel listens on port 39587 07:51:22.439451 > "229 Entering Passive Mode (|||39587|)[CR][LF]" 07:51:22.439472 Client has been notified that DATA conn will be accepted on port 39587 07:51:22.439743 Client connects to port 39587 07:51:22.439776 ====> Client established passive DATA connection on port 39587 07:51:22.439877 < "TYPE I" 07:51:22.439913 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:22.440103 < "SIZE verifiedserver" 07:51:22.440144 > "213 17[CR][LF]" 07:51:22.440321 < "RETR verifiedserver" 07:51:22.440360 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:22.440444 =====> Closing passive DATA connection... 07:51:22.440462 Server disconnects passive DATA connection 07:51:22.440712 Server disconnected passive DATA connection 07:51:22.440741 DATA sockfilt for passive data channel quits (pid 107417) 07:51:22.440962 DATA sockfilt for passive data channel quit (pid 107417) 07:51:22.440990 =====> Closed passive DATA connection 07:51:22.441018 > "226 File transfer complete[CR][LF]" 07:51:22.481881 < "QUIT" 07:51:22.481931 > "221 bye bye baby[CR][LF]" 07:51:22.482233 MAIN sockfilt said DISC 07:51:22.482269 ====> Client disconnected 07:51:22.482344 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:22.263562 ====> Client connect 07:51:22.263814 Received DATA (on stdin) 07:51:22.263832 > 160 bytes data, server => client 07:51:22.263845 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:22.263858 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:22.263871 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:22.263948 < 16 bytes data, client => server 07:51:22.263965 'USER anonymous\r\n' 07:51:22.264146 Received DATA (on stdin) 07:51:22.264161 > 33 bytes data, server => client 07:51:22.264178 '331 We are happy you popped in!\r\n' 07:51:22.264235 < 22 bytes data, client => server 07:51:22.264248 'PASS ftp@example.com\r\n' 07:51:22.264372 Received DATA (on stdin) 07:51:22.264386 > 30 bytes data, server => client 07:51:22.264398 '230 Welcome you silly person\r\n' 07:51:22.264447 < 5 bytes data, client => server 07:51:22.264458 'PWD\r\n' 07:51:22.264556 Received DATA (on stdin) 07:51:22.264567 > 30 bytes data, server => client 07:51:22.264576 '257 "/" is current directory\r\n' 07:51:22.264622 < 6 bytes data, client => server 07:51:22.264631 'EPSV\r\n' 07:51:22.267430 Received DATA (on stdin) 07:51:22.267448 > 39 bytes data, server => client 07:51:22.267461 '229 Entering Passive Mode (|||39587|)\r\n' 07:51:22.267634 < 8 bytes data, client => server 07:51:22.267649 'TYPE I\r\n' 07:51:22.267863 Received DATA (on stdin) 07:51:22.267878 > 33 bytes data, server => client 07:51:22.267890 '200 I modify TYPE as you wanted\r\n' 07:51:22.267949 < 21 bytes data, client => server 07:51:22.267964 'SIZE verifiedserver\r\n' 07:51:22.268093 Received DATA (on stdin) 07:51:22.268107 > 8 bytes data, server => client 07:51:22.268118 '213 17\r\n' 07:51:22.268171 < 21 bytes data, client => server 07:51:22.268185 'RETR verifiedserver\r\n' 07:51:22.268412 Received DATA (on stdin) 07:51:22.268427 > 29 bytes data, server => client 07:51:22.268439 '150 Binary junk (17 bytes).\r\n' 07:51:22.268966 Received DATA (on stdin) 07:51:22.268981 > 28 bytes data, server => client 07:51:22.268993 '226 File transfer complete\r\n' 07:51:22.309663 < 6 bytes data, client => server 07:51:22.309686 'QUIT\r\n' 07:51:22.309881 Received DATA (on stdin) 07:51:22.309894 > 18 bytes data, server => client 07:51:22.309904 '221 bye bye baby\r\n' 07:51:22.310121 ====> Client disconnect 07:51:22.310292 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:22.267001 Running IPv4 version 07:51:22.267079 Listening on port 39587 07:51:22.267119 Wrote pid 107417 to log/19/server/ftp_sockdata.pid 07:51:22.267143 Received PING (on stdin) 07:51:22.267242 Received PORT (on stdin) 07:51:22.267601 ====> Client connect 07:51:22.268466 Received DATA (on stdin) 07:51:22.268482 > 17 bytes data, server => client 07:51:22.268493 'WE ROOLZ: 80634\r\n' 07:51:22.268520 Received DISC (on stdin) 07:51:22.268534 ====> Client forcibly disconnected 07:51:22.268701 Received QUIT (on stdin) 07:51:22.268715 quits 07:51:22.268771 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:51:22.243163 ====> Client connect 07:51:22.243194 accept_connection 3 returned 4 07:51:22.243210 accept_connection 3 returned 0 07:51:22.243223 Read 93 bytes 07:51:22.243234 Process 93 bytes request 07:51:22.243246 Got request: GET /verifiedserver HTTP/1.1 07:51:22.243256 Are-we-friendly question received 07:51:22.243279 Wrote request (93 bytes) input to log/19/server.input 07:51:22.243294 Identifying ourselves as friends 07:51:22.243343 Response sent (56 bytes) and written to log/19/server.response 07:51:22.243353 special request received, no persistency 07:51:22.243362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 CMD (33792): ../libtool --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/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:40377/573 > log/22/stdout573 2> log/22/stderr573 CMD (33792): ../libtool --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/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:44771/fully_simulated/UNIX/*.txt > log/17/stdout574 2> log/17/stderr574 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === 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 ==107519== ==107519== Process terminating with default action of signal 4 (SIGILL) ==107519== Illegal opcode at address 0x51D5F1F ==107519== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107519== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107519== by 0x51D5F1F: Curl_open (url.c:525) ==107519== by 0x514F6EF: curl_easy_init (easy.c:371) ==107519== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107519== by 0x400347F: main (first.c:280) ==107519== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107519== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107519== by 0x51D5EBD: Curl_open (url.c:504) ==107519== by 0x514F6EF: curl_easy_init (easy.c:371) ==107519== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107519== by 0x400347F: main (first.c:280) ==107519== === End of file valgrind563 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/22/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:40377/573 > log/22/stdout573 2> log/22/stderr573 573: 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/ dir after test 573 === Start of file commands.log ../libtool --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/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:40377/573 > log/22/stdout573 2> log/22/stderr573 === End of file commands.log === Start of file http_server.log 07:51:22.379269 ====> Client connect 07:51:22.379310 accept_connection 3 returned 4 07:51:22.379330 accept_connection 3 returned 0 07:51:22.379348 Read 93 bytes 07:51:22.379360 Process 93 bytes request 07:51:22.379378 Got request: GET /verifiedserver HTTP/1.1 07:51:22.379389 Are-we-friendly question received 07:51:22.379422 Wrote request (93 bytes) input to log/22/server.input 07:51:22.379443 Identifying ourselves as friends 07:51:22.379511 Response sent (56 bytes) and written to log/22/server.response 07:51:22.379524 special request received, no persistency 07:51:22.379535 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 46004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:40377/573 === End of file stderr573 === Start of file valgrind573 ==107595== ==107595== Process terminating with default action of signal 4 (SIGILL) ==107595== Illegal opcode at address 0x51D5F1F ==107595== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107595== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107595== by 0x51D5F1F: Curl_open (url.c:525) ==107595== by 0x514F6EF: curl_easy_init (easy.c:371) ==107595== by 0x401DA90: test_lib573.lto_priv.0 (lib573.c:51) ==107595== by 0x400347F: main (first.c:280) ==107595== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107595== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107595== by 0x51D5EBD: Curl_open (url.c:504) ==107595== by 0x514F6EF: curl_easy_init (easy.c:371) ==107595== by 0x401DA90: test_lib573.lto_priv.0 (lib573.c:51) ==107595== by 0x400347F: main (first.c:280) ==107595== === End of file valgrind573 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/17/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:44771/fully_simulated/UNIX/*.txt > log/17/stdout574 2> log/17/stderr574 574: stdout FAILED: --- log/17/check-expected 2025-11-07 07:51:23.524040264 +0000 +++ log/17/check-generated 2025-11-07 07:51:23.524040264 +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/17/ dir 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/17/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:44771/fully_simulated/UNIX/*.txt > log/17/stdout574 2> log/17/stderr574 === End of file commands.log === Start of file ftp_server.log 07:51:22.667375 ====> Client connect 07:51:22.667519 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:22.667821 < "USER anonymous" 07:51:22.667857 > "331 We are happy you popped in![CR][LF]" 07:51:22.668041 < "PASS ftp@example.com" 07:51:22.668069 > "230 Welcome you silly person[CR][LF]" 07:51:22.668218 < "PWD" 07:51:22.668245 > "257 "/" is current directory[CR][LF]" 07:51:22.668401 < "EPSV" 07:51:22.668423 ====> Passive DATA channel requested by client 07:51:22.668437 DATA sockfilt for passive data channel starting... 07:51:22.670294 DATA sockfilt for passive data channel started (pid 107663) 07:51:22.670443 DATA sockfilt for passive data channel listens on port 35025 07:51:22.670497 > "229 Entering Passive Mode (|||35025|)[CR][LF]" 07:51:22.670517 Client has been notified that DATA conn will be accepted on port 35025 07:51:22.670815 Client connects to port 35025 07:51:22.670851 ====> Client established passive DATA connection on port 35025 07:51:22.670946 < "TYPE I" 07:51:22.670982 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:22.671161 < "SIZE verifiedserver" 07:51:22.671201 > "213 17[CR][LF]" 07:51:22.671383 < "RETR verifiedserver" 07:51:22.671423 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:22.671511 =====> Closing passive DATA connection... 07:51:22.671528 Server disconnects passive DATA connection 07:51:22.671779 Server disconnected passive DATA connection 07:51:22.671811 DATA sockfilt for passive data channel quits (pid 107663) 07:51:22.672040 DATA sockfilt for passive data channel quit (pid 107663) 07:51:22.672067 =====> Closed passive DATA connection 07:51:22.672096 > "226 File transfer complete[CR][LF]" 07:51:22.714934 < "QUIT" 07:51:22.714990 > "221 bye bye baby[CR][LF]" 07:51:22.715491 MAIN sockfilt said DISC 07:51:22.715538 ====> Client disconnected 07:51:22.715600 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:22.495217 ====> Client connect 07:51:22.495478 Received DATA (on stdin) 07:51:22.495494 > 160 bytes data, server => client 07:51:22.495507 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:22.495519 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:22.495530 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:22.495602 < 16 bytes data, client => server 07:51:22.495615 'USER anonymous\r\n' 07:51:22.495806 Received DATA (on stdin) 07:51:22.495819 > 33 bytes data, server => client 07:51:22.495831 '331 We are happy you popped in!\r\n' 07:51:22.495892 < 22 bytes data, client => server 07:51:22.495905 'PASS ftp@example.com\r\n' 07:51:22.496014 Received DATA (on stdin) 07:51:22.496027 > 30 bytes data, server => client 07:51:22.496038 '230 Welcome you silly person\r\n' 07:51:22.496083 < 5 bytes data, client => server 07:51:22.496095 'PWD\r\n' 07:51:22.496190 Received DATA (on stdin) 07:51:22.496202 > 30 bytes data, server => client 07:51:22.496215 '257 "/" is current directory\r\n' 07:51:22.496268 < 6 bytes data, client => server 07:51:22.496279 'EPSV\r\n' 07:51:22.498474 Received DATA (on stdin) 07:51:22.498493 > 39 bytes data, server => client 07:51:22.498506 '229 Entering Passive Mode (|||35025|)\r\n' 07:51:22.498705 < 8 bytes data, client => server 07:51:22.498720 'TYPE I\r\n' 07:51:22.498933 Received DATA (on stdin) 07:51:22.498948 > 33 bytes data, server => client 07:51:22.498960 '200 I modify TYPE as you wanted\r\n' 07:51:22.499015 < 21 bytes data, client => server 07:51:22.499029 'SIZE verifiedserver\r\n' 07:51:22.499149 Received DATA (on stdin) 07:51:22.499162 > 8 bytes data, server => client 07:51:22.499180 '213 17\r\n' 07:51:22.499235 < 21 bytes data, client => server 07:51:22.499251 'RETR verifiedserver\r\n' 07:51:22.499478 Received DATA (on stdin) 07:51:22.499491 > 29 bytes data, server => client 07:51:22.499503 '150 Binary junk (17 bytes).\r\n' 07:51:22.500046 Received DATA (on stdin) 07:51:22.500060 > 28 bytes data, server => client 07:51:22.500072 '226 File transfer complete\r\n' 07:51:22.542671 < 6 bytes data, client => server 07:51:22.542704 'QUIT\r\n' 07:51:22.542948 Received DATA (on stdin) 07:51:22.542967 > 18 bytes data, server => client 07:51:22.542979 '221 bye bye baby\r\n' 07:51:22.543374 ====> Client disconnect 07:51:22.543543 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:22.498039 Running IPv4 version 07:51:22.498105 Listening on port 35025 07:51:22.498144 Wrote pid 107663 to log/17/server/ftp_sockdata.pid 07:51:22.498166 Received PING (on stdin) 07:51:22.498285 Received PORT (on stdin) 07:51:22.498673 ====> Client connect 07:51:22.499531 Received DATA (on stdin) 07:51:22.499545 > 17 bytes data, server => client 07:51:22.499556 'WE ROOLZ: 80557\r\n' 07:51:22.499583 Received DISC (on stdin) 07:51:22.499596 ====> Client forcibly disconnected 07:51:22.499769 Received QUIT (on stdin) 07:51:22.499783 quits 07:51:22.499841 ============> 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:44771/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==107668== ==107668== Process terminating with default action of signal 4 (SIGILL) ==107668== Illegal opcode at address 0x51D5F1F ==107668== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107668== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107668== by 0x51D5F1F: Curl_open (url.c:525) ==107668== by 0x514F6EF: curl_easy_init (easy.c:371) ==107668== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==107668== by 0x400347F: main (first.c:280) ==107668== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107668== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107668== by 0x51D5EBD: Curl_open (url.c:504) ==107668== by 0x514F6EF: curl_easy_init (easy.c:371) ==107668== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==107668== by 0x40034CMD (33792): ../libtool --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/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:35041/579 log/13/ip579 > log/13/stdout579 2> log/13/stderr579 7F: main (first.c:280) ==107668== === End of file valgrind574 CMD (33792): ../libtool --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/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:44351/578 log/16/ip578 > log/16/stdout578 2> log/16/stderr578 CMD (33792): ../libtool --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/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:41029/580 > log/23/stdout580 2> log/23/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/5/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:39251/fully_simulated/UNIX/* > log/5/stdout575 2> log/5/stderr575 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/13/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:35041/579 log/13/ip579 > log/13/stdout579 2> log/13/stderr579 579: data FAILED: --- log/13/check-expected 2025-11-07 07:51:23.607373598 +0000 +++ log/13/check-generated 2025-11-07 07:51:23.607373598 +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/13/ dir 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/13/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:35041/579 log/13/ip579 > log/13/stdout579 2> log/13/stderr579 === End of file commands.log === Start of file http_server.log 07:51:22.641100 ====> Client connect 07:51:22.641125 accept_connection 3 returned 4 07:51:22.641139 accept_connection 3 returned 0 07:51:22.641151 Read 93 bytes 07:51:22.641160 Process 93 bytes request 07:51:22.641171 Got request: GET /verifiedserver HTTP/1.1 07:51:22.641181 Are-we-friendly question received 07:51:22.641214 Wrote request (93 bytes) input to log/13/server.input 07:51:22.641232 Identifying ourselves as friends 07:51:22.641288 Response sent (56 bytes) and written to log/13/server.response 07:51:22.641298 special request received, no persistency 07:51:22.641306 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 34620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:35041/579 === End of file stderr579 === Start of file valgrind579 ==107824== ==107824== Process terminating with default action of signal 4 (SIGILL) ==107824== Illegal opcode at address 0x51D5F1F ==107824== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107824== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107824== by 0x51D5F1F: Curl_open (url.c:525) ==107824== by 0x514F6EF: curl_easy_init (easy.c:371) ==107824== by 0x4016900: test_lib579.lto_priv.0 (lib579.c:116) ==107824== by 0x400347F: main (first.c:280) ==107824== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107824== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107824== by 0x51D5EBD: Curl_open (url.c:504) ==107824== by 0x514F6EF: curl_easy_init (easy.c:371) ==107824== by 0x4016900: test_lib579.lto_priv.0 (lib579.c:116) ==107824== by 0x400347F: main (first.c:280) ==107824== === End of file valgrind579 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/16/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:44351/578 log/16/ip578 > log/16/stdout578 2> log/16/stderr578 578: data FAILED: --- log/16/check-expected 2025-11-07 07:51:23.624040265 +0000 +++ log/16/check-generated 2025-11-07 07:51:23.624040265 +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/16/ dir 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/16/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:44351/578 log/16/ip578 > log/16/stdout578 2> log/16/stderr578 === End of file commands.log === Start of file http_server.log 07:51:22.639295 ====> Client connect 07:51:22.639320 accept_connection 3 returned 4 07:51:22.639333 accept_connection 3 returned 0 07:51:22.639344 Read 93 bytes 07:51:22.639352 Process 93 bytes request 07:51:22.639363 Got request: GET /verifiedserver HTTP/1.1 07:51:22.639371 Are-we-friendly question received 07:51:22.639388 Wrote request (93 bytes) input to log/16/server.input 07:51:22.639400 Identifying ourselves as friends 07:51:22.639438 Response sent (56 bytes) and written to log/16/server.response 07:51:22.639446 special request received, no persistency 07:51:22.639453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 43728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:44351/578 === End of file stderr578 === Start of file valgrind578 ==107817== ==107817== Process terminating with default action of signal 4 (SIGILL) ==107817== Illegal opcode at address 0x51D5F1F ==107817== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107817== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107817== by 0x51D5F1F: Curl_open (url.c:525) ==107817== by 0x514F6EF: curl_easy_init (easy.c:371) ==107817== by 0x40163EA: test_lib578.lto_priv.0 (lib578.c:63) ==107817== by 0x400347F: main (first.c:280) ==107817== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107817== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107817== by 0x51D5EBD: Curl_open (url.c:504) ==107817== by 0x514F6EF: curl_easy_init (easy.c:371) ==107817== by 0x40163EA: test_lib578.lto_priv.0 (lib578.c:63) ==107817== by 0x400347F: main (first.c:280) ==107817== === End of file valgrind578 CMD (33792): ../libtool --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/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41051/fully_simulated/UNIX/* > log/6/stdout576 2> log/6/stderr576 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/5/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:39251/fully_simulated/UNIX/* > log/5/stdout575 2> log/5/stderr575 575: stdout FAILED: --- log/5/check-expected 2025-11-07 07:51:23.634040265 +0000 +++ log/5/check-generated 2025-11-07 07:51:23.634040265 +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/5/ dir 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/5/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:39251/fully_simulated/UNIX/* > log/5/stdout575 2> log/5/stderr575 === End of file commands.log === Start of file ftp_server.log 07:51:22.763512 ====> Client connect 07:51:22.763665 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:22.763964 < "USER anonymous" 07:51:22.764001 > "331 We are happy you popped in![CR][LF]" 07:51:22.764273 < "PASS ftp@example.com" 07:51:22.764318 > "230 Welcome you silly person[CR][LF]" 07:51:22.764448 < "PWD" 07:51:22.764472 > "257 "/" is current directory[CR][LF]" 07:51:22.764615 < "EPSV" 07:51:22.764637 ====> Passive DATA channel requested by client 07:51:22.764648 DATA sockfilt for passive data channel starting... 07:51:22.766195 DATA sockfilt for passive data channel started (pid 107727) 07:51:22.766275 DATA sockfilt for passive data channel listens on port 46189 07:51:22.766309 > "229 Entering Passive Mode (|||46189|)[CR][LF]" 07:51:22.766323 Client has been notified that DATA conn will be accepted on port 46189 07:51:22.766478 Client connects to port 46189 07:51:22.766501 ====> Client established passive DATA connection on port 46189 07:51:22.766588 < "TYPE I" 07:51:22.766609 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:22.766725 < "SIZE verifiedserver" 07:51:22.766754 > "213 17[CR][LF]" 07:51:22.766920 < "RETR verifiedserver" 07:51:22.766951 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:22.767030 =====> Closing passive DATA connection... 07:51:22.767046 Server disconnects passive DATA connection 07:51:22.767256 Server disconnected passive DATA connection 07:51:22.767279 DATA sockfilt for passive data channel quits (pid 107727) 07:51:22.767438 DATA sockfilt for passive data channel quit (pid 107727) 07:51:22.767455 =====> Closed passive DATA connection 07:51:22.767476 > "226 File transfer complete[CR][LF]" 07:51:22.808842 < "QUIT" 07:51:22.808890 > "221 bye bye baby[CR][LF]" 07:51:22.809364 MAIN sockfilt said DISC 07:51:22.809399 ====> Client disconnected 07:51:22.809460 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:22.591345 ====> Client connect 07:51:22.591586 Received DATA (on stdin) 07:51:22.591613 > 160 bytes data, server => client 07:51:22.591627 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:22.591639 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:22.591650 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:22.591759 < 16 bytes data, client => server 07:51:22.591783 'USER anonymous\r\n' 07:51:22.591960 Received DATA (on stdin) 07:51:22.591991 > 33 bytes data, server => client 07:51:22.592003 '331 We are happy you popped in!\r\n' 07:51:22.592068 < 22 bytes data, client => server 07:51:22.592087 'PASS ftp@example.com\r\n' 07:51:22.592264 Received DATA (on stdin) 07:51:22.592274 > 30 bytes data, server => client 07:51:22.592283 '230 Welcome you silly person\r\n' 07:51:22.592324 < 5 bytes data, client => server 07:51:22.592333 'PWD\r\n' 07:51:22.592414 Received DATA (on stdin) 07:51:22.592423 > 30 bytes data, server => client 07:51:22.592434 '257 "/" is current directory\r\n' 07:51:22.592481 < 6 bytes data, client => server 07:51:22.592490 'EPSV\r\n' 07:51:22.594271 Received DATA (on stdin) 07:51:22.594282 > 39 bytes data, server => client 07:51:22.594291 '229 Entering Passive Mode (|||46189|)\r\n' 07:51:22.594456 < 8 bytes data, client => server 07:51:22.594466 'TYPE I\r\n' 07:51:22.594550 Received DATA (on stdin) 07:51:22.594559 > 33 bytes data, server => client 07:51:22.594568 '200 I modify TYPE as you wanted\r\n' 07:51:22.594605 < 21 bytes data, client => server 07:51:22.594614 'SIZE verifiedserver\r\n' 07:51:22.594687 Received DATA (on stdin) 07:51:22.594707 > 8 bytes data, server => client 07:51:22.594724 '213 17\r\n' 07:51:22.594778 < 21 bytes data, client => server 07:51:22.594790 'RETR verifiedserver\r\n' 07:51:22.594994 Received DATA (on stdin) 07:51:22.595007 > 29 bytes data, server => client 07:51:22.595018 '150 Binary junk (17 bytes).\r\n' 07:51:22.595418 Received DATA (on stdin) 07:51:22.595429 > 28 bytes data, server => client 07:51:22.595438 '226 File transfer complete\r\n' 07:51:22.636605 < 6 bytes data, client => server 07:51:22.636634 'QUIT\r\n' 07:51:22.636841 Received DATA (on stdin) 07:51:22.636854 > 18 bytes data, server => client 07:51:22.636865 '221 bye bye baby\r\n' 07:51:22.637252 ====> Client disconnect 07:51:22.637406 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:22.593901 Running IPv4 version 07:51:22.593955 Listening on port 46189 07:51:22.593981 Wrote pid 107727 to log/5/server/ftp_sockdata.pid 07:51:22.594095 Received PING (on stdin) 07:51:22.594153 Received PORT (on stdin) 07:51:22.594380 ====> Client connect 07:51:22.595043 Received DATA (on stdin) 07:51:22.595056 > 17 bytes data, server => client 07:51:22.595067 'WE ROOLZ: 80550\r\n' 07:51:22.595089 Received DISC (on stdin) 07:51:22.595100 ====> Client forcibly disconnected 07:51:22.595227 Received QUIT (on stdin) 07:51:22.595237 quits 07:51:22.595281 ============> 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:39251/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==107825== ==107825== Process terminating with default action of signal 4 (SIGILL) ==107825== Illegal opcode at address 0x51D5F1F ==107825== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107825== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107825== by 0x51D5F1F: Curl_open (url.c:525) ==107825== by 0x514F6EF: curl_easy_init (easy.c:371) ==107825== by 0x4017179: test_lib575.lto_priv.0 (lib575.c:46) ==107825== by 0x400347F: main (first.c:280) ==107825== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107825== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107825== by 0x51D5EBD: Curl_open (url.c:504) ==107825== by 0x514F6EF: curl_easy_init (easy.c:371) ==107825== by 0x4017179: test_lib575.lto_priv.0 (lib575.c:46) ==107825== by 0x400347F: main (first.c:280) ==107825== === End of file valgrind575 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/23/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:41029/580 > log/23/stdout580 2> log/23/stderr580 580: 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/ dir 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/23/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:41029/580 > log/23/stdout580 2> log/23/stderr580 === End of file commands.log === Start of file http_server.log 07:51:22.647788 ====> Client connect 07:51:22.647812 accept_connection 3 returned 4 07:51:22.647825 accept_connection 3 returned 0 07:51:22.647835 Read 93 bytes 07:51:22.647843 Process 93 bytes request 07:51:22.647852 Got request: GET /verifiedserver HTTP/1.1 07:51:22.647860 Are-we-friendly question received 07:51:22.647878 Wrote request (93 bytes) input to log/23/server.input 07:51:22.647890 Identifying ourselves as friends 07:51:22.647935 Response sent (56 bytes) and written to log/23/server.response 07:51:22.647943 special request received, no persistency 07:51:22.647950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 37396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:41029/580 === End of file stderr580 === Start of file valgrind580 ==107846== ==107846== Process terminating with default action of signal 4 (SIGILL) ==107846== Illegal opcode at address 0x519E800 ==107846== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==107846== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==107846== by 0x519E800: Curl_multi_handle (multi.c:247) ==107846== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107846== by 0x400347F: main (first.c:280) ==107846== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==107846== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107846== by 0x519E794: Curl_multi_handle (multi.c:239) ==107846== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107846== by 0x400347F: main (first.c:280) ==107846== === End of file valgrind580 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/6/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41051/fully_simulated/UNIX/* > log/6/stdout576 2> log/6/stderr576 576: stdout FAILED: --- log/6/check-expected 2025-11-07 07:51:23.644040265 +0000 +++ log/6/check-generated 2025-11-07 07:51:23.644040265 +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/6/ dir 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/6/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41051/fully_simulated/UNIX/* > log/6/stdout576 2> log/6/stderr576 === End of file commands.log === Start of file ftp_server.log 07:51:22.798114 ====> Client connect 07:51:22.798269 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:22.798574 < "USER anonymous" 07:51:22.798614 > "331 We are happy you popped in![CR][LF]" 07:51:22.798794 < "PASS ftp@example.com" 07:51:22.798817 > "230 Welcome you silly person[CR][LF]" 07:51:22.798937 < "PWD" 07:51:22.798960 > "257 "/" is current directory[CR][LF]" 07:51:22.799100 < "EPSV" 07:51:22.799123 ====> Passive DATA channel requested by client 07:51:22.799135 DATA sockfilt for passive data channel starting... 07:51:22.800448 DATA sockfilt for passive data channel started (pid 107753) 07:51:22.800527 DATA sockfilt for passive data channel listens on port 45931 07:51:22.800558 > "229 Entering Passive Mode (|||45931|)[CR][LF]" 07:51:22.800572 Client has been notified that DATA conn will be accepted on port 45931 07:51:22.800726 Client connects to port 45931 07:51:22.800749 ====> Client established passive DATA connection on port 45931 07:51:22.800838 < "TYPE I" 07:51:22.800861 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:22.801014 < "SIZE verifiedserver" 07:51:22.801048 > "213 17[CR][LF]" 07:51:22.801185 < "RETR verifiedserver" 07:51:22.801211 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:22.801288 =====> Closing passive DATA connection... 07:51:22.801301 Server disconnects passive DATA connection 07:51:22.801478 Server disconnected passive DATA connection 07:51:22.801499 DATA sockfilt for passive data channel quits (pid 107753) 07:51:22.801668 DATA sockfilt for passive data channel quit (pid 107753) 07:51:22.801686 =====> Closed passive DATA connection 07:51:22.801708 > "226 File transfer complete[CR][LF]" 07:51:22.845454 < "QUIT" 07:51:22.845504 > "221 bye bye baby[CR][LF]" 07:51:22.846015 MAIN sockfilt said DISC 07:51:22.846058 ====> Client disconnected 07:51:22.846143 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:22.625866 ====> Client connect 07:51:22.626234 Received DATA (on stdin) 07:51:22.626255 > 160 bytes data, server => client 07:51:22.626269 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:22.626282 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:22.626292 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:22.626376 < 16 bytes data, client => server 07:51:22.626391 'USER anonymous\r\n' 07:51:22.626567 Received DATA (on stdin) 07:51:22.626581 > 33 bytes data, server => client 07:51:22.626593 '331 We are happy you popped in!\r\n' 07:51:22.626650 < 22 bytes data, client => server 07:51:22.626662 'PASS ftp@example.com\r\n' 07:51:22.626759 Received DATA (on stdin) 07:51:22.626769 > 30 bytes data, server => client 07:51:22.626778 '230 Welcome you silly person\r\n' 07:51:22.626815 < 5 bytes data, client => server 07:51:22.626824 'PWD\r\n' 07:51:22.626901 Received DATA (on stdin) 07:51:22.626910 > 30 bytes data, server => client 07:51:22.626918 '257 "/" is current directory\r\n' 07:51:22.626961 < 6 bytes data, client => server 07:51:22.626970 'EPSV\r\n' 07:51:22.628518 Received DATA (on stdin) 07:51:22.628529 > 39 bytes data, server => client 07:51:22.628538 '229 Entering Passive Mode (|||45931|)\r\n' 07:51:22.628703 < 8 bytes data, client => server 07:51:22.628713 'TYPE I\r\n' 07:51:22.628812 Received DATA (on stdin) 07:51:22.628823 > 33 bytes data, server => client 07:51:22.628833 '200 I modify TYPE as you wanted\r\n' 07:51:22.628878 < 21 bytes data, client => server 07:51:22.628890 'SIZE verifiedserver\r\n' 07:51:22.628992 Received DATA (on stdin) 07:51:22.629004 > 8 bytes data, server => client 07:51:22.629015 '213 17\r\n' 07:51:22.629059 < 21 bytes data, client => server 07:51:22.629070 'RETR verifiedserver\r\n' 07:51:22.629245 Received DATA (on stdin) 07:51:22.629255 > 29 bytes data, server => client 07:51:22.629263 '150 Binary junk (17 bytes).\r\n' 07:51:22.629650 Received DATA (on stdin) 07:51:22.629661 > 28 bytes data, server => client 07:51:22.629670 '226 File transfer complete\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/20/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:40357/581 > log/20/stdout581 2> log/20/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/14/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:34115/584 > log/14/stdout584 2> log/14/stderr584 n' 07:51:22.673216 < 6 bytes data, client => server 07:51:22.673241 'QUIT\r\n' 07:51:22.673461 Received DATA (on stdin) 07:51:22.673477 > 18 bytes data, server => client 07:51:22.673489 '221 bye bye baby\r\n' 07:51:22.673904 ====> Client disconnect 07:51:22.674097 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:22.628156 Running IPv4 version 07:51:22.628201 Listening on port 45931 07:51:22.628232 Wrote pid 107753 to log/6/server/ftp_sockdata.pid 07:51:22.628346 Received PING (on stdin) 07:51:22.628407 Received PORT (on stdin) 07:51:22.628627 ====> Client connect 07:51:22.629284 Received DATA (on stdin) 07:51:22.629295 > 17 bytes data, server => client 07:51:22.629304 'WE ROOLZ: 81211\r\n' 07:51:22.629325 Received DISC (on stdin) 07:51:22.629334 ====> Client forcibly disconnected 07:51:22.629447 Received QUIT (on stdin) 07:51:22.629456 quits 07:51:22.629501 ============> 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:41051/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==108046== ==108046== Process terminating with default action of signal 4 (SIGILL) ==108046== Illegal opcode at address 0x51D5F1F ==108046== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108046== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108046== by 0x51D5F1F: Curl_open (url.c:525) ==108046== by 0x514F6EF: curl_easy_init (easy.c:371) ==108046== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==108046== by 0x400347F: main (first.c:280) ==108046== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108046== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108046== by 0x51D5EBD: Curl_open (url.c:504) ==108046== by 0x514F6EF: curl_easy_init (easy.c:371) ==108046== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==108046== by 0x400347F: main (first.c:280) ==108046== === End of file valgrind576 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/20/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:40357/581 > log/20/stdout581 2> log/20/stderr581 581: 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/ dir 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/20/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:40357/581 > log/20/stdout581 2> log/20/stderr581 === End of file commands.log === Start of file http_server.log 07:51:22.649794 ====> Client connect 07:51:22.649826 accept_connection 3 returned 4 07:51:22.649843 accept_connection 3 returned 0 07:51:22.649857 Read 93 bytes 07:51:22.649868 Process 93 bytes request 07:51:22.649880 Got request: GET /verifiedserver HTTP/1.1 07:51:22.649890 Are-we-friendly question received 07:51:22.649915 Wrote request (93 bytes) input to log/20/server.input 07:51:22.649933 Identifying ourselves as friends 07:51:22.649991 Response sent (56 bytes) and written to log/20/server.response 07:51:22.650003 special request received, no persistency 07:51:22.650014 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 41466 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:40357/581 === End of file stderr581 === Start of file valgrind581 ==107861== ==107861== Process terminating with default action of signal 4 (SIGILL) ==107861== Illegal opcode at address 0x519E800 ==107861== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==107861== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==107861== by 0x519E800: Curl_multi_handle (multi.c:247) ==107861== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107861== by 0x400347F: main (first.c:280) ==107861== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==107861== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107861== by 0x519E794: Curl_multi_handle (multi.c:239) ==107861== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107861== by 0x400347F: main (first.c:280) ==107861== === End of file valgrind581 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/14/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:34115/584 > log/14/stdout584 2> log/14/stderr584 584: 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/ dir 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/14/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:34115/584 > log/14/stdout584 2> log/14/stderr584 === End of file commands.log === Start of file http_server.log 07:51:22.875011 ====> Client connect 07:51:22.875048 accept_connection 3 returned 4 07:51:22.875065 accept_connection 3 returned 0 07:51:22.875080 Read 93 bytes 07:51:22.875091 Process 93 bytes request 07:51:22.875105 Got request: GET /verifiedserver HTTP/1.1 07:51:22.875116 Are-we-friendly question received 07:51:22.875140 Wrote request (93 bytes) input to log/14/server.input 07:51:22.875157 Identifying ourselves as friends 07:51:22.875216 Response sent (56 bytes) and written to log/14/server.response 07:51:22.875226 special request received, no persistency 07:51:22.875236 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:34115/584 === End of file stderr584 === Start of file valgrind584 ==108149== ==108149== Process terminating with default action of signal 4 (SIGILL) ==108149== Illegal opcode at address 0x51D5F1F ==108149== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108149== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108149== by 0x51D5F1F: Curl_open (url.c:525) ==108149== by 0x514F6EF: curl_easy_init (easy.c:371) ==108149== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108149== by 0x400347F: CMD (33792): ../libtool --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/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:39661/585 > log/7/stdout585 2> log/7/stderr585 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/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:38023/587 > log/12/stdout587 2> log/12/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/9/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:33709/586 > log/9/stdout586 2> log/9/stderr586 main (first.c:280) ==108149== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108149== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108149== by 0x51D5EBD: Curl_open (url.c:504) ==108149== by 0x514F6EF: curl_easy_init (easy.c:371) ==108149== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108149== by 0x400347F: main (first.c:280) ==108149== === End of file valgrind584 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/7/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:39661/585 > log/7/stdout585 2> log/7/stderr585 585: 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/ dir 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/7/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:39661/585 > log/7/stdout585 2> log/7/stderr585 === End of file commands.log === Start of file http_server.log 07:51:23.882580 ====> Client connect 07:51:23.882617 accept_connection 3 returned 4 07:51:23.882633 accept_connection 3 returned 0 07:51:23.882649 Read 93 bytes 07:51:23.882660 Process 93 bytes request 07:51:23.882673 Got request: GET /verifiedserver HTTP/1.1 07:51:23.882682 Are-we-friendly question received 07:51:23.882701 Wrote request (93 bytes) input to log/7/server.input 07:51:23.882715 Identifying ourselves as friends 07:51:23.882762 Response sent (56 bytes) and written to log/7/server.response 07:51:23.882770 special request received, no persistency 07:51:23.882778 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 43686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:39661/585 === End of file stderr585 === Start of file valgrind585 ==108159== ==108159== Process terminating with default action of signal 4 (SIGILL) ==108159== Illegal opcode at address 0x51D5F1F ==108159== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108159== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108159== by 0x51D5F1F: Curl_open (url.c:525) ==108159== by 0x514F6EF: curl_easy_init (easy.c:371) ==108159== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108159== by 0x400347F: main (first.c:280) ==108159== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108159== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108159== by 0x51D5EBD: Curl_open (url.c:504) ==108159== by 0x514F6EF: curl_easy_init (easy.c:371) ==108159== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108159== by 0x400347F: main (first.c:280) ==108159== === End of file valgrind585 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/9/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:33709/586 > log/9/stdout586 2> log/9/stderr586 586: 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/ dir 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/9/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:33709/586 > log/9/stdout586 2> log/9/stderr586 === End of file commands.log === Start of file ftp_server.log 07:51:23.236731 ====> Client connect 07:51:23.236885 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.237171 < "USER anonymous" 07:51:23.237210 > "331 We are happy you popped in![CR][LF]" 07:51:23.237389 < "PASS ftp@example.com" 07:51:23.237416 > "230 Welcome you silly person[CR][LF]" 07:51:23.237576 < "PWD" 07:51:23.237604 > "257 "/" is current directory[CR][LF]" 07:51:23.237847 < "EPSV" 07:51:23.237879 ====> Passive DATA channel requested by client 07:51:23.237890 DATA sockfilt for passive data channel starting... 07:51:23.239227 DATA sockfilt for passive data channel started (pid 108297) 07:51:23.239352 DATA sockfilt for passive data channel listens on port 34737 07:51:23.239401 > "229 Entering Passive Mode (|||34737|)[CR][LF]" 07:51:23.239424 Client has been notified that DATA conn will be accepted on port 34737 07:51:23.239631 Client connects to port 34737 07:51:23.239661 ====> Client established passive DATA connection on port 34737 07:51:23.239787 < "TYPE I" 07:51:23.239819 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.239983 < "SIZE verifiedserver" 07:51:23.240015 > "213 17[CR][LF]" 07:51:23.240149 < "RETR verifiedserver" 07:51:23.240176 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.240253 =====> Closing passive DATA connection... 07:51:23.240269 Server disconnects passive DATA connection 07:51:23.240434 Server disconnected passive DATA connection 07:51:23.240460 DATA sockfilt for passive data channel quits (pid 108297) 07:51:23.240630 DATA sockfilt for passive data channel quit (pid 108297) 07:51:23.240649 =====> Closed passive DATA connection 07:51:23.240670 > "226 File transfer complete[CR][LF]" 07:51:23.281679 < "QUIT" 07:51:23.281734 > "221 bye bye baby[CR][LF]" 07:51:23.282118 MAIN sockfilt said DISC 07:51:23.282154 ====> Client disconnected 07:51:23.282210 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.064583 ====> Client connect 07:51:23.064847 Received DATA (on stdin) 07:51:23.064864 > 160 bytes data, server => client 07:51:23.064878 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.064890 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.064901 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.064972 < 16 bytes data, client => server 07:51:23.064988 'USER anonymous\r\n' 07:51:23.065161 Received DATA (on stdin) 07:51:23.065175 > 33 bytes data, server => client 07:51:23.065187 '331 We are happy you popped in!\r\n' 07:51:23.065239 < 22 bytes data, client => server 07:51:23.065252 'PASS ftp@example.com\r\n' 07:51:23.065362 Received DATA (on stdin) 07:51:23.065374 > 30 bytes data, server => client 07:51:23.065386 '230 Welcome you silly person\r\n' 07:51:23.065436 < 5 bytes data, client => server 07:51:23.065452 'PWD\r\n' 07:51:23.065545 Received DATA (on stdin) 07:51:23.065573 > 30 bytes data, server => client 07:51:23.065584 '257 "/" is current directory\r\n' 07:51:23.065671 < 6 bytes data, client => server 07:51:23.065681 'EPSV\r\n' 07:51:23.067378 Received DATA (on stdin) 07:51:23.067394 > 39 bytes data, server => client 07:51:23.067406 '229 Entering Passive Mode (|||34737|)\r\n' 07:51:23.067626 < 8 bytes data, client => server 07:51:23.067639 'TYPE I\r\n' 07:51:23.067767 Received DATA (on stdin) 07:51:23.067780 > 33 bytes data, server => client 07:51:23.067792 '200 I modify TYPE as you wanted\r\n' 07:51:23.067CMD (33792): ../libtool --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/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:37071/path/588 log/4/upload588 > log/4/stdout588 2> log/4/stderr588 846 < 21 bytes data, client => server 07:51:23.067858 'SIZE verifiedserver\r\n' 07:51:23.067958 Received DATA (on stdin) 07:51:23.067969 > 8 bytes data, server => client 07:51:23.067979 '213 17\r\n' 07:51:23.068020 < 21 bytes data, client => server 07:51:23.068030 'RETR verifiedserver\r\n' 07:51:23.068218 Received DATA (on stdin) 07:51:23.068230 > 29 bytes data, server => client 07:51:23.068242 '150 Binary junk (17 bytes).\r\n' 07:51:23.068617 Received DATA (on stdin) 07:51:23.068629 > 28 bytes data, server => client 07:51:23.068639 '226 File transfer complete\r\n' 07:51:23.109420 < 6 bytes data, client => server 07:51:23.109448 'QUIT\r\n' 07:51:23.109692 Received DATA (on stdin) 07:51:23.109708 > 18 bytes data, server => client 07:51:23.109720 '221 bye bye baby\r\n' 07:51:23.110009 ====> Client disconnect 07:51:23.110151 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.067004 Running IPv4 version 07:51:23.067059 Listening on port 34737 07:51:23.067093 Wrote pid 108297 to log/9/server/ftp_sockdata.pid 07:51:23.067114 Received PING (on stdin) 07:51:23.067205 Received PORT (on stdin) 07:51:23.067530 ====> Client connect 07:51:23.068267 Received DATA (on stdin) 07:51:23.068281 > 17 bytes data, server => client 07:51:23.068292 'WE ROOLZ: 81212\r\n' 07:51:23.068317 Received DISC (on stdin) 07:51:23.068331 ====> Client forcibly disconnected 07:51:23.068409 Received QUIT (on stdin) 07:51:23.068419 quits 07:51:23.068466 ============> 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:33709/586 === End of file stderr586 === Start of file valgrind586 ==108392== ==108392== Process terminating with default action of signal 4 (SIGILL) ==108392== Illegal opcode at address 0x51D5F1F ==108392== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108392== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108392== by 0x51D5F1F: Curl_open (url.c:525) ==108392== by 0x514F6EF: curl_easy_init (easy.c:371) ==108392== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108392== by 0x400347F: main (first.c:280) ==108392== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108392== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108392== by 0x51D5EBD: Curl_open (url.c:504) ==108392== by 0x514F6EF: curl_easy_init (easy.c:371) ==108392== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108392== by 0x400347F: main (first.c:280) ==108392== === End of file valgrind586 test 0588...[FTP PORT upload using multi interface, EPRT doesn't 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/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:37071/path/588 log/4/upload588 > log/4/stdout588 2> log/4/stderr588 588: 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/ dir 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/4/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:37071/path/588 log/4/upload588 > log/4/stdout588 2> log/4/stderr588 === End of file commands.log === Start of file ftp_server.log 07:51:23.238708 ====> Client connect 07:51:23.238842 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.239083 < "USER anonymous" 07:51:23.239120 > "331 We are happy you popped in![CR][LF]" 07:51:23.239298 < "PASS ftp@example.com" 07:51:23.239323 > "230 Welcome you silly person[CR][LF]" 07:51:23.239477 < "PWD" 07:51:23.239508 > "257 "/" is current directory[CR][LF]" 07:51:23.239670 < "EPSV" 07:51:23.239694 ====> Passive DATA channel requested by client 07:51:23.239708 DATA sockfilt for passive data channel starting... 07:51:23.241234 DATA sockfilt for passive data channel started (pid 108298) 07:51:23.241336 DATA sockfilt for passive data channel listens on port 34687 07:51:23.241368 > "229 Entering Passive Mode (|||34687|)[CR][LF]" 07:51:23.241384 Client has been notified that DATA conn will be accepted on port 34687 07:51:23.241560 Client connects to port 34687 07:51:23.241582 ====> Client established passive DATA connection on port 34687 07:51:23.241640 < "TYPE I" 07:51:23.241661 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.241783 < "SIZE verifiedserver" 07:51:23.241812 > "213 17[CR][LF]" 07:51:23.241926 < "RETR verifiedserver" 07:51:23.241950 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.242013 =====> Closing passive DATA connection... 07:51:23.242026 Server disconnects passive DATA connection 07:51:23.242204 Server disconnected passive DATA connection 07:51:23.242226 DATA sockfilt for passive data channel quits (pid 108298) 07:51:23.242383 DATA sockfilt for passive data channel quit (pid 108298) 07:51:23.242400 =====> Closed passive DATA connection 07:51:23.242421 > "226 File transfer complete[CR][LF]" 07:51:23.288145 < "QUIT" 07:51:23.288187 > "221 bye bye baby[CR][LF]" 07:51:23.289146 MAIN sockfilt said DISC 07:51:23.289191 ====> Client disconnected 07:51:23.289257 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.066550 ====> Client connect 07:51:23.066798 Received DATA (on stdin) 07:51:23.066811 > 160 bytes data, server => client 07:51:23.066823 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.066833 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.066844 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.066908 < 16 bytes data, client => server 07:51:23.066920 'USER anonymous\r\n' 07:51:23.067071 Received DATA (on stdin) 07:51:23.067084 > 33 bytes data, server => client 07:51:23.067096 '331 We are happy you popped in!\r\n' 07:51:23.067151 < 22 bytes data, client => server 07:51:23.067163 'PASS ftp@example.com\r\n' 07:51:23.067268 Received DATA (on stdin) 07:51:23.067281 > 30 bytes data, server => client 07:51:23.067292 '230 Welcome you silly person\r\n' 07:51:23.067341 < 5 bytes data, client => server 07:51:23.067353 'PWD\r\n' 07:51:23.067454 Received DATA (on stdin) 07:51:23.067467 > 30 bytes data, server => client 07:51:23.067479 '257 "/" is current directory\r\n' 07:51:23.067530 < 6 bytes data, client => server 07:51:23.067543 'EPSV\r\n' 07:51:23.069330 Received DATA (on stdin) 07:51:23.069341 > 39 bytes data, server => client 07:51:23.069350 '229 Entering Passive Mode (|||34687|)\r\n' 07:51:23.069436 < 8 bytes data, client => server 07:51:23.069448 'TYPE I\r\n' 07:51:23.069603 Received DATA (on stdin) 07:51:23.069613 > 33 bytes data, server => client 07:51:23.069622 '200 I modify TYPE as you wanted\r\n' 07:51:23.069660 < 21 bytes data, client => server 07:51:23.069669 'SIZE verifiedserver\r\n' 07:51:23.069753 Received DATA (on stdin) 07:51:23.069762 > 8 bytes data, server => client 07:51:23.069771 '213 17\r\n' 07:51:23.069806 < 21 bytes data, client => server 07:51:23.069815 'RETR verifiedserver\r\n' 07:51:23.069968 Received DATA (on stdin) 07:51:23.069978 > 29 bytes data, server => client 07:51:23.069987 '150 Binary junk (17 bytes).\r\n' 07:51:23.070364 Received DATA (on stdin) 07:51:23.070375 > 28 bytes data, server => client 07:51:23.070384 '226 File transfer complete\r\n' 07:51:23.115948 < 6 bytes data, client => server 07:51:23.115970 'QUIT\r\n' 07:51:23.116133 Received DATA (on stdin) 07:51:23.116143 > 18 bytes data, server => client 07:51:23.116152 '221 bye bye baby\r\n' 07:51:23.116835 ====> Client disconnect 07:51:23.117204 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.069038 Rcannot 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/19/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:34835/589 > log/19/stdout589 2> log/19/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/22/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:40377 > log/22/stdout590 2> log/22/stderr590 unning IPv4 version 07:51:23.069084 Listening on port 34687 07:51:23.069112 Wrote pid 108298 to log/4/server/ftp_sockdata.pid 07:51:23.069128 Received PING (on stdin) 07:51:23.069209 Received PORT (on stdin) 07:51:23.069464 ====> Client connect 07:51:23.070006 Received DATA (on stdin) 07:51:23.070017 > 17 bytes data, server => client 07:51:23.070026 'WE ROOLZ: 80637\r\n' 07:51:23.070044 Received DISC (on stdin) 07:51:23.070054 ====> Client forcibly disconnected 07:51:23.070173 Received QUIT (on stdin) 07:51:23.070183 quits 07:51:23.070224 ============> 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:37071/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==108409== ==108409== Process terminating with default action of signal 4 (SIGILL) ==108409== Illegal opcode at address 0x51D5F1F ==108409== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108409== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108409== by 0x51D5F1F: Curl_open (url.c:525) ==108409== by 0x514F6EF: curl_easy_init (easy.c:371) ==108409== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==108409== by 0x400347F: main (first.c:280) ==108409== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108409== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108409== by 0x51D5EBD: Curl_open (url.c:504) ==108409== by 0x514F6EF: curl_easy_init (easy.c:371) ==108409== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==108409== by 0x400347F: main (first.c:280) ==108409== === 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/19/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:34835/589 > log/19/stdout589 2> log/19/stderr589 589: 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/ dir 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/19/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:34835/589 > log/19/stdout589 2> log/19/stderr589 === End of file commands.log === Start of file http_server.log 07:51:23.093840 ====> Client connect 07:51:23.093864 accept_connection 3 returned 4 07:51:23.093876 accept_connection 3 returned 0 07:51:23.093887 Read 93 bytes 07:51:23.093895 Process 93 bytes request 07:51:23.093905 Got request: GET /verifiedserver HTTP/1.1 07:51:23.093912 Are-we-friendly question received 07:51:23.093929 Wrote request (93 bytes) input to log/19/server.input 07:51:23.093941 Identifying ourselves as friends 07:51:23.093979 Response sent (56 bytes) and written to log/19/server.response 07:51:23.093987 special request received, no persistency 07:51:23.093994 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 47668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:34835/589 === End of file stderr589 === Start of file valgrind589 ==108364== ==108364== Process terminating with default action of signal 4 (SIGILL) ==108364== Illegal opcode at address 0x51D5F1F ==108364== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108364== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108364== by 0x51D5F1F: Curl_open (url.c:525) ==108364== by 0x514F6EF: curl_easy_init (easy.c:371) ==108364== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108364== by 0x400347F: main (first.c:280) ==108364== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108364== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108364== by 0x51D5EBD: Curl_open (url.c:504) ==108364== by 0x514F6EF: curl_easy_init (easy.c:371) ==108364== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108364== by 0x400347F: main (first.c:280) ==108364== === End of file valgrind589 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/22/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:40377 > log/22/stdout590 2> log/22/stderr590 590: 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/ dir 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/22/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:40377 > log/22/stdout590 2> log/22/stderr590 === End of file commands.log === Start of file http_server.log 07:51:23.187349 ====> Client connect 07:51:23.187379 accept_connection 3 returned 4 07:51:23.187394 accept_connection 3 returned 0 07:51:23.187406 Read 93 bytes 07:51:23.187415 Process 93 bytes request 07:51:23.187426 Got request: GET /verifiedserver HTTP/1.1 07:51:23.187435 Are-we-friendly question received 07:51:23.187456 Wrote request (93 bytes) input to log/22/server.input 07:51:23.187469 Identifying ourselves as friends 07:51:23.187517 Response sent (56 bytes) and written to log/22/server.response 07:51:23.187526 special request received, no persistency 07:51:23.187534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 46006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === 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 ==108526== ==108526== Process terminating with default action of signal 4 (SIGILL) ==108526== Illegal opcode at address 0x51D5F1F ==108526== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108526== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108526== by 0x51D5F1F: Curl_open (url.c:525) ==108526== by 0x514F6EF: curl_easy_init (easy.c:371) ==108526== by 0x402207F: test_lib590.lto_priv.0 (lib590.c:53) ==108526== by 0x400347F: main (first.c:280) ==108526== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108526== at 0x51cannot 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/24/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:44233/567 > log/24/stdout567 2> log/24/stderr567 CMD (33792): ../libtool --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:41313/568 log/2/file568.txt > log/2/stdout568 2> log/2/stderr568 CMD (33792): ../libtool --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/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:36589/570 > log/11/stdout570 2> log/11/stderr570 0AC13: calloc (vg_replace_malloc.c:1675) ==108526== by 0x51D5EBD: Curl_open (url.c:504) ==108526== by 0x514F6EF: curl_easy_init (easy.c:371) ==108526== by 0x402207F: test_lib590.lto_priv.0 (lib590.c:53) ==108526== by 0x400347F: main (first.c:280) ==108526== === End of file valgrind590 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 107422 port 44233 * pid rtsp => 107422 107422 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:44233/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/ dir 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:44233/567 > log/24/stdout567 2> log/24/stderr567 === End of file commands.log === Start of file rtsp_server.log 07:51:22.293726 Running IPv4 version on port 44233 07:51:22.293844 Wrote pid 107422 to log/24/server/rtsp_server.pid 07:51:22.293881 Wrote port 44233 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:44233/567 === End of file stderr567 === Start of file valgrind567 ==108584== ==108584== Process terminating with default action of signal 4 (SIGILL) ==108584== Illegal opcode at address 0x51D5F1F ==108584== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108584== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108584== by 0x51D5F1F: Curl_open (url.c:525) ==108584== by 0x514F6EF: curl_easy_init (easy.c:371) ==108584== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==108584== by 0x400347F: main (first.c:280) ==108584== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108584== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108584== by 0x51D5EBD: Curl_open (url.c:504) ==108584== by 0x514F6EF: curl_easy_init (easy.c:371) ==108584== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==108584== by 0x400347F: main (first.c:280) ==108584== === End of file valgrind567 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 107425 port 41313 * pid rtsp => 107425 107425 test 0568...[RTSP Announce (PUT and POST style) 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/2/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:41313/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/ dir 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:41313/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=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps e=mjh@isi.edu (Mark Handley) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 === End of file file568.txt === Start of file rtsp_server.log 07:51:22.300730 Running IPv4 version on port 41313 07:51:22.300838 Wrote pid 107425 to log/2/server/rtsp_server.pid 07:51:22.300873 Wrote port 41313 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:41313/568 === End of file stderr568 === Start of file valgrind568 ==108602== ==108602== Process terminating with default action of signal 4 (SIGILL) ==108602== Illegal opcode at address 0x51D5F1F ==108602== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108602== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108602== by 0x51D5F1F: Curl_open (url.c:525) ==108602== by 0x514F6EF: curl_easy_init (easy.c:371) ==108602== by 0x401EE1E: test_lib568.lto_priv.0 (lib568.c:48) ==108602== by 0x400347F: main (first.c:280) ==108602== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108602== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108602== by 0x51D5EBD: Curl_open (url.c:504) ==108602== by 0x514F6EF: curl_easy_init (easy.c:371) ==108602== by 0x401EE1E: test_lib568.lto_priv.0 (lib568.c:48) ==108602== by 0x400347F: main (first.c:280) ==108602== === End of file valgrind568 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 107537 port 36589 * pid rtsp => 107537 107537 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/11/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:36589/570 > log/11/stdout570 2> log/11/stderr570 570: 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/ dir 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/11/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:36589/570 > log/11/stdout570 2> log/11/stderr570 === End of file commands.log === Start of file rtsp_server.log 07:51:22.356281 Running IPv4 version on port 36589 07:51:22.356383 Wrote pid 107537 to log/11/server/rtsp_server.pid 07:51:22.356419 Wrote port 36589 to log/11/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:36589/570 === End of file stderr570 === Start of file valgrind570 ==108752== ==108752== Process terminating with default action of signal 4 (SIGILL) ==108752== Illegal opcode at address 0x51D5F1F ==108752== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108752== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108752== by 0x51D5F1F: Curl_open (url.c:525) ==108752== by 0x514F6EF: curl_easy_init (easy.c:371) ==108752== by 0x401E66A: test_lib570.lto_priv.0 (lib570.c:41) ==108752== by 0x400347F: main (first.c:280) ==108752== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108752== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108752== by 0x51D5EBD: Curl_open (url.c:504) ==108752== by 0x514F6EF: curl_easy_init (easy.c:371) ==1087CMD (33792): ../libtool --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/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:40833/569 log/10/idfile569.txt > log/10/stdout569 2> log/10/stderr569 CMD (33792): ../libtool --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:33935/571 log/8/protofile571.txt > log/8/stdout571 2> log/8/stderr571 cannot find sshd 52== by 0x401E66A: test_lib570.lto_priv.0 (lib570.c:41) ==108752== by 0x400347F: main (first.c:280) ==108752== === End of file valgrind570 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_server.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107437 port 40833 * pid rtsp => 107437 107437 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/10/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:40833/569 log/10/idfile569.txt > log/10/stdout569 2> log/10/stderr569 569: 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/ dir 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/10/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:40833/569 log/10/idfile569.txt > log/10/stdout569 2> log/10/stderr569 === End of file commands.log === Start of file rtsp_server.log 07:51:22.307166 Running IPv4 version on port 40833 07:51:22.307255 Wrote pid 107437 to log/10/server/rtsp_server.pid 07:51:22.307289 Wrote port 40833 to log/10/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:40833/569 === End of file stderr569 === Start of file valgrind569 ==108624== ==108624== Process terminating with default action of signal 4 (SIGILL) ==108624== Illegal opcode at address 0x51D5F1F ==108624== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108624== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108624== by 0x51D5F1F: Curl_open (url.c:525) ==108624== by 0x514F6EF: curl_easy_init (easy.c:371) ==108624== by 0x401E2FE: test_lib569.lto_priv.0 (lib569.c:53) ==108624== by 0x400347F: main (first.c:280) ==108624== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108624== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108624== by 0x51D5EBD: Curl_open (url.c:504) ==108624== by 0x514F6EF: curl_easy_init (easy.c:371) ==108624== by 0x401E2FE: test_lib569.lto_priv.0 (lib569.c:53) ==108624== by 0x400347F: main (first.c:280) ==108624== === End of file valgrind569 CMD (33792): ../libtool --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/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:42965/path/564 127.0.0.1:42489 > log/1/stdout564 2> log/1/stderr564 cannot find sshd cannot find sshd 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 107554 port 33935 * pid rtsp => 107554 107554 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:33935/571 log/8/protofile571.txt > log/8/stdout571 2> log/8/stderr571 571: stdout FAILED: --- log/8/check-expected 2025-11-07 07:51:24.427373606 +0000 +++ log/8/check-generated 2025-11-07 07:51:24.427373606 +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/ dir 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:33935/571 log/8/protofile571.txt > log/8/stdout571 2> log/8/stderr571 === End of file commands.log === Start of file rtsp_server.log 07:51:22.371077 Running IPv4 version on port 33935 07:51:22.371180 Wrote pid 107554 to log/8/server/rtsp_server.pid 07:51:22.371218 Wrote port 33935 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:33935/571 === End of file stderr571 === Start of file valgrind571 ==108813== ==108813== Process terminating with default action of signal 4 (SIGILL) ==108813== Illegal opcode at address 0x51D5F1F ==108813== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108813== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108813== by 0x51D5F1F: Curl_open (url.c:525) ==108813== by 0x514F6EF: curl_easy_init (easy.c:371) ==108813== by 0x401E9AE: test_lib571.lto_priv.0 (lib571.c:110) ==108813== by 0x400347F: main (first.c:280) ==108813== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108813== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108813== by 0x51D5EBD: Curl_open (url.c:504) ==108813== by 0x514F6EF: curl_easy_init (easy.c:371) ==108813== by 0x401E9AE: test_lib571.lto_priv.0 (lib571.c:110) ==108813== by 0x400347F: main (first.c:280) ==108813== === End of file valgrind571 cannot 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/21/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:44461/572 log/21/file572.txt > log/21/stdout572 2> log/21/stderr572 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 107502 * pid socks => 107502 107502 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/1/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:42965/path/564 127.0.0.1:42489 > log/1/stdout564 2> log/1/stderr564 564: stdout FAILED: --- log/1/check-expected 2025-11-07 07:51:24.434040273 +0000 +++ log/1/check-generated 2025-11-07 07:51:24.434040273 +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/1/ dir 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/1/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:42965/path/564 127.0.0.1:42489 > log/1/stdout564 2> log/1/stderr564 === End of file commands.log === Start of file ftp_server.log 07:51:22.431811 ====> Client connect 07:51:22.432001 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:22.432346 < "USER anonymous" 07:51:22.432395 > "331 We are happy you popped in![CR][LF]" 07:51:22.432572 < "PASS ftp@example.com" 07:51:22.432603 > "230 Welcome you silly person[CR][LF]" 07:51:22.432745 < "PWD" 07:51:22.432776 > "257 "/" is current directory[CR][LF]" 07:51:22.432925 < "EPSV" 07:51:22.432956 ====> Passive DATA channel requested by client 07:51:22.432969 DATA sockfilt for passive data channel starting... 07:51:22.437436 DATA sockfilt for passive data channel started (pid 107414) 07:51:22.437558 DATA sockfilt for passive data channel listens on port 40015 07:51:22.437600 > "229 Entering Passive Mode (|||40015|)[CR][LF]" 07:51:22.437620 Client has been notified that DATA conn will be accepted on port 40015 07:51:22.437864 Client connects to port 40015 07:51:22.437895 ====> Client established passive DATA connection on port 40015 07:51:22.438001 < "TYPE I" 07:51:22.438037 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:22.438220 < "SIZE verifiedserver" 07:51:22.438260 > "213 17[CR][LF]" 07:51:22.438482 < "RETR verifiedserver" 07:51:22.438540 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:22.438698 =====> Closing passive DATA connection... 07:51:22.438746 Server disconnects passive DATA connection 07:51:22.438813 Server disconnected passive DATA connection 07:51:22.438839 DATA sockfilt for passive data channel quits (pid 107414) 07:51:22.441118 DATA sockfilt for passive data channel quit (pid 107414) 07:51:22.441154 =====> Closed passive DATA connection 07:51:22.441192 > "226 File transfer complete[CR][LF]" 07:51:22.484357 < "QUIT" 07:51:22.484409 > "221 bye bye baby[CR][LF]" 07:51:22.485046 MAIN sockfilt said DISC 07:51:22.485079 ====> Client disconnected 07:51:22.485149 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:22.259621 ====> Client connect 07:51:22.259965 Received DATA (on stdin) 07:51:22.259981 > 160 bytes data, server => client 07:51:22.259994 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:22.260005 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:22.260015 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:22.260102 < 16 bytes data, client => server 07:51:22.260115 'USER anonymous\r\n' 07:51:22.260345 Received DATA (on stdin) 07:51:22.260359 > 33 bytes data, server => client 07:51:22.260371 '331 We are happy you popped in!\r\n' 07:51:22.260422 < 22 bytes data, client => server 07:51:22.260433 'PASS ftp@example.com\r\n' 07:51:22.260549 Received DATA (on stdin) 07:51:22.260561 > 30 bytes data, server => client 07:51:22.260572 '230 Welcome you silly person\r\n' 07:51:22.260614 < 5 bytes data, client => server 07:51:22.260625 'PWD\r\n' 07:51:22.260720 Received DATA (on stdin) 07:51:22.260731 > 30 bytes data, server => client 07:51:22.260741 '257 "/" is current directory\r\n' 07:51:22.260796 < 6 bytes data, client => server 07:51:22.260807 'EPSV\r\n' 07:51:22.265573 Received DATA (on stdin) 07:51:22.265587 > 39 bytes data, server => client 07:51:22.265599 '229 Entering Passive Mode (|||40015|)\r\n' 07:51:22.265755 < 8 bytes data, client => server 07:51:22.265768 'TYPE I\r\n' 07:51:22.265986 Received DATA (on stdin) 07:51:22.266000 > 33 bytes data, server => client 07:51:22.266012 '200 I modify TYPE as you wanted\r\n' 07:51:22.266070 < 21 bytes data, client => server 07:51:22.266085 'SIZE verifiedserver\r\n' 07:51:22.266211 Received DATA (on stdin) 07:51:22.266227 > 8 bytes data, server => client 07:51:22.266238 '213 17\r\n' 07:51:22.266317 < 21 bytes data, client => server 07:51:22.266333 'RETR verifiedserver\r\n' 07:51:22.266755 Received DATA (on stdin) 07:51:22.266770 > 29 bytes data, server => client 07:51:22.266785 '150 Binary junk (17 bytes).\r\n' 07:51:22.269152 Received DATA (on stdin) 07:51:22.269183 > 28 bytes data, server => client 07:51:22.269196 '226 File transfer complete\r\n' 07:51:22.312145 < 6 bytes data, client => server 07:51:22.312169 'QUIT\r\n' 07:51:22.312360 Received DATA (on stdin) 07:51:22.312374 > 18 bytes data, server => client 07:51:22.312387 '221 bye bye baby\r\n' 07:51:22.312940 ====> Client disconnect 07:51:22.313100 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:22.264262 Running IPv4 version 07:51:22.264336 Listening on port 40015 07:51:22.264374 Wrote pid 107414 to log/1/server/ftp_sockdata.pid 07:51:22.265308 Received PING (on stdin) 07:51:22.265417 Received PORT (on stdin) 07:51:22.265724 ====> Client connect 07:51:22.266644 Received DATA (on stdin) 07:51:22.266663 > 17 bytes data, server => client 07:51:22.266677 'WE ROOLZ: 83307\r\n' 07:51:22.266713 Received DISC (on stdin) 07:51:22.266727 ====> Client forcibly disconnected 07:51:22.266891 Received QUIT (on stdin) 07:51:22.266907 quits 07:51:22.266966 ============> 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 07:51:22.318171 Running IPv4 version 07:51:22.318276 Listening on port 42489 07:51:22.318312 Wrote pid 107502 to log/1/server/socks_server.pid 07:51:22.318342 Wrote port 42489 to log/1/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:42965/path/564 === End of file stderr564 === Start of file valgrind564 ==108697== ==108697== Process terminating with default action of signal 4 (SIGILL) ==108697== Illegal opcode at address 0x51D5F1F ==108697== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108697== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108697== by 0x51D5F1F: Curl_open (url.c:525) ==108697== by 0x514F6EF: curl_easy_init (easy.c:371) ==108697== by 0x40602F5: test_lib564.part.0.lto_priv.0 (lib564.c:43) ==108697== by 0x400347F: main (first.c:280) ==108697== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108697== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108697== by 0x51D5EBD: Curl_open (url.c:504) ==108697== by 0x514F6EF: curl_easy_init (easy.c:371) ==108697== by 0x40602F5: test_lib564.part.0.lto_priv.0 (lib564.c:43) ==108697== by 0x400347F: main (first.c:280) ==108697== === End of file valgrind564 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl -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/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:44771/path/591 8 log/17/upload591 > log/17/stdout591 2> log/17/stderr591 -pidfile "log/21/server/rtsp_server.pid" --portfile "log/21/server/rtsp_server.port" --logfile "log/21/rtsp_server.log" --logdir "log/21" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107567 port 44461 * pid rtsp => 107567 107567 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/21/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:44461/572 log/21/file572.txt > log/21/stdout572 2> log/21/stderr572 572: 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/ dir 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/21/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:44461/572 log/21/file572.txt > log/21/stdout572 2> log/21/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 07:51:22.382295 Running IPv4 version on port 44461 07:51:22.382389 Wrote pid 107567 to log/21/server/rtsp_server.pid 07:51:22.382424 Wrote port 44461 to log/21/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:44461/572 === End of file stderr572 === Start of file valgrind572 ==108844== ==108844== Process terminating with default action of signal 4 (SIGILL) ==108844== Illegal opcode at address 0x51D5F1F ==108844== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108844== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108844== by 0x51D5F1F: Curl_open (url.c:525) ==108844== by 0x514F6EF: curl_easy_init (easy.c:371) ==108844== by 0x401F39E: test_lib572.lto_priv.0 (lib572.c:48) ==108844== by 0x400347F: main (first.c:280) ==108844== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108844== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108844== by 0x51D5EBD: Curl_open (url.c:504) ==108844== by 0x514F6EF: curl_easy_init (easy.c:371) ==108844== by 0x401F39E: test_lib572.lto_priv.0 (lib572.c:48) ==108844== by 0x400347F: main (first.c:280) ==108844== === End of file valgrind572 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/17/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:44771/path/591 8 log/17/upload591 > log/17/stdout591 2> log/17/stderr591 591: 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/ dir 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/17/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:44771/path/591 8 log/17/upload591 > log/17/stdout591 2> log/17/stderr591 === End of file commands.log === Start of file ftp_server.log 07:51:23.550219 ====> Client connect 07:51:23.550367 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.550798 < "USER anonymous" 07:51:23.550841 > "331 We are happy you popped in![CR][LF]" 07:51:23.551070 < "PASS ftp@example.com" 07:51:23.551099 > "230 Welcome you silly person[CR][LF]" 07:51:23.551276 < "PWD" 07:51:23.551312 > "257 "/" is current directory[CR][LF]" 07:51:23.551560 < "EPSV" 07:51:23.551629 ====> Passive DATA channel requested by client 07:51:23.551645 DATA sockfilt for passive data channel starting... 07:51:23.554130 DATA sockfilt for passive data channel started (pid 108850) 07:51:23.554294 DATA sockfilt for passive data channel listens on port 32969 07:51:23.554357 > "229 Entering Passive Mode (|||32969|)[CR][LF]" 07:51:23.554379 Client has been notified that DATA conn will be accepted on port 32969 07:51:23.554735 Client connects to port 32969 07:51:23.554771 ====> Client established passive DATA connection on port 32969 07:51:23.554873 < "TYPE I" 07:51:23.554912 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.555156 < "SIZE verifiedserver" 07:51:23.555208 > "213 17[CR][LF]" 07:51:23.555410 < "RETR verifiedserver" 07:51:23.555465 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.555573 =====> Closing passive DATA connection... 07:51:23.555593 Server disconnects passive DATA connection 07:51:23.555902 Server disconnected passive DATA connection 07:51:23.555936 DATA sockfilt for passive data channel quits (pid 108850) 07:51:23.556702 DATA sockfilt for passive data channel quit (pid 108850) 07:51:23.556734 =====> Closed passive DATA connection 07:51:23.556768 > "226 File transfer complete[CR][LF]" 07:51:23.602457 < "QUIT" 07:51:23.602516 > "221 bye bye baby[CR][LF]" 07:51:23.603850 MAIN sockfilt said DISC 07:51:23.604083 ====> Client disconnected 07:51:23.604689 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.378067 ====> Client connect 07:51:23.378327 Received DATA (on stdin) 07:51:23.378360 > 160 bytes data, server => client 07:51:23.378376 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.378388 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.378400 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.378519 < 16 bytes data, client => server 07:51:23.378543 'USER anonymous\r\n' 07:51:23.378816 Received DATA (on stdin) 07:51:23.378831 > 33 bytes data, server => client 07:51:23.378844 '331 We are happy you popped in!\r\n' 07:51:23.378914 < 22 bytes data, client => server 07:51:23.378927 'PASS ftp@example.com\r\n' 07:51:23.379045 Received DATA (on stdin) 07:51:23.379058 > 30 bytes data, server => client 07:51:23.379069 '230 Welcome you silly person\r\n' 07:51:23.379120 < 5 bytes data, client => server 07:51:23.379132 'PWD\r\n' 07:51:23.379260 Received DATA (on stdin) 07:51:23.379273 > 30 bytes data, server => client 07:51:23.379284 '257 "/" is current directory\r\n' 07:51:23.379355 < 6 bytes data, client => server 07:51:23.379368 'EPSV\r\n' 07:51:23.382340 Received DATA (on stdin) 07:51:23.382360 > 39 bytes data, server => client 07:51:23.382373 '229 Entering Passive Mode (|||32969|)\r\n' 07:51:23.382621 < 8 bytes data, client => server 07:51:23.382637 'TYPE I\r\n' 07:51:23.382866 Received DATA (on stdin) 07:51:23.382880 > 33 bytes data, server => client 07:51:23.382892 '200 I modify TYPE as you wanted\r\n' 07:51:23.382970 < 21 bytes data, client => server 07:51:23.382997 'SIZE verifiedserver\r\n' 07:51:23.383160 Received DATA (on stdin) 07:51:23.383174 > 8 bytes data, server => client 07:51:23.383186 '213 17\r\n' 07:51:23.383249 < 21 bytes data, client => server 07:51:23.383265 'RETR verifiedserver\r\n' 07:51:23.383545 Received DATA (on stdin) 07:51:23.383560 > 29 bytes data, server => client 07:51:23.383572 '150 Binary junk (17 bytes).\r\n' 07:51:23.384724 Received DATA (on stdin) 07:51:23.384739 > 28 bytes data, server => client 07:51:23.384752 '226 File transfer complete\r\n' 07:51:23.430169 < 6 bytes data, client => server 07:51:23.430202 'QUIT\r\n' 07:51:23.430471 Received DATA (on stdin) 07:51:23.430487 > 18 bytes data, server => client 07:51:23.430499 '221 bye bye baby\r\n' 07:51:23.431166 ====> Client disconnect 07:51:23.432137 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.381856 Running IPv4 version 07:51:23.381940 Listening on port 32969 07:51:23.381982 Wrote pid 108850 to log/17/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/13/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:33699/path/592 8 log/13/upload592 > log/13/stdout592 2> log/13/stderr592 /ftp_sockdata.pid 07:51:23.382009 Received PING (on stdin) 07:51:23.382118 Received PORT (on stdin) 07:51:23.382581 ====> Client connect 07:51:23.383604 Received DATA (on stdin) 07:51:23.383622 > 17 bytes data, server => client 07:51:23.383634 'WE ROOLZ: 80557\r\n' 07:51:23.383665 Received DISC (on stdin) 07:51:23.383679 ====> Client forcibly disconnected 07:51:23.383902 Received QUIT (on stdin) 07:51:23.383920 quits 07:51:23.383993 ============> 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:44771/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==108942== ==108942== Process terminating with default action of signal 4 (SIGILL) ==108942== Illegal opcode at address 0x51D5F1F ==108942== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108942== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108942== by 0x51D5F1F: Curl_open (url.c:525) ==108942== by 0x514F6EF: curl_easy_init (easy.c:371) ==108942== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==108942== by 0x400347F: main (first.c:280) ==108942== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108942== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108942== by 0x51D5EBD: Curl_open (url.c:504) ==108942== by 0x514F6EF: curl_easy_init (easy.c:371) ==108942== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==108942== by 0x400347F: main (first.c:280) ==108942== === End of file valgrind591 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/13/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:33699/path/592 8 log/13/upload592 > log/13/stdout592 2> log/13/stderr592 592: 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/ dir 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/13/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:33699/path/592 8 log/13/upload592 > log/13/stdout592 2> log/13/stderr592 === End of file commands.log === Start of file ftp_server.log 07:51:23.636792 ====> Client connect 07:51:23.636948 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.637254 < "USER anonymous" 07:51:23.637310 > "331 We are happy you popped in![CR][LF]" 07:51:23.637531 < "PASS ftp@example.com" 07:51:23.637566 > "230 Welcome you silly person[CR][LF]" 07:51:23.637793 < "PWD" 07:51:23.637847 > "257 "/" is current directory[CR][LF]" 07:51:23.641441 < "EPSV" 07:51:23.641472 ====> Passive DATA channel requested by client 07:51:23.641488 DATA sockfilt for passive data channel starting... 07:51:23.643365 DATA sockfilt for passive data channel started (pid 108991) 07:51:23.643463 DATA sockfilt for passive data channel listens on port 35043 07:51:23.643501 > "229 Entering Passive Mode (|||35043|)[CR][LF]" 07:51:23.643516 Client has been notified that DATA conn will be accepted on port 35043 07:51:23.643690 Client connects to port 35043 07:51:23.643716 ====> Client established passive DATA connection on port 35043 07:51:23.643814 < "TYPE I" 07:51:23.643840 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.643992 < "SIZE verifiedserver" 07:51:23.644043 > "213 17[CR][LF]" 07:51:23.644242 < "RETR verifiedserver" 07:51:23.644277 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.644363 =====> Closing passive DATA connection... 07:51:23.644378 Server disconnects passive DATA connection 07:51:23.644651 Server disconnected passive DATA connection 07:51:23.644680 DATA sockfilt for passive data channel quits (pid 108991) 07:51:23.644929 DATA sockfilt for passive data channel quit (pid 108991) 07:51:23.644953 =====> Closed passive DATA connection 07:51:23.644981 > "226 File transfer complete[CR][LF]" 07:51:23.688189 < "QUIT" 07:51:23.688237 > "221 bye bye baby[CR][LF]" 07:51:23.689189 MAIN sockfilt said DISC 07:51:23.689229 ====> Client disconnected 07:51:23.689302 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:24.464630 ====> Client connect 07:51:24.464911 Received DATA (on stdin) 07:51:24.464929 > 160 bytes data, server => client 07:51:24.464943 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:24.464955 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:24.464966 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:24.465043 < 16 bytes data, client => server 07:51:24.465059 'USER anonymous\r\n' 07:51:24.465269 Received DATA (on stdin) 07:51:24.465286 > 33 bytes data, server => client 07:51:24.465298 '331 We are happy you popped in!\r\n' 07:51:24.465356 < 22 bytes data, client => server 07:51:24.465371 'PASS ftp@example.com\r\n' 07:51:24.465516 Received DATA (on stdin) 07:51:24.465529 > 30 bytes data, server => client 07:51:24.465542 '230 Welcome you silly person\r\n' 07:51:24.465597 < 5 bytes data, client => server 07:51:24.465612 'PWD\r\n' 07:51:24.465872 Received DATA (on stdin) 07:51:24.465900 > 30 bytes data, server => client 07:51:24.465913 '257 "/" is current directory\r\n' 07:51:24.469261 < 6 bytes data, client => server 07:51:24.469286 'EPSV\r\n' 07:51:24.471464 Received DATA (on stdin) 07:51:24.471478 > 39 bytes data, server => client 07:51:24.471487 '229 Entering Passive Mode (|||35043|)\r\n' 07:51:24.471673 < 8 bytes data, client => server 07:51:24.471683 'TYPE I\r\n' 07:51:24.471782 Received DATA (on stdin) 07:51:24.471792 > 33 bytes data, server => client 07:51:24.471801 '200 I modify TYPE as you wanted\r\n' 07:51:24.471840 < 21 bytes data, client => server 07:51:24.471849 'SIZE verifiedserver\r\n' 07:51:24.471997 Received DATA (on stdin) 07:51:24.472016 > 8 bytes data, server => client 07:51:24.472028 '213 17\r\n' 07:51:24.472100 < 21 bytes data, client => server 07:51:24.472113 'RETR verifiedserver\r\n' 07:51:24.472327 Received DATA (on stdin) 07:51:24.472341 > 29 bytes data, server => client 07:51:24.472352 '150 Binary junk (17 bytes).\r\n' 07:51:24.472930 Received DATA (on stdin) 07:51:24.472944 > 28 bytes data, server => client 07:51:24.472956 '226 File transfer complete\r\n' 07:51:24.515972 < 6 bytes data, client => server 07:51:24.515996 'QUIT\r\n' 07:51:24.516190 Received DATA (on stdin) 07:51:24.516205 > 18 bytes data, server => client 07:51:24.516217 '221 bye bye baby\r\n' 07:51:24.517073 ====> Client disconnect 07:51:24.517321 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.471001 Running IPv4 version 07:51:23.471061 Listening on port 35043 07:51:23.471097 Wrote pid 108991 to log/13/server/ftp_sockdata.pid 07:51:23.471261 Received PING (on stdin) 07:51:23.471329 Received PORT (on stdin) 07:51:23.471593 ====> Client connect 07:51:23.472383 Received DATA (on stdin) 07:51:23.472400 > 17 bytes data, server => client 07:51:23.472416 'WE ROOLZ: 80695\r\n' 07:51:23.472442 Received DISC (on stdin) 07:51:23.472454 ====> Client forcibly disconnected 07:51:23.472636 Received QUIT (on stdin) 07:51:23.472649 quits 07:51:23.472706 ============> 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:33699/path/592 === End of file stderr592 === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Starcannot 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/20/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:33651 > log/20/stdout597 2> log/20/stderr597 CMD (33792): ../libtool --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/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41051/596 log/6/ip596 activeftp > log/6/stdout596 2> log/6/stderr596 t of file valgrind592 ==109089== ==109089== Process terminating with default action of signal 4 (SIGILL) ==109089== Illegal opcode at address 0x51D5F1F ==109089== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109089== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109089== by 0x51D5F1F: Curl_open (url.c:525) ==109089== by 0x514F6EF: curl_easy_init (easy.c:371) ==109089== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==109089== by 0x400347F: main (first.c:280) ==109089== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==109089== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109089== by 0x51D5EBD: Curl_open (url.c:504) ==109089== by 0x514F6EF: curl_easy_init (easy.c:371) ==109089== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==109089== by 0x400347F: main (first.c:280) ==109089== === End of file valgrind592 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/20/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:33651 > log/20/stdout597 2> log/20/stderr597 597: 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/ dir 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/20/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:33651 > log/20/stdout597 2> log/20/stderr597 === End of file commands.log === Start of file ftp_server.log 07:51:23.685404 ====> Client connect 07:51:23.685561 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.685838 < "USER anonymous" 07:51:23.685877 > "331 We are happy you popped in![CR][LF]" 07:51:23.686067 < "PASS ftp@example.com" 07:51:23.686097 > "230 Welcome you silly person[CR][LF]" 07:51:23.686269 < "PWD" 07:51:23.686301 > "257 "/" is current directory[CR][LF]" 07:51:23.686477 < "EPSV" 07:51:23.686503 ====> Passive DATA channel requested by client 07:51:23.686518 DATA sockfilt for passive data channel starting... 07:51:23.688259 DATA sockfilt for passive data channel started (pid 109083) 07:51:23.688368 DATA sockfilt for passive data channel listens on port 37139 07:51:23.688408 > "229 Entering Passive Mode (|||37139|)[CR][LF]" 07:51:23.688429 Client has been notified that DATA conn will be accepted on port 37139 07:51:23.688654 Client connects to port 37139 07:51:23.688682 ====> Client established passive DATA connection on port 37139 07:51:23.688762 < "TYPE I" 07:51:23.688789 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.688940 < "SIZE verifiedserver" 07:51:23.688977 > "213 17[CR][LF]" 07:51:23.689121 < "RETR verifiedserver" 07:51:23.689147 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.689222 =====> Closing passive DATA connection... 07:51:23.689238 Server disconnects passive DATA connection 07:51:23.689455 Server disconnected passive DATA connection 07:51:23.689483 DATA sockfilt for passive data channel quits (pid 109083) 07:51:23.689707 DATA sockfilt for passive data channel quit (pid 109083) 07:51:23.689731 =====> Closed passive DATA connection 07:51:23.689758 > "226 File transfer complete[CR][LF]" 07:51:23.735034 < "QUIT" 07:51:23.735086 > "221 bye bye baby[CR][LF]" 07:51:23.735278 MAIN sockfilt said DISC 07:51:23.735311 ====> Client disconnected 07:51:23.735385 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.513255 ====> Client connect 07:51:23.513523 Received DATA (on stdin) 07:51:23.513539 > 160 bytes data, server => client 07:51:23.513552 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.513564 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.513575 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.513644 < 16 bytes data, client => server 07:51:23.513659 'USER anonymous\r\n' 07:51:23.513829 Received DATA (on stdin) 07:51:23.513843 > 33 bytes data, server => client 07:51:23.513856 '331 We are happy you popped in!\r\n' 07:51:23.513909 < 22 bytes data, client => server 07:51:23.513923 'PASS ftp@example.com\r\n' 07:51:23.514047 Received DATA (on stdin) 07:51:23.514060 > 30 bytes data, server => client 07:51:23.514072 '230 Welcome you silly person\r\n' 07:51:23.514122 < 5 bytes data, client => server 07:51:23.514136 'PWD\r\n' 07:51:23.514249 Received DATA (on stdin) 07:51:23.514263 > 30 bytes data, server => client 07:51:23.514274 '257 "/" is current directory\r\n' 07:51:23.514333 < 6 bytes data, client => server 07:51:23.514347 'EPSV\r\n' 07:51:23.516381 Received DATA (on stdin) 07:51:23.516395 > 39 bytes data, server => client 07:51:23.516407 '229 Entering Passive Mode (|||37139|)\r\n' 07:51:23.516546 < 8 bytes data, client => server 07:51:23.516559 'TYPE I\r\n' 07:51:23.516735 Received DATA (on stdin) 07:51:23.516747 > 33 bytes data, server => client 07:51:23.516759 '200 I modify TYPE as you wanted\r\n' 07:51:23.516805 < 21 bytes data, client => server 07:51:23.516817 'SIZE verifiedserver\r\n' 07:51:23.516922 Received DATA (on stdin) 07:51:23.516934 > 8 bytes data, server => client 07:51:23.516945 '213 17\r\n' 07:51:23.516989 < 21 bytes data, client => server 07:51:23.517001 'RETR verifiedserver\r\n' 07:51:23.517186 Received DATA (on stdin) 07:51:23.517198 > 29 bytes data, server => client 07:51:23.517209 '150 Binary junk (17 bytes).\r\n' 07:51:23.517707 Received DATA (on stdin) 07:51:23.517720 > 28 bytes data, server => client 07:51:23.517732 '226 File transfer complete\r\n' 07:51:23.562813 < 6 bytes data, client => server 07:51:23.562839 'QUIT\r\n' 07:51:23.563041 Received DATA (on stdin) 07:51:23.563056 > 18 bytes data, server => client 07:51:23.563068 '221 bye bye baby\r\n' 07:51:23.563170 ====> Client disconnect 07:51:23.563336 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.516033 Running IPv4 version 07:51:23.516088 Listening on port 37139 07:51:23.516127 Wrote pid 109083 to log/20/server/ftp_sockdata.pid 07:51:23.516148 Received PING (on stdin) 07:51:23.516231 Received PORT (on stdin) 07:51:23.516518 ====> Client connect 07:51:23.517234 Received DATA (on stdin) 07:51:23.517247 > 17 bytes data, server => client 07:51:23.517259 'WE ROOLZ: 80551\r\n' 07:51:23.517284 Received DISC (on stdin) 07:51:23.517297 ====> Client forcibly disconnected 07:51:23.517441 Received QUIT (on stdin) 07:51:23.517454 quits 07:51:23.517507 ============> 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:33651 === End of file stderr597 === Start of file valgrind597 ==109241== ==109241== Process terminating with default action of signal 4 (SIGILL) ==109241== Illegal opcode at address 0x51D5F1F ==109241== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109241== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109241== by 0x51D5F1F: Curl_open (url.c:525) ==109241== by 0x514F6EF: curl_easy_init (easy.c:371) ==109241== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==109241== by 0x400347F: main (first.c:280) ==109241== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109241== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109241== by 0x51D5EBD: Curl_open (url.c:504) ==109241== by 0x514F6EF: curl_easy_init (easy.c:371) ==109241== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==109241== by 0x400347F: main (first.c:280) ==109241== === End of file valgrind597 test 0596...[verify close callbacks with active FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcCMD (33792): ../libtool --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:39237/595 log/23/ip595 > log/23/stdout595 2> log/23/stderr595 CMD (33792): ../libtool --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/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:37855/path/593 8 log/16/upload593 > log/16/stdout593 2> log/16/stderr593 heck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41051/596 log/6/ip596 activeftp > log/6/stdout596 2> log/6/stderr596 596: 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/ dir 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/6/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:41051/596 log/6/ip596 activeftp > log/6/stdout596 2> log/6/stderr596 === End of file commands.log === Start of file ftp_server.log 07:51:23.672267 ====> Client connect 07:51:23.672424 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.672686 < "USER anonymous" 07:51:23.672724 > "331 We are happy you popped in![CR][LF]" 07:51:23.672890 < "PASS ftp@example.com" 07:51:23.672916 > "230 Welcome you silly person[CR][LF]" 07:51:23.673057 < "PWD" 07:51:23.673086 > "257 "/" is current directory[CR][LF]" 07:51:23.673232 < "EPSV" 07:51:23.673253 ====> Passive DATA channel requested by client 07:51:23.673266 DATA sockfilt for passive data channel starting... 07:51:23.675504 DATA sockfilt for passive data channel started (pid 109068) 07:51:23.675646 DATA sockfilt for passive data channel listens on port 45175 07:51:23.675694 > "229 Entering Passive Mode (|||45175|)[CR][LF]" 07:51:23.675712 Client has been notified that DATA conn will be accepted on port 45175 07:51:23.675954 Client connects to port 45175 07:51:23.675986 ====> Client established passive DATA connection on port 45175 07:51:23.676079 < "TYPE I" 07:51:23.676109 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.676288 < "SIZE verifiedserver" 07:51:23.676331 > "213 17[CR][LF]" 07:51:23.676502 < "RETR verifiedserver" 07:51:23.676540 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.676623 =====> Closing passive DATA connection... 07:51:23.676641 Server disconnects passive DATA connection 07:51:23.677064 Server disconnected passive DATA connection 07:51:23.677098 DATA sockfilt for passive data channel quits (pid 109068) 07:51:23.677342 DATA sockfilt for passive data channel quit (pid 109068) 07:51:23.677368 =====> Closed passive DATA connection 07:51:23.677398 > "226 File transfer complete[CR][LF]" 07:51:23.721490 < "QUIT" 07:51:23.721537 > "221 bye bye baby[CR][LF]" 07:51:23.722331 MAIN sockfilt said DISC 07:51:23.722369 ====> Client disconnected 07:51:23.722440 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.500105 ====> Client connect 07:51:23.500380 Received DATA (on stdin) 07:51:23.500395 > 160 bytes data, server => client 07:51:23.500408 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.500419 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.500430 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.500501 < 16 bytes data, client => server 07:51:23.500513 'USER anonymous\r\n' 07:51:23.500672 Received DATA (on stdin) 07:51:23.500684 > 33 bytes data, server => client 07:51:23.500696 '331 We are happy you popped in!\r\n' 07:51:23.500744 < 22 bytes data, client => server 07:51:23.500755 'PASS ftp@example.com\r\n' 07:51:23.500860 Received DATA (on stdin) 07:51:23.500872 > 30 bytes data, server => client 07:51:23.500883 '230 Welcome you silly person\r\n' 07:51:23.500926 < 5 bytes data, client => server 07:51:23.500937 'PWD\r\n' 07:51:23.501029 Received DATA (on stdin) 07:51:23.501040 > 30 bytes data, server => client 07:51:23.501051 '257 "/" is current directory\r\n' 07:51:23.501102 < 6 bytes data, client => server 07:51:23.501113 'EPSV\r\n' 07:51:23.503668 Received DATA (on stdin) 07:51:23.503686 > 39 bytes data, server => client 07:51:23.503699 '229 Entering Passive Mode (|||45175|)\r\n' 07:51:23.503851 < 8 bytes data, client => server 07:51:23.503871 'TYPE I\r\n' 07:51:23.504057 Received DATA (on stdin) 07:51:23.504071 > 33 bytes data, server => client 07:51:23.504082 '200 I modify TYPE as you wanted\r\n' 07:51:23.504132 < 21 bytes data, client => server 07:51:23.504145 'SIZE verifiedserver\r\n' 07:51:23.504280 Received DATA (on stdin) 07:51:23.504294 > 8 bytes data, server => client 07:51:23.504305 '213 17\r\n' 07:51:23.504359 < 21 bytes data, client => server 07:51:23.504372 'RETR verifiedserver\r\n' 07:51:23.504590 Received DATA (on stdin) 07:51:23.504603 > 29 bytes data, server => client 07:51:23.504615 '150 Binary junk (17 bytes).\r\n' 07:51:23.505347 Received DATA (on stdin) 07:51:23.505361 > 28 bytes data, server => client 07:51:23.505373 '226 File transfer complete\r\n' 07:51:23.549278 < 6 bytes data, client => server 07:51:23.549301 'QUIT\r\n' 07:51:23.549486 Received DATA (on stdin) 07:51:23.549500 > 18 bytes data, server => client 07:51:23.549511 '221 bye bye baby\r\n' 07:51:23.550219 ====> Client disconnect 07:51:23.550387 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.503244 Running IPv4 version 07:51:23.503316 Listening on port 45175 07:51:23.503357 Wrote pid 109068 to log/6/server/ftp_sockdata.pid 07:51:23.503377 Received PING (on stdin) 07:51:23.503496 Received PORT (on stdin) 07:51:23.503850 ====> Client connect 07:51:23.504499 Received DATA (on stdin) 07:51:23.504513 > 17 bytes data, server => client 07:51:23.504524 'WE ROOLZ: 81211\r\n' 07:51:23.504588 Received DISC (on stdin) 07:51:23.504601 ====> Client forcibly disconnected 07:51:23.505057 Received QUIT (on stdin) 07:51:23.505071 quits 07:51:23.505134 ============> 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:41051/596 === End of file stderr596 === Start of file valgrind596 ==109173== ==109173== Process terminating with default action of signal 4 (SIGILL) ==109173== Illegal opcode at address 0x51D5F1F ==109173== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109173== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109173== by 0x51D5F1F: Curl_open (url.c:525) ==109173== by 0x514F6EF: curl_easy_init (easy.c:371) ==109173== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109173== by 0x400347F: main (first.c:280) ==109173== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109173== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109173== by 0x51D5EBD: Curl_open (url.c:504) ==109173== by 0x514F6EF: curl_easy_init (easy.c:371) ==109173== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109173== by 0x400347F: main (first.c:280) ==109173== === End of file valgrind596 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:39237/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/ dir 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:39237/595 log/23/ip595 > log/23/stdout595 2> log/23/stderr595 === End of file commands.log === Start of file ftp_server.log 07:51:23.666996 ====> Client connect 07:51:23.667136 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.667407 < "USER anonymous" 07:51:23.667445 > "331 We are happy you popped in![CR][LF]" 07:51:23.667612 < "PASS ftp@example.com" 07:51:23.667638 > "230 Welcome you silly person[CR][LF]" 07:51:23.667789 < "PWD" 07:51:23.667818 > "257 "/" is current directory[CR][LF]" 07:51:23.667986 < "EPSV" 07:51:23.668013 ====> Passive DATA channel requested by client 07:51:23.668027 DATA sockfilt for passive data channel starting... 07:51:23.669976 DATA sockfilt for passive data channel started (pid 109064) 07:51:23.670127 DATA sockfilt for passive data channel listens on port 39695 07:51:23.670184 > "229 Entering Passive Mode (|||39695|)[CR][LF]" 07:51:23.670208 Client has been notified that DATA conn will be accepted on port 39695 07:51:23.670497 Client connects to port 39695 07:51:23.670531 ====> Client established passive DATA connection on port 39695 07:51:23.670634 < "TYPE I" 07:51:23.670674 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.670870 < "SIZE verifiedserver" 07:51:23.670915 > "213 17[CR][LF]" 07:51:23.671085 < "RETR verifiedserver" 07:51:23.671119 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.671205 =====> Closing passive DATA connection... 07:51:23.671223 Server disconnects passive DATA connection 07:51:23.671410 Server disconnected passive DATA connection 07:51:23.671437 DATA sockfilt for passive data channel quits (pid 109064) 07:51:23.671655 DATA sockfilt for passive data channel quit (pid 109064) 07:51:23.671679 =====> Closed passive DATA connection 07:51:23.671710 > "226 File transfer complete[CR][LF]" 07:51:23.718260 < "QUIT" 07:51:23.718318 > "221 bye bye baby[CR][LF]" 07:51:23.719124 MAIN sockfilt said DISC 07:51:23.719185 ====> Client disconnected 07:51:23.719262 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.494851 ====> Client connect 07:51:23.495095 Received DATA (on stdin) 07:51:23.495111 > 160 bytes data, server => client 07:51:23.495124 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.495135 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.495145 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.495221 < 16 bytes data, client => server 07:51:23.495234 'USER anonymous\r\n' 07:51:23.495393 Received DATA (on stdin) 07:51:23.495406 > 33 bytes data, server => client 07:51:23.495417 '331 We are happy you popped in!\r\n' 07:51:23.495467 < 22 bytes data, client => server 07:51:23.495478 'PASS ftp@example.com\r\n' 07:51:23.495583 Received DATA (on stdin) 07:51:23.495595 > 30 bytes data, server => client 07:51:23.495605 '230 Welcome you silly person\r\n' 07:51:23.495651 < 5 bytes data, client => server 07:51:23.495663 'PWD\r\n' 07:51:23.495763 Received DATA (on stdin) 07:51:23.495774 > 30 bytes data, server => client 07:51:23.495785 '257 "/" is current directory\r\n' 07:51:23.495848 < 6 bytes data, client => server 07:51:23.495860 'EPSV\r\n' 07:51:23.498167 Received DATA (on stdin) 07:51:23.498187 > 39 bytes data, server => client 07:51:23.498200 '229 Entering Passive Mode (|||39695|)\r\n' 07:51:23.498352 < 8 bytes data, client => server 07:51:23.498371 'TYPE I\r\n' 07:51:23.498626 Received DATA (on stdin) 07:51:23.498641 > 33 bytes data, server => client 07:51:23.498654 '200 I modify TYPE as you wanted\r\n' 07:51:23.498713 < 21 bytes data, client => server 07:51:23.498727 'SIZE verifiedserver\r\n' 07:51:23.498864 Received DATA (on stdin) 07:51:23.498878 > 8 bytes data, server => client 07:51:23.498889 '213 17\r\n' 07:51:23.498943 < 21 bytes data, client => server 07:51:23.498955 'RETR verifiedserver\r\n' 07:51:23.499183 Received DATA (on stdin) 07:51:23.499198 > 29 bytes data, server => client 07:51:23.499209 '150 Binary junk (17 bytes).\r\n' 07:51:23.499660 Received DATA (on stdin) 07:51:23.499675 > 28 bytes data, server => client 07:51:23.499687 '226 File transfer complete\r\n' 07:51:23.546045 < 6 bytes data, client => server 07:51:23.546070 'QUIT\r\n' 07:51:23.546272 Received DATA (on stdin) 07:51:23.546287 > 18 bytes data, server => client 07:51:23.546300 '221 bye bye baby\r\n' 07:51:23.547007 ====> Client disconnect 07:51:23.547204 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.497719 Running IPv4 version 07:51:23.497790 Listening on port 39695 07:51:23.497826 Wrote pid 109064 to log/23/server/ftp_sockdata.pid 07:51:23.497848 Received PING (on stdin) 07:51:23.497968 Received PORT (on stdin) 07:51:23.498394 ====> Client connect 07:51:23.499238 Received DATA (on stdin) 07:51:23.499252 > 17 bytes data, server => client 07:51:23.499264 'WE ROOLZ: 82431\r\n' 07:51:23.499291 Received DISC (on stdin) 07:51:23.499305 ====> Client forcibly disconnected 07:51:23.499392 Received QUIT (on stdin) 07:51:23.499412 quits 07:51:23.499473 ============> 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:39237/595 === End of file stderr595 === Start of file valgrind595 ==109167== ==109167== Process terminating with default action of signal 4 (SIGILL) ==109167== Illegal opcode at address 0x51D5F1F ==109167== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109167== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109167== by 0x51D5F1F: Curl_open (url.c:525) ==109167== by 0x514F6EF: curl_easy_init (easy.c:371) ==109167== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109167== by 0x400347F: main (first.c:280) ==109167== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109167== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109167== by 0x51D5EBD: Curl_open (url.c:504) ==109167== by 0x514F6EF: curl_easy_init (easy.c:371) ==109167== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109167== by 0x400347F: main (first.c:280) ==109167== === End of file valgrind595 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/16/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:37855/path/593 8 log/16/upload593 > log/16/stdout593 2> log/16/stderr593 593: 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/ dir 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/16/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:37855/path/593 8 log/16/upload593 > log/16/stdout593 2> log/16/stderr593 === End of file commands.log === Start of file ftp_server.log 07:51:23.653613 ====> Client connect 07:51:23.653755 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:23.654043 < "USER anonymous" 07:51:23.654082 > "331 We are happy you popped in![CR][LF]" 07:51:23.654269 < "PASS ftp@example.com" 07:51:23.654298 > "230 Welcome you silly person[CR][LF]" 07:51:23.654470 < "PWD" 07:51:23.654508 > "257 "/" is current directory[CR][LF]" 07:51:23.654854 < "EPSV" 07:51:23.654890 ====> Passive DATA channel requested by client 07:51:23.654905 DATA sockfilt for passive data channel starting... 07:51:23.656694 DATA sockfilt for passive data channel started (pid 109033) 07:51:23.656813 DATA sockfilt for passive data channel listens on port 37895 07:51:23.656859 > "229 Entering Passive Mode (|||37895|)[CR][LF]" 07:51:23.656875 Client has been notified that DATA conn will be accepted on port 37895 07:51:23.657117 Client connects to port 37895 07:51:23.657145 ====> Client established 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/5/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:42797/598 > log/5/stdout598 2> log/5/stderr598 on port 37895 07:51:23.657225 < "TYPE I" 07:51:23.657254 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:23.657400 < "SIZE verifiedserver" 07:51:23.657435 > "213 17[CR][LF]" 07:51:23.657572 < "RETR verifiedserver" 07:51:23.657604 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:23.657675 =====> Closing passive DATA connection... 07:51:23.657690 Server disconnects passive DATA connection 07:51:23.657826 Server disconnected passive DATA connection 07:51:23.657855 DATA sockfilt for passive data channel quits (pid 109033) 07:51:23.658097 DATA sockfilt for passive data channel quit (pid 109033) 07:51:23.658120 =====> Closed passive DATA connection 07:51:23.658147 > "226 File transfer complete[CR][LF]" 07:51:23.701629 < "QUIT" 07:51:23.701681 > "221 bye bye baby[CR][LF]" 07:51:23.702082 MAIN sockfilt said DISC 07:51:23.702125 ====> Client disconnected 07:51:23.702186 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:23.481461 ====> Client connect 07:51:23.481717 Received DATA (on stdin) 07:51:23.481734 > 160 bytes data, server => client 07:51:23.481748 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:23.481760 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:23.481771 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:23.481842 < 16 bytes data, client => server 07:51:23.481857 'USER anonymous\r\n' 07:51:23.482033 Received DATA (on stdin) 07:51:23.482047 > 33 bytes data, server => client 07:51:23.482059 '331 We are happy you popped in!\r\n' 07:51:23.482112 < 22 bytes data, client => server 07:51:23.482128 'PASS ftp@example.com\r\n' 07:51:23.482246 Received DATA (on stdin) 07:51:23.482260 > 30 bytes data, server => client 07:51:23.482272 '230 Welcome you silly person\r\n' 07:51:23.482325 < 5 bytes data, client => server 07:51:23.482339 'PWD\r\n' 07:51:23.482460 Received DATA (on stdin) 07:51:23.482485 > 30 bytes data, server => client 07:51:23.482498 '257 "/" is current directory\r\n' 07:51:23.482674 < 6 bytes data, client => server 07:51:23.482689 'EPSV\r\n' 07:51:23.484826 Received DATA (on stdin) 07:51:23.484841 > 39 bytes data, server => client 07:51:23.484853 '229 Entering Passive Mode (|||37895|)\r\n' 07:51:23.485011 < 8 bytes data, client => server 07:51:23.485023 'TYPE I\r\n' 07:51:23.485200 Received DATA (on stdin) 07:51:23.485212 > 33 bytes data, server => client 07:51:23.485223 '200 I modify TYPE as you wanted\r\n' 07:51:23.485269 < 21 bytes data, client => server 07:51:23.485281 'SIZE verifiedserver\r\n' 07:51:23.485380 Received DATA (on stdin) 07:51:23.485391 > 8 bytes data, server => client 07:51:23.485402 '213 17\r\n' 07:51:23.485443 < 21 bytes data, client => server 07:51:23.485454 'RETR verifiedserver\r\n' 07:51:23.485719 Received DATA (on stdin) 07:51:23.485732 > 29 bytes data, server => client 07:51:23.485743 '150 Binary junk (17 bytes).\r\n' 07:51:23.486080 Received DATA (on stdin) 07:51:23.486101 > 28 bytes data, server => client 07:51:23.486114 '226 File transfer complete\r\n' 07:51:23.529391 < 6 bytes data, client => server 07:51:23.529426 'QUIT\r\n' 07:51:23.529631 Received DATA (on stdin) 07:51:23.529644 > 18 bytes data, server => client 07:51:23.529656 '221 bye bye baby\r\n' 07:51:23.529958 ====> Client disconnect 07:51:23.530134 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:23.484475 Running IPv4 version 07:51:23.484531 Listening on port 37895 07:51:23.484564 Wrote pid 109033 to log/16/server/ftp_sockdata.pid 07:51:23.484584 Received PING (on stdin) 07:51:23.484670 Received PORT (on stdin) 07:51:23.484985 ====> Client connect 07:51:23.485638 Received DATA (on stdin) 07:51:23.485651 > 17 bytes data, server => client 07:51:23.485662 'WE ROOLZ: 80324\r\n' 07:51:23.485685 Received DISC (on stdin) 07:51:23.485697 ====> Client forcibly disconnected 07:51:23.485815 Received QUIT (on stdin) 07:51:23.485828 quits 07:51:23.485890 ============> 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:37855/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==109124== ==109124== Process terminating with default action of signal 4 (SIGILL) ==109124== Illegal opcode at address 0x51D5F1F ==109124== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109124== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109124== by 0x51D5F1F: Curl_open (url.c:525) ==109124== by 0x514F6EF: curl_easy_init (easy.c:371) ==109124== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==109124== by 0x400347F: main (first.c:280) ==109124== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==109124== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109124== by 0x51D5EBD: Curl_open (url.c:504) ==109124== by 0x514F6EF: curl_easy_init (easy.c:371) ==109124== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==109124== by 0x400347F: main (first.c:280) ==109124== === End of file valgrind593 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:42797/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/ dir 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:42797/598 > log/5/stdout598 2> log/5/stderr598 === End of file commands.log === Start of file http_server.log 07:51:23.542110 ====> Client connect 07:51:23.542140 accept_connection 3 returned 4 07:51:23.542156 accept_connection 3 returned 0 07:51:23.542170 Read 93 bytes 07:51:23.542179 Process 93 bytes request 07:51:23.542192 Got request: GET /verifiedserver HTTP/1.1 07:51:23.542201 Are-we-friendly question received 07:51:23.542224 Wrote request (93 bytes) input to log/5/server.input 07:51:23.542240 Identifying ourselves as friends 07:51:23.542288 Response sent (56 bytes) and written to log/5/server.response 07:51:23.542298 special request received, no persistency 07:51:23.542307 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 45884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:42797/598 === End of file stderr598 === Start of file valgrind598 ==109152== ==109152== Process terminating with default action of signal 4 (SIGILL) ==109152== Illegal opcode at address 0x51D5F1F ==109152== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109152== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109152== by 0x51D5F1F: Curl_open (url.c:525) ==109152== by 0x514F6EF: curl_easy_init (easy.c:371) ==109152== by 0x402326C: test_lib598.lto_priv.0 (lib598.c:38) ==109152== by 0x400347F: main cannot find sshd cannot find sshd cannot 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/15/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:40937/577 > log/15/stdout577 2> log/15/stderr577 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/14/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:34115/599 log/14/ip599 > log/14/stdout599 2> log/14/stderr599 (first.c:280) ==109152== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109152== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109152== by 0x51D5EBD: Curl_open (url.c:504) ==109152== by 0x514F6EF: curl_easy_init (easy.c:371) ==109152== by 0x402326C: test_lib598.lto_priv.0 (lib598.c:38) ==109152== by 0x400347F: main (first.c:280) ==109152== === End of file valgrind598 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/15/server/rtsp_server.pid" --portfile "log/15/server/rtsp_server.port" --logfile "log/15/rtsp_server.log" --logdir "log/15" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107732 port 40937 * pid rtsp => 107732 107732 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/15/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:40937/577 > log/15/stdout577 2> log/15/stderr577 577: 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/ dir 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/15/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:40937/577 > log/15/stdout577 2> log/15/stderr577 === End of file commands.log === Start of file rtsp_server.log 07:51:22.626529 Running IPv4 version on port 40937 07:51:22.626608 Wrote pid 107732 to log/15/server/rtsp_server.pid 07:51:22.626643 Wrote port 40937 to log/15/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 577 === End of file server.cmd === Start of file stderr577 URL: rtsp://127.0.0.1:40937/577 === End of file stderr577 === Start of file valgrind577 ==109397== ==109397== Process terminating with default action of signal 4 (SIGILL) ==109397== Illegal opcode at address 0x51D5F1F ==109397== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109397== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109397== by 0x51D5F1F: Curl_open (url.c:525) ==109397== by 0x514F6EF: curl_easy_init (easy.c:371) ==109397== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==109397== by 0x400347F: main (first.c:280) ==109397== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109397== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109397== by 0x51D5EBD: Curl_open (url.c:504) ==109397== by 0x514F6EF: curl_easy_init (easy.c:371) ==109397== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==109397== by 0x400347F: main (first.c:280) ==109397== === End of file valgrind577 cannot find sshd cannot find sshd 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/14/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:34115/599 log/14/ip599 > log/14/stdout599 2> log/14/stderr599 599: data FAILED: --- log/14/check-expected 2025-11-07 07:51:24.714040275 +0000 +++ log/14/check-generated 2025-11-07 07:51:24.714040275 +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/14/ dir 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/14/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:34115/599 log/14/ip599 > log/14/stdout599 2> log/14/stderr599 === End of file commands.log === Start of file http_server.log 07:51:23.770439 ====> Client connect 07:51:23.770477 accept_connection 3 returned 4 07:51:23.770497 accept_connection 3 returned 0 07:51:23.770515 Read 93 bytes 07:51:23.770526 Process 93 bytes request 07:51:23.770540 Got request: GET /verifiedserver HTTP/1.1 07:51:23.770551 Are-we-friendly question received 07:51:23.770578 Wrote request (93 bytes) input to log/14/server.input 07:51:23.770598 Identifying ourselves as friends 07:51:23.770664 Response sent (56 bytes) and written to log/14/server.response 07:51:23.770677 special request received, no persistency 07:51:23.770687 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:34115/599 === End of file stderr599 === Start of file valgrind599 ==109476== ==109476== Process terminating with default action of signal 4 (SIGILL) ==109476== Illegal opcode at address 0x51D5F1F ==109476== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109476== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109476== by 0x51D5F1F: Curl_open (url.c:525) ==109476== by 0x514F6EF: curl_easy_init (easy.c:371) ==109476== by 0x402227F: test_lib599.lto_priv.0 (lib599.c:55) ==109476== by 0x400347F: main (first.c:280) ==109476== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109476== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109476== by 0x51D5EBD: Curl_open (url.c:504) ==109476== by 0x514F6EF: curl_easy_init (easy.c:371) ==109476== by 0x402227F: test_lib599.lto_priv.0 (lib599.c:55) ==109476== by 0x400347F: main (first.c:280) ==109476== === End of file valgrind599 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/12/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:38023/587 > log/12/stdout587 2> log/12/stderr587 libtests returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/12/ dir 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/12/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:38023/587 > log/12/stdout587 2> log/12/stderr587 === End of file commands.log === Start of file http_server.log 07:51:23.064076 ====> Client connect 07:51:23.064108 accept_connection 3 returned 4 07:51:23.064124 accept_connection 3 returned 0 07:51:23.064138 Read 93 bytes 07:51:23.064148 Process 93 bytes request 07:51:23.064161 Got request: GET /verifiedserver HTTP/1.1 07:51:23.064170 Are-we-friendly question received 07:51:23.064196 Wrote request (93 bytes) input to log/12/server.input 07:51:23.064212 Identifying ourselves as friends 07:51:23.064265 Response sent (56 bytes) and written to log/12/server.response 07:51:23.064276 special request received, no persistency 07:51:23.064285 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 40808 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:38023/587 === End of file stderr587 === Start of file valgrind587 ==108300== ==108300== Process terminating with default action of signal 4 (SIGILL) ==108300== Illegal opcode at address 0x51D5F1F ==108300== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108300== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108300== by 0x51D5F1F: Curl_open (url.c:525) ==108300== by 0x514F6EF: curl_easy_init (easy.c:371) ==108300== by 0x40183E8: t554_test_once (lib554.c:147) ==108300== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==108300== by 0x400347F: main (first.c:280) ==108300== 5,384 bytes in 1 blocks are definitely lost in loss record 659 of 661 ==108300== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108300== by 0x51D5EBD: Curl_open (url.c:504) ==108300== by 0x514F6EF: curl_easy_init (easy.c:371) ==108300== by 0x40183E8: t554_test_once (lib554.c:147) ==108300== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==108300== by 0x400347F: main (first.c:280) ==108300== === End of file valgrind587 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 74369) running test 610 in state 3 Runner 2 (id 74370) running test 606 in state 3 Runner 3 (id 74371) running test 583 in state 3 Runner 4 (id 74372) running test 602 in state 3 Runner 5 (id 74373) running test 618 in state 3 Runner 6 (id 74374) running test 615 in state 3 Runner 7CMD (33792): ../libtool --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/valgrind632 ../src/curl -q --output log/18/curl632.out --include --trace-ascii log/18/trace632 --trace-time --hostpubmd5 00 --key log/18/server/curl_client_key --pubkey log/18/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/18/irrelevant-file --insecure > log/18/stdout632 2> log/18/stderr632 CMD (33792): ../libtool --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/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:34059/643 > log/3/stdout643 2> log/3/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/18/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:46763/645 > log/18/stdout645 2> log/18/stderr645 (id 74375) running test 600 in state 3 Runner 8 (id 74376) running test 609 in state 3 Runner 9 (id 74377) running test 601 in state 3 Runner 10 (id 74378) running test 608 in state 3 Runner 11 (id 74379) running test 607 in state 3 Runner 12 (id 74380) running test 621 in state 3 Runner 13 (id 74381) running test 613 in state 3 Runner 14 (id 74382) running test 620 in state 3 Runner 15 (id 74383) running test 619 in state 3 Runner 16 (id 74384) running test 617 in state 3 Runner 17 (id 74385) running test 612 in state 3 Runner 18 (id 74386) running test 582 in state 3 Runner 19 (id 74387) running test 603 in state 3 Runner 20 (id 74388) running test 614 in state 3 Runner 21 (id 74389) running test 611 in state 3 Runner 22 (id 74390) running test 604 in state 3 Runner 23 (id 74391) running test 616 in state 3 Runner 24 (id 74392) running test 605 in state 3 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 42655 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42655 test 0583 SKIPPED: failed starting SSH server 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 41475 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41475 test 0582 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/18/valgrind632 ../src/curl -q --output log/18/curl632.out --include --trace-ascii log/18/trace632 --trace-time --hostpubmd5 00 --key log/18/server/curl_client_key --pubkey log/18/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/18/irrelevant-file --insecure > log/18/stdout632 2> log/18/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind632 ../src/curl -q --output log/18/curl632.out --include --trace-ascii log/18/trace632 --trace-time --hostpubmd5 00 --key log/18/server/curl_client_key --pubkey log/18/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/18/irrelevant-file --insecure > log/18/stdout632 2> log/18/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==109598== ==109598== Process terminating with default action of signal 4 (SIGILL) ==109598== Illegal opcode at address 0x4013DC0 ==109598== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==109598== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==109598== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==109598== by 0x40037A4: main (tool_main.c:199) === 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/3/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:34059/643 > log/3/stdout643 2> log/3/stderr643 643: 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/ dir 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/3/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:34059/643 > log/3/stdout643 2> log/3/stderr643 === End of file commands.log === Start of file http_server.log 07:51:39.673711 ====> Client connect 07:51:39.673735 accept_connection 3 returned 4 07:51:39.673750 accept_connection 3 returned 0 07:51:39.673762 Read 93 bytes 07:51:39.673771 Process 93 bytes request 07:51:39.673782 Got request: GET /verifiedserver HTTP/1.1 07:51:39.673789 Are-we-friendly question received 07:51:39.673805 Wrote request (93 bytes) input to log/3/server.input 07:51:39.673816 Identifying ourselves as friends 07:51:39.673852 Response sent (56 bytes) and written to log/3/server.response 07:51:39.673859 special request received, no persistency 07:51:39.673866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 59890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:34059/643 === End of file stderr643 === Start of file valgrind643 ==109653== ==109653== Process terminating with default action of signal 4 (SIGILL) ==109653== Illegal opcode at address 0x51D5F1F ==109653== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109653== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109653== by 0x51D5F1F: Curl_open (url.c:525) ==109653== by 0x514F6EF: curl_easy_init (easy.c:371) ==109653== by 0x40234B3: t643_test_once (lib643.c:77) ==109653== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109653== by 0x400347F: main (first.c:280) ==109653== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109653== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109653== by 0x51D5EBD: Curl_open (url.c:504) ==109653== by 0x514F6EF: curl_easy_init (easy.c:371) ==109653== by 0x40234B3: t643_test_once (lib643.c:77) ==109653== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109653== by 0x400347F: main (first.c:280) ==109653== === End of file valgrind643 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 42487 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42487 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 36355 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36355 startnew: /usr/bin/perl -I. -I/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 44701 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44701 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/18/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:46763/645 > log/18/stdout645 2> log/18/stderr645 RUN: Process with pid 107502 signalled to die RUN: Process with pid 107502 gracefully died 645: 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/ dir 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/18/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:46763/645 > log/18/stdout645 2> log/18/stderr645 === End of file commands.log === Start of file http_server.log 07:51:40.325618 ====> Client connect 07:51:40.325640 accept_connection 3 returned 4 07:51:40.325653 accept_connection 3 returned 0 07:51:40.325664 Read 93 bytes 07:51:40.325672 Process 93 bytes request 07:51:40.325683 Got request: GET /verifiedserver HTTP/1.1 07:51:40.325690 Are-we-friendly question received 07:51:40.325706 Wrote request (93 bytes) input to log/18/server.input 07:51:40.325719 Identifying ourselves as friends 07:51:40.325755 Response sent (56 bytes) and written to log/18/server.response 07:51:40.325762 special request received, no persistency 07:51:40.325769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 43586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:46763/645 === End of file stderr645 === Start of file valgrind645 ==109734== ==109734== Process terminating with default action of signal 4 (SIGILL) ==109734== Illegal opcode at address 0x51D5F1F ==109734== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109734== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109734== by 0x51D5F1F: Curl_open (url.c:525) ==109734== by 0x514F6EF: curl_easy_init (easy.c:371) ==109734== by 0x40234B3: t643_test_once (lib643.c:77) ==109734== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109734== by 0x400347F: main (first.c:280) ==109734== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109734== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109734== by 0x51D5EBD: Curl_open (url.c:504) ==109734== by 0x514F6EF: curl_easy_init (easy.c:371) ==109734== by 0x40234B3: t643_test_once (lib643.c:77) ==109734== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109734== by 0x400347F: main (first.c:280) ==109734== === End of file valgrind645 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 36751 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36751 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 32899 startnew: child process has died, server might start up RUN: failed to start the SSH server on 32899 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 32953 startnew: child process has died, server might start up RUN: failed to start the SSH server on 32953 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 46737 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46737 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 40809 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40809 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 41509 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41509 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 37409 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37409 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 34683 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34683 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 39067 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39067 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 34867 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34867 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 45481 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45481 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 44659 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44659 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 40309 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40309 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 44109 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44109 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 38497 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38497 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 45621 startnew: child process has died, server mighCMD (33792): ../libtool --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/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:34835/651 log/19/test651.filedata log/19/stdout651 2> log/19/stderr651 CMD (33792): ../libtool --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/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:46763/650 log/18/test650.filedata log/18/stdout650 2> log/18/stderr650 CMD (33792): ../libtool --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/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:43955/654 log/2/file654.txt > log/2/stdout654 2> log/2/stderr654 t start up RUN: failed to start the SSH server on 45621 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 38665 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38665 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 41061 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41061 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/19/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:34835/651 log/19/test651.filedata log/19/stdout651 2> log/19/stderr651 651: 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/ dir 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/19/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:34835/651 log/19/test651.filedata log/19/stdout651 2> log/19/stderr651 === End of file commands.log === Start of file http_server.log 07:51:40.061245 ====> Client connect 07:51:40.061268 accept_connection 3 returned 4 07:51:40.061281 accept_connection 3 returned 0 07:51:40.061293 Read 93 bytes 07:51:40.061301 Process 93 bytes request 07:51:40.061311 Got request: GET /verifiedserver HTTP/1.1 07:51:40.061318 Are-we-friendly question received 07:51:40.061336 Wrote request (93 bytes) input to log/19/server.input 07:51:40.061349 Identifying ourselves as friends 07:51:40.061388 Response sent (56 bytes) and written to log/19/server.response 07:51:40.061396 special request received, no persistency 07:51:40.061404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 34932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:34835/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 ==109830== ==109830== Process terminating with default action of signal 4 (SIGILL) ==109830== Illegal opcode at address 0x4024BB0 ==109830== at 0x4024BB0: UnknownInlinedFun (string_fortified.h:59) ==109830== by 0x4024BB0: test_lib651.lto_priv.0 (lib651.c:43) ==109830== by 0x400347F: main (first.c:280) === End of file valgrind651 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/18/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:46763/650 log/18/test650.filedata log/18/stdout650 2> log/18/stderr650 650: 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/ dir 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/18/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:46763/650 log/18/test650.filedata log/18/stdout650 2> log/18/stderr650 === End of file commands.log === Start of file http_server.log 07:51:41.049037 ====> Client connect 07:51:41.049059 accept_connection 3 returned 4 07:51:41.049071 accept_connection 3 returned 0 07:51:41.049082 Read 93 bytes 07:51:41.049090 Process 93 bytes request 07:51:41.049101 Got request: GET /verifiedserver HTTP/1.1 07:51:41.049109 Are-we-friendly question received 07:51:41.049125 Wrote request (93 bytes) input to log/18/server.input 07:51:41.049137 Identifying ourselves as friends 07:51:41.049183 Response sent (56 bytes) and written to log/18/server.response 07:51:41.049194 special request received, no persistency 07:51:41.049202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44298 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:46763/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 ==109821== ==109821== Process terminating with default action of signal 4 (SIGILL) ==109821== Illegal opcode at address 0x518AE15 ==109821== at 0x518AE15: UnknownInlinedFun (string_fortified.h:59) ==109821== by 0x518AE15: curl_mime_init (mime.c:1292) ==109821== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==109821== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==109821== by 0x5158549: curl_formget (formdata.c:704) ==109821== by 0x402485E: test_lib650.lto_priv.0 (lib650.c:146) ==109821== by 0x400347F: main (first.c:280) ==109821== 96 bytes in 1 blocks are definitely lost in loss record 594 of 665 ==109821== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==109821== by 0x518ADEF: curl_mime_init (mime.c:1285) ==109821== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==109821== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==109821== by 0x5158549: curl_formget (formdata.c:704) ==109821== by 0x402485E: test_lib650.lto_priv.0 (lib650.c:146) ==109821== by 0x400347F: main (first.c:280) ==109821== === End of file valgrind650 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 38389 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38389 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/2/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:43955/654 log/2/file654.txt > log/2/stdout654 2> log/2/stderr654 654: 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/8/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:36147 > log/8/stdout659 2> log/8/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/10/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:34041/658 > log/10/stdout658 2> log/10/stderr658 rotocol 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/ dir 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/2/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:43955/654 log/2/file654.txt > log/2/stdout654 2> log/2/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 07:51:41.260050 ====> Client connect 07:51:41.260082 accept_connection 3 returned 4 07:51:41.260099 accept_connection 3 returned 0 07:51:41.260113 Read 93 bytes 07:51:41.260124 Process 93 bytes request 07:51:41.260136 Got request: GET /verifiedserver HTTP/1.1 07:51:41.260146 Are-we-friendly question received 07:51:41.260167 Wrote request (93 bytes) input to log/2/server.input 07:51:41.260183 Identifying ourselves as friends 07:51:41.260238 Response sent (56 bytes) and written to log/2/server.response 07:51:41.260249 special request received, no persistency 07:51:41.260258 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 33070 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:43955/654 === End of file stderr654 === Start of file valgrind654 ==110013== ==110013== Process terminating with default action of signal 4 (SIGILL) ==110013== Illegal opcode at address 0x51D5F1F ==110013== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110013== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110013== by 0x51D5F1F: Curl_open (url.c:525) ==110013== by 0x514F6EF: curl_easy_init (easy.c:371) ==110013== by 0x402603B: test_lib654.lto_priv.0 (lib654.c:84) ==110013== by 0x400347F: main (first.c:280) ==110013== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110013== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110013== by 0x51D5EBD: Curl_open (url.c:504) ==110013== by 0x514F6EF: curl_easy_init (easy.c:371) ==110013== by 0x402603B: test_lib654.lto_priv.0 (lib654.c:84) ==110013== by 0x400347F: main (first.c:280) ==110013== === End of file valgrind654 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/8/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:36147 > log/8/stdout659 2> log/8/stderr659 659: 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/ dir 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/8/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:36147 > log/8/stdout659 2> log/8/stderr659 === End of file commands.log === Start of file http_server.log 07:51:40.282229 ====> Client connect 07:51:40.282261 accept_connection 3 returned 4 07:51:40.282277 accept_connection 3 returned 0 07:51:40.282291 Read 93 bytes 07:51:40.282301 Process 93 bytes request 07:51:40.282315 Got request: GET /verifiedserver HTTP/1.1 07:51:40.282325 Are-we-friendly question received 07:51:40.282351 Wrote request (93 bytes) input to log/8/server.input 07:51:40.282368 Identifying ourselves as friends 07:51:40.282424 Response sent (56 bytes) and written to log/8/server.response 07:51:40.282435 special request received, no persistency 07:51:40.282444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 53684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:36147 === End of file stderr659 === Start of file valgrind659 ==110100== ==110100== Process terminating with default action of signal 4 (SIGILL) ==110100== Illegal opcode at address 0x51D5F1F ==110100== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110100== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110100== by 0x51D5F1F: Curl_open (url.c:525) ==110100== by 0x514F6EF: curl_easy_init (easy.c:371) ==110100== by 0x402668C: UnknownInlinedFun (lib659.c:39) ==110100== by 0x402668C: test_lib659.lto_priv.0 (lib659.c:32) ==110100== by 0x400347F: main (first.c:280) ==110100== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110100== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110100== by 0x51D5EBD: Curl_open (url.c:504) ==110100== by 0x514F6EF: curl_easy_init (easy.c:371) ==110100== by 0x402668C: UnknownInlinedFun (lib659.c:39) ==110100== by 0x402668C: test_lib659.lto_priv.0 (lib659.c:32) ==110100== by 0x400347F: main (first.c:280) ==110100== === End of file valgrind659 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/10/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:34041/658 > log/10/stdout658 2> log/10/stderr658 658: 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/ dir 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/10/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:34041/658 > log/10/stdout658 2> log/10/stderr658 === End of file commands.log === Start of file http_server.log 07:51:40.265860 ====> Client connect 07:51:40.265893 accept_connection 3 returned 4 07:51:40.265909 accept_connection 3 returned 0 07:51:40.265924 Read 93 bytes 07:51:40.265934 Process 93 bytes request 07:51:40.265946 Got request: GET /verifiedserver HTTP/1.1 07:51:40.265955 Are-we-friendly question received 07:51:40.265978 Wrote request (93 bytes) input to log/10/server.input 07:51:40.265994 Identifying ourselves as friends 07:51:40.266045 Response sent (56 bytes) and written to log/10/server.response 07:51:40.266056 special request received, no persistency 07:51:40.266066 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 34990 * using HTTP/1.x > GET /verifiedserver HTTP/1.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/24/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:41843/653 > log/24/stdout653 2> log/24/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/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:38169/655 > log/11/stdout655 2> log/11/stderr655 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:34041/658 === End of file stderr658 === Start of file valgrind658 ==110010== ==110010== Process terminating with default action of signal 4 (SIGILL) ==110010== Illegal opcode at address 0x51D5F1F ==110010== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110010== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110010== by 0x51D5F1F: Curl_open (url.c:525) ==110010== by 0x514F6EF: curl_easy_init (easy.c:371) ==110010== by 0x402642C: UnknownInlinedFun (lib658.c:40) ==110010== by 0x402642C: test_lib658.lto_priv.0 (lib658.c:32) ==110010== by 0x400347F: main (first.c:280) ==110010== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110010== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110010== by 0x51D5EBD: Curl_open (url.c:504) ==110010== by 0x514F6EF: curl_easy_init (easy.c:371) ==110010== by 0x402642C: UnknownInlinedFun (lib658.c:40) ==110010== by 0x402642C: test_lib658.lto_priv.0 (lib658.c:32) ==110010== by 0x400347F: main (first.c:280) ==110010== === End of file valgrind658 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/24/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:41843/653 > log/24/stdout653 2> log/24/stderr653 653: 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/ dir 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/24/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:41843/653 > log/24/stdout653 2> log/24/stderr653 === End of file commands.log === Start of file http_server.log 07:51:40.259020 ====> Client connect 07:51:40.259048 accept_connection 3 returned 4 07:51:40.259065 accept_connection 3 returned 0 07:51:40.259079 Read 93 bytes 07:51:40.259090 Process 93 bytes request 07:51:40.259104 Got request: GET /verifiedserver HTTP/1.1 07:51:40.259113 Are-we-friendly question received 07:51:40.259137 Wrote request (93 bytes) input to log/24/server.input 07:51:40.259154 Identifying ourselves as friends 07:51:40.259227 Response sent (56 bytes) and written to log/24/server.response 07:51:40.259240 special request received, no persistency 07:51:40.259249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 37596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:41843/653 === End of file stderr653 === Start of file valgrind653 ==109995== ==109995== Process terminating with default action of signal 4 (SIGILL) ==109995== Illegal opcode at address 0x51D5F1F ==109995== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109995== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109995== by 0x51D5F1F: Curl_open (url.c:525) ==109995== by 0x514F6EF: curl_easy_init (easy.c:371) ==109995== by 0x4021DD0: UnknownInlinedFun (lib653.c:36) ==109995== by 0x4021DD0: test_lib653.lto_priv.0 (lib653.c:28) ==109995== by 0x400347F: main (first.c:280) ==109995== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109995== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109995== by 0x51D5EBD: Curl_open (url.c:504) ==109995== by 0x514F6EF: curl_easy_init (easy.c:371) ==109995== by 0x4021DD0: UnknownInlinedFun (lib653.c:36) ==109995== by 0x4021DD0: test_lib653.lto_priv.0 (lib653.c:28) ==109995== by 0x400347F: main (first.c:280) ==109995== === End of file valgrind653 CMD (33792): ../libtool --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/valgrind646 ../src/curl -q --output log/3/curl646.out --include --trace-ascii log/3/trace646 --trace-time smtp://127.0.0.1:34951/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/3/headers646" -F "=)" -F "=@log/3/test646.txt;headers=" log/3/stdout646 2> log/3/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/13/valgrind663 ../src/curl -q --output log/13/curl663.out --include --trace-ascii log/13/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:35041 > log/13/stdout663 2> log/13/stderr663 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/11/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:38169/655 > log/11/stdout655 2> log/11/stderr655 655: data FAILED: --- log/11/check-expected 2025-11-07 07:51:41.557373769 +0000 +++ log/11/check-generated 2025-11-07 07:51:41.557373769 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/11/ dir 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/11/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:38169/655 > log/11/stdout655 2> log/11/stderr655 === End of file commands.log === Start of file http_server.log 07:51:40.260183 ====> Client connect 07:51:40.260207 accept_connection 3 returned 4 07:51:40.260220 accept_connection 3 returned 0 07:51:40.260231 Read 93 bytes 07:51:40.260240 Process 93 bytes request 07:51:40.260251 Got request: GET /verifiedserver HTTP/1.1 07:51:40.260259 Are-we-friendly question received 07:51:40.260280 Wrote request (93 bytes) input to log/11/server.input 07:51:40.260293 Identifying ourselves as friends 07:51:40.260335 Response sent (56 bytes) and written to log/11/server.response 07:51:40.260344 special request received, no persistency 07:51:40.260352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 49314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file stderr655 URL: http://failthis/655 === End of file stderr655 === Start of file valgrind655 ==109990== ==109990== Process terminating with default action of signal 4 (SIGILL) ==109990== Illegal opcode at address 0x51D5F1F ==109990== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109990== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109990== by 0x51D5F1F: Curl_open (url.c:525) ==109990== by 0x514F6EF: curl_easy_init (easy.c:371) ==109990== by 0x40211A6: test_lib655.lto_priv.0 (lib655.c:70) ==109990== by 0x400347F: main (first.c:280) ==109990== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109990== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109990== by 0x51D5EBD: Curl_open (url.c:504) ==109990== by 0x514F6EF: curl_easy_init (easy.c:371) ==109990== by 0x40211A6: test_lib655.lto_priv.0 (lib655.c:70) ==109990== by 0x400347F: main (first.c:280) ==109990== === End of file valgrind655 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 34951 (log/3/server/smtp_server.port) RUN: SMTP server is PID 109725 port 34951 * pid smtp => 109725 109725 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/3/valgrind646 ../src/curl -q --output log/3/curl646.out --include --trace-ascii log/3/trace646 --trace-time smtp://127.0.0.1:34951/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/3/headers646" -F "=)" -F "=@log/3/test646.txt;headers=" log/3/stdout646 2> log/3/stderr646 646: 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/ dir 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/3/valgrind646 ../src/curl -q --output log/3/curl646.out --include --trace-ascii log/3/trace646 --trace-time smtp://127.0.0.1:34951/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/3/headers646" -F "=)" -F "=@log/3/test646.txt;headers=" log/3/stdout646 2> log/3/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 07:51:39.514433 SMTP server listens on port IPv4/34951 07:51:39.514485 logged pid 109725 in log/3/server/smtp_server.pid 07:51:39.514503 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:39.342190 Running IPv4 version 07:51:39.342238 Listening on port 34951 07:51:39.342267 Wrote pid 109735 to log/3/server/smtp_sockfilt.pid 07:51:39.342289 Wrote port 34951 to log/3/server/smtp_server.port 07:51:39.342304 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 ==110235== ==110235== Process terminating with default action of signal 4 (SIGILL) ==110235== Illegal opcode at address 0x4013DC0 ==110235== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==110235== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110235== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==110235== by 0x40037A4: main (tool_main.c:199) === End of file valgrind646 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/13/valgrind663 ../src/curl -q --output log/13/curl663.out --include --trace-ascii log/13/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:35041 > log/13/stdout663 2> log/13/stderr663 663: 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/ dir 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/13/valgrind663 ../src/curl -q --output log/13/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/20/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:40357/666 > log/20/stdout666 2> log/20/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/1/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:42965/ > log/1/stdout661 2> log/1/stderr661 663.out --include --trace-ascii log/13/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:35041 > log/13/stdout663 2> log/13/stderr663 === End of file commands.log === Start of file http_server.log 07:51:40.427078 ====> Client connect 07:51:40.427118 accept_connection 3 returned 4 07:51:40.427135 accept_connection 3 returned 0 07:51:40.427149 Read 93 bytes 07:51:40.427160 Process 93 bytes request 07:51:40.427173 Got request: GET /verifiedserver HTTP/1.1 07:51:40.427183 Are-we-friendly question received 07:51:40.427207 Wrote request (93 bytes) input to log/13/server.input 07:51:40.427224 Identifying ourselves as friends 07:51:40.427276 Response sent (56 bytes) and written to log/13/server.response 07:51:40.427286 special request received, no persistency 07:51:40.427296 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 44422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind663 ==110369== ==110369== Process terminating with default action of signal 4 (SIGILL) ==110369== Illegal opcode at address 0x4013DC0 ==110369== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==110369== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110369== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==110369== by 0x40037A4: main (tool_main.c:199) === End of file valgrind663 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/20/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:40357/666 > log/20/stdout666 2> log/20/stderr666 666: 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/ dir 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/20/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:40357/666 > log/20/stdout666 2> log/20/stderr666 === End of file commands.log === Start of file http_server.log 07:51:40.452685 ====> Client connect 07:51:40.452716 accept_connection 3 returned 4 07:51:40.452733 accept_connection 3 returned 0 07:51:40.452749 Read 93 bytes 07:51:40.452760 Process 93 bytes request 07:51:40.452774 Got request: GET /verifiedserver HTTP/1.1 07:51:40.452785 Are-we-friendly question received 07:51:40.452808 Wrote request (93 bytes) input to log/20/server.input 07:51:40.452825 Identifying ourselves as friends 07:51:40.452880 Response sent (56 bytes) and written to log/20/server.response 07:51:40.452891 special request received, no persistency 07:51:40.452900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 57164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:40357/666 === End of file stderr666 === Start of file valgrind666 ==110592== ==110592== Process terminating with default action of signal 4 (SIGILL) ==110592== Illegal opcode at address 0x51D5F1F ==110592== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110592== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110592== by 0x51D5F1F: Curl_open (url.c:525) ==110592== by 0x514F6EF: curl_easy_init (easy.c:371) ==110592== by 0x4025192: test_lib666.lto_priv.0 (lib666.c:52) ==110592== by 0x400347F: main (first.c:280) ==110592== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110592== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110592== by 0x51D5EBD: Curl_open (url.c:504) ==110592== by 0x514F6EF: curl_easy_init (easy.c:371) ==110592== by 0x4025192: test_lib666.lto_priv.0 (lib666.c:52) ==110592== by 0x400347F: main (first.c:280) ==110592== === End of file valgrind666 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/1/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:42965/ > log/1/stdout661 2> log/1/stderr661 661: 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/ dir 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/1/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:42965/ > log/1/stdout661 2> log/1/stderr661 === End of file commands.log === Start of file ftp_server.log 07:51:40.560163 ====> Client connect 07:51:40.560327 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:40.560613 < "USER anonymous" 07:51:40.560651 > "331 We are happy you popped in![CR][LF]" 07:51:40.560906 < "PASS ftp@example.com" 07:51:40.560957 > "230 Welcome you silly person[CR][LF]" 07:51:40.561107 < "PWD" 07:51:40.561148 > "257 "/" is current directory[CR][LF]" 07:51:40.561323 < "EPSV" 07:51:40.561347 ====> Passive DATA channel requested by client 07:51:40.561360 DATA sockfilt for passive data channel starting... 07:51:40.563270 DATA sockfilt for passive data channel started (pid 110307) 07:51:40.563404 DATA sockfilt for passive data channel listens on port 43265 07:51:40.563457 > "229 Entering Passive Mode (|||43265|)[CR][LF]" 07:51:40.563477 Client has been notified that DATA conn will be accepted on port 43265 07:51:40.563780 Client connects to port 43265 07:51:40.563813 ====> Client established passive DATA connection on port 43265 07:51:40.563912 < "TYPE I" 07:51:40.563950 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:40.564131 < "SIZE verifiedserver" 07:51:40.564172 > "213 17[CR][LF]" 07:51:40.564342 < "RETR verifiedserver" 07:51:40.564376 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:40.564460 =====> Closing passive DATA connection... 07:51:40.564477 Server disconnects passive DATA connection 07:51:40.564692 Server disconnected passive DATA connection 07:51:40.564734 DATA sockfilt for passive data channel quits (pid 110307) 07:51:40.565024 DATA sockfilt for passive data channel quit (pid 110307) 07:51:40.565054 =====> Closed passive DATA connection 07:51:40.565089 > "226 File transfer complete[CR][LF]" 07:51:40.608896 < "QUIT" 07:51:40.608947 > "221 bye bye baby[CR][LF]" 07:51:40.609869 MAIN sockfilt said DISC 07:51:40.60991CMD (33792): ../libtool --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:42601 > log/17/stdout662 2> log/17/stderr662 CMD (33792): ../libtool --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:44351/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/15/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:43789/671 > log/15/stdout671 2> log/15/stderr671 1 ====> Client disconnected 07:51:40.609977 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:40.387983 ====> Client connect 07:51:40.388284 Received DATA (on stdin) 07:51:40.388300 > 160 bytes data, server => client 07:51:40.388313 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:40.388324 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:40.388333 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:40.388410 < 16 bytes data, client => server 07:51:40.388423 'USER anonymous\r\n' 07:51:40.388598 Received DATA (on stdin) 07:51:40.388609 > 33 bytes data, server => client 07:51:40.388621 '331 We are happy you popped in!\r\n' 07:51:40.388669 < 22 bytes data, client => server 07:51:40.388680 'PASS ftp@example.com\r\n' 07:51:40.388881 Received DATA (on stdin) 07:51:40.388893 > 30 bytes data, server => client 07:51:40.388904 '230 Welcome you silly person\r\n' 07:51:40.388947 < 5 bytes data, client => server 07:51:40.388957 'PWD\r\n' 07:51:40.389093 Received DATA (on stdin) 07:51:40.389104 > 30 bytes data, server => client 07:51:40.389115 '257 "/" is current directory\r\n' 07:51:40.389181 < 6 bytes data, client => server 07:51:40.389191 'EPSV\r\n' 07:51:40.391432 Received DATA (on stdin) 07:51:40.391452 > 39 bytes data, server => client 07:51:40.391465 '229 Entering Passive Mode (|||43265|)\r\n' 07:51:40.391667 < 8 bytes data, client => server 07:51:40.391681 'TYPE I\r\n' 07:51:40.391898 Received DATA (on stdin) 07:51:40.391913 > 33 bytes data, server => client 07:51:40.391925 '200 I modify TYPE as you wanted\r\n' 07:51:40.391982 < 21 bytes data, client => server 07:51:40.391996 'SIZE verifiedserver\r\n' 07:51:40.392120 Received DATA (on stdin) 07:51:40.392133 > 8 bytes data, server => client 07:51:40.392144 '213 17\r\n' 07:51:40.392197 < 21 bytes data, client => server 07:51:40.392210 'RETR verifiedserver\r\n' 07:51:40.392426 Received DATA (on stdin) 07:51:40.392439 > 29 bytes data, server => client 07:51:40.392450 '150 Binary junk (17 bytes).\r\n' 07:51:40.393041 Received DATA (on stdin) 07:51:40.393058 > 28 bytes data, server => client 07:51:40.393070 '226 File transfer complete\r\n' 07:51:40.436670 < 6 bytes data, client => server 07:51:40.436699 'QUIT\r\n' 07:51:40.436896 Received DATA (on stdin) 07:51:40.436908 > 18 bytes data, server => client 07:51:40.436919 '221 bye bye baby\r\n' 07:51:40.437755 ====> Client disconnect 07:51:40.437920 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:40.391006 Running IPv4 version 07:51:40.391086 Listening on port 43265 07:51:40.391121 Wrote pid 110307 to log/1/server/ftp_sockdata.pid 07:51:40.391145 Received PING (on stdin) 07:51:40.391254 Received PORT (on stdin) 07:51:40.391634 ====> Client connect 07:51:40.392478 Received DATA (on stdin) 07:51:40.392492 > 17 bytes data, server => client 07:51:40.392550 'WE ROOLZ: 83307\r\n' 07:51:40.392579 Received DISC (on stdin) 07:51:40.392591 ====> Client forcibly disconnected 07:51:40.392700 Received QUIT (on stdin) 07:51:40.392720 quits 07:51:40.392782 ============> 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:42965/ === End of file stderr661 === Start of file valgrind661 ==110416== ==110416== Process terminating with default action of signal 4 (SIGILL) ==110416== Illegal opcode at address 0x51D5F1F ==110416== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110416== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110416== by 0x51D5F1F: Curl_open (url.c:525) ==110416== by 0x514F6EF: curl_easy_init (easy.c:371) ==110416== by 0x4026B70: test_lib661.lto_priv.0 (lib661.c:40) ==110416== by 0x400347F: main (first.c:280) ==110416== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110416== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110416== by 0x51D5EBD: Curl_open (url.c:504) ==110416== by 0x514F6EF: curl_easy_init (easy.c:371) ==110416== by 0x4026B70: test_lib661.lto_priv.0 (lib661.c:40) ==110416== by 0x400347F: main (first.c:280) ==110416== === End of file valgrind661 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:42601 > 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/ dir after test 662 === Start of file commands.log ../libtool --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:42601 > log/17/stdout662 2> log/17/stderr662 === End of file commands.log === Start of file http_server.log 07:51:41.418271 ====> Client connect 07:51:41.418313 accept_connection 3 returned 4 07:51:41.418333 accept_connection 3 returned 0 07:51:41.418351 Read 93 bytes 07:51:41.418362 Process 93 bytes request 07:51:41.418376 Got request: GET /verifiedserver HTTP/1.1 07:51:41.418387 Are-we-friendly question received 07:51:41.418416 Wrote request (93 bytes) input to log/17/server.input 07:51:41.418435 Identifying ourselves as friends 07:51:41.418516 Response sent (56 bytes) and written to log/17/server.response 07:51:41.418529 special request received, no persistency 07:51:41.418539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 39992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind662 ==110343== ==110343== Process terminating with default action of signal 4 (SIGILL) ==110343== Illegal opcode at address 0x4013DC0 ==110343== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==110343== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110343== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==110343== by 0x40037A4: main (tool_main.c:199) === End of file valgrind662 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:44351/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/ dir 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:44351/668 log/16/file668.txt > log/16/stdout668 2> log/16/stderr668 === End of file commands.log === 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/6/valgrind669 ../src/curl -q --output log/6/curl669.out --include --trace-ascii log/6/trace669 --trace-time http://127.0.0.1:45933/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/6/stdout669 2> log/6/stderr669 of file file668.txt This is data from a file === End of file file668.txt === Start of file http_server.log 07:51:40.457690 ====> Client connect 07:51:40.457727 accept_connection 3 returned 4 07:51:40.457743 accept_connection 3 returned 0 07:51:40.457758 Read 93 bytes 07:51:40.457769 Process 93 bytes request 07:51:40.457782 Got request: GET /verifiedserver HTTP/1.1 07:51:40.457792 Are-we-friendly question received 07:51:40.457820 Wrote request (93 bytes) input to log/16/server.input 07:51:40.457838 Identifying ourselves as friends 07:51:40.457903 Response sent (56 bytes) and written to log/16/server.response 07:51:40.457914 special request received, no persistency 07:51:40.457924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 39998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:44351/668 === End of file stderr668 === Start of file valgrind668 ==110529== ==110529== Process terminating with default action of signal 4 (SIGILL) ==110529== Illegal opcode at address 0x51D5F1F ==110529== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110529== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110529== by 0x51D5F1F: Curl_open (url.c:525) ==110529== by 0x514F6EF: curl_easy_init (easy.c:371) ==110529== by 0x4025E19: test_lib668.lto_priv.0 (lib668.c:68) ==110529== by 0x400347F: main (first.c:280) ==110529== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110529== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110529== by 0x51D5EBD: Curl_open (url.c:504) ==110529== by 0x514F6EF: curl_easy_init (easy.c:371) ==110529== by 0x4025E19: test_lib668.lto_priv.0 (lib668.c:68) ==110529== by 0x400347F: main (first.c:280) ==110529== === End of file valgrind668 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/15/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:43789/671 > log/15/stdout671 2> log/15/stderr671 671: 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/ dir 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/15/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:43789/671 > log/15/stdout671 2> log/15/stderr671 === End of file commands.log === Start of file http_server.log 07:51:40.486072 ====> Client connect 07:51:40.486104 accept_connection 3 returned 4 07:51:40.486120 accept_connection 3 returned 0 07:51:40.486136 Read 93 bytes 07:51:40.486146 Process 93 bytes request 07:51:40.486161 Got request: GET /verifiedserver HTTP/1.1 07:51:40.486170 Are-we-friendly question received 07:51:40.486192 Wrote request (93 bytes) input to log/15/server.input 07:51:40.486208 Identifying ourselves as friends 07:51:40.486257 Response sent (56 bytes) and written to log/15/server.response 07:51:40.486266 special request received, no persistency 07:51:40.486276 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 41106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:43789/671 === End of file stderr671 === Start of file valgrind671 ==110642== ==110642== Process terminating with default action of signal 4 (SIGILL) ==110642== Illegal opcode at address 0x51D5F1F ==110642== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110642== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110642== by 0x51D5F1F: Curl_open (url.c:525) ==110642== by 0x514F6EF: curl_easy_init (easy.c:371) ==110642== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110642== by 0x400347F: main (first.c:280) ==110642== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110642== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110642== by 0x51D5EBD: Curl_open (url.c:504) ==110642== by 0x514F6EF: curl_easy_init (easy.c:371) ==110642== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110642== by 0x400347F: main (first.c:280) ==110642== === End of file valgrind671 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/6/valgrind669 ../src/curl -q --output log/6/curl669.out --include --trace-ascii log/6/trace669 --trace-time http://127.0.0.1:45933/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/6/stdout669 2> log/6/stderr669 669: 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/ dir 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/6/valgrind669 ../src/curl -q --output log/6/curl669.out --include --trace-ascii log/6/trace669 --trace-time http://127.0.0.1:45933/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/6/stdout669 2> log/6/stderr669 === End of file commands.log === Start of file http_server.log 07:51:40.469853 ====> Client connect 07:51:40.469896 accept_connection 3 returned 4 07:51:40.469916 accept_connection 3 returned 0 07:51:40.469934 Read 93 bytes 07:51:40.469946 Process 93 bytes request 07:51:40.469960 Got request: GET /verifiedserver HTTP/1.1 07:51:40.469971 Are-we-friendly question received 07:51:40.469998 Wrote request (93 bytes) input to log/6/server.input 07:51:40.470017 Identifying ourselves as friends 07:51:40.470092 Response sent (56 bytes) and written to log/6/server.response 07:51:40.470105 special request received, no persistency 07:51:40.470116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 53042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === End of file http_verify.out ==CMD (33792): ../libtool --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/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:42797/670 > log/5/stdout670 2> log/5/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/23/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:41029/667 > log/23/stdout667 2> log/23/stderr667 CMD (33792): ../libtool --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/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:34115/672 > log/14/stdout672 2> log/14/stderr672 = 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: 83854 === End of file server.response === Start of file valgrind669 ==110600== ==110600== Process terminating with default action of signal 4 (SIGILL) ==110600== Illegal opcode at address 0x4013DC0 ==110600== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==110600== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110600== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==110600== by 0x40037A4: main (tool_main.c:199) === End of file valgrind669 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/5/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:42797/670 > log/5/stdout670 2> log/5/stderr670 670: 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/ dir 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/5/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:42797/670 > log/5/stdout670 2> log/5/stderr670 === End of file commands.log === Start of file http_server.log 07:51:40.473875 ====> Client connect 07:51:40.473910 accept_connection 3 returned 4 07:51:40.473928 accept_connection 3 returned 0 07:51:40.473944 Read 93 bytes 07:51:40.473956 Process 93 bytes request 07:51:40.473969 Got request: GET /verifiedserver HTTP/1.1 07:51:40.473980 Are-we-friendly question received 07:51:40.474009 Wrote request (93 bytes) input to log/5/server.input 07:51:40.474028 Identifying ourselves as friends 07:51:40.474090 Response sent (56 bytes) and written to log/5/server.response 07:51:40.474103 special request received, no persistency 07:51:40.474115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 58724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:42797/670 === End of file stderr670 === Start of file valgrind670 ==110591== ==110591== Process terminating with default action of signal 4 (SIGILL) ==110591== Illegal opcode at address 0x51D5F1F ==110591== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110591== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110591== by 0x51D5F1F: Curl_open (url.c:525) ==110591== by 0x514F6EF: curl_easy_init (easy.c:371) ==110591== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110591== by 0x400347F: main (first.c:280) ==110591== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110591== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110591== by 0x51D5EBD: Curl_open (url.c:504) ==110591== by 0x514F6EF: curl_easy_init (easy.c:371) ==110591== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110591== by 0x400347F: main (first.c:280) ==110591== === End of file valgrind670 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/23/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:41029/667 > log/23/stdout667 2> log/23/stderr667 667: 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/ dir 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/23/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:41029/667 > log/23/stdout667 2> log/23/stderr667 === End of file commands.log === Start of file http_server.log 07:51:40.461238 ====> Client connect 07:51:40.461268 accept_connection 3 returned 4 07:51:40.461284 accept_connection 3 returned 0 07:51:40.461296 Read 93 bytes 07:51:40.461306 Process 93 bytes request 07:51:40.461318 Got request: GET /verifiedserver HTTP/1.1 07:51:40.461327 Are-we-friendly question received 07:51:40.461351 Wrote request (93 bytes) input to log/23/server.input 07:51:40.461368 Identifying ourselves as friends 07:51:40.461418 Response sent (56 bytes) and written to log/23/server.response 07:51:40.461428 special request received, no persistency 07:51:40.461438 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:41029/667 === End of file stderr667 === Start of file valgrind667 ==110541== ==110541== Process terminating with default action of signal 4 (SIGILL) ==110541== Illegal opcode at address 0x51D5F1F ==110541== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110541== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110541== by 0x51D5F1F: Curl_open (url.c:525) ==110541== by 0x514F6EF: curl_easy_init (easy.c:371) ==110541== by 0x4025459: test_lib667.lto_priv.0 (lib667.c:74) ==110541== by 0x400347F: main (first.c:280) ==110541== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110541== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110541== by 0x51D5EBD: Curl_open (url.c:504) ==110541== by 0x514F6EF: curl_easy_init (easy.c:371) ==110541== by 0x4025459: test_lib667.lto_priv.0 (lib667.c:74) ==110541== by 0x400347F: main (first.c:280) ==110541== === 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/14/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:34115/672 > log/14/stdout672 2> log/14/stderr672 672: 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/ dir 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/14/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:34115/672 > log/14/stdout672 2> log/14/stderr672 === End of file commands.log === Start of file http_server.log 07:51:40.587297 ====> Client connect 07:51:40.58733CMD (33792): ../libtool --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/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:34835/673 > log/19/stdout673 2> log/19/stderr673 CMD (33792): ../libtool --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/valgrind647 ../src/curl -q --output log/7/curl647.out --include --trace-ascii log/7/trace647 --trace-time imap://127.0.0.1:37375/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/7/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/7/stdout647 2> log/7/stderr647 5 accept_connection 3 returned 4 07:51:40.587354 accept_connection 3 returned 0 07:51:40.587371 Read 93 bytes 07:51:40.587383 Process 93 bytes request 07:51:40.587398 Got request: GET /verifiedserver HTTP/1.1 07:51:40.587409 Are-we-friendly question received 07:51:40.587437 Wrote request (93 bytes) input to log/14/server.input 07:51:40.587456 Identifying ourselves as friends 07:51:40.587518 Response sent (56 bytes) and written to log/14/server.response 07:51:40.587531 special request received, no persistency 07:51:40.587542 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:34115/672 === End of file stderr672 === Start of file valgrind672 ==110881== ==110881== Process terminating with default action of signal 4 (SIGILL) ==110881== Illegal opcode at address 0x51D5F1F ==110881== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110881== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110881== by 0x51D5F1F: Curl_open (url.c:525) ==110881== by 0x514F6EF: curl_easy_init (easy.c:371) ==110881== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110881== by 0x400347F: main (first.c:280) ==110881== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110881== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110881== by 0x51D5EBD: Curl_open (url.c:504) ==110881== by 0x514F6EF: curl_easy_init (easy.c:371) ==110881== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110881== by 0x400347F: main (first.c:280) ==110881== === End of file valgrind672 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/19/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:34835/673 > log/19/stdout673 2> log/19/stderr673 673: 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/ dir 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/19/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:34835/673 > log/19/stdout673 2> log/19/stderr673 === End of file commands.log === Start of file http_server.log 07:51:40.693743 ====> Client connect 07:51:40.693786 accept_connection 3 returned 4 07:51:40.693803 accept_connection 3 returned 0 07:51:40.693819 Read 93 bytes 07:51:40.693831 Process 93 bytes request 07:51:40.693845 Got request: GET /verifiedserver HTTP/1.1 07:51:40.693856 Are-we-friendly question received 07:51:40.693916 Wrote request (93 bytes) input to log/19/server.input 07:51:40.693935 Identifying ourselves as friends 07:51:40.693991 Response sent (56 bytes) and written to log/19/server.response 07:51:40.694002 special request received, no persistency 07:51:40.694011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 34934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:34835/673 === End of file stderr673 === Start of file valgrind673 ==110928== ==110928== Process terminating with default action of signal 4 (SIGILL) ==110928== Illegal opcode at address 0x51D5F1F ==110928== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110928== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110928== by 0x51D5F1F: Curl_open (url.c:525) ==110928== by 0x514F6EF: curl_easy_init (easy.c:371) ==110928== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110928== by 0x400347F: main (first.c:280) ==110928== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110928== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110928== by 0x51D5EBD: Curl_open (url.c:504) ==110928== by 0x514F6EF: curl_easy_init (easy.c:371) ==110928== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110928== by 0x400347F: main (first.c:280) ==110928== === End of file valgrind673 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 37375 (log/7/server/imap_server.port) RUN: IMAP server is PID 109783 port 37375 * pid imap => 109783 109783 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/7/valgrind647 ../src/curl -q --output log/7/curl647.out --include --trace-ascii log/7/trace647 --trace-time imap://127.0.0.1:37375/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/7/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/7/stdout647 2> log/7/stderr647 647: 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/ dir 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/7/valgrind647 ../src/curl -q --output log/7/curl647.out --include --trace-ascii log/7/trace647 --trace-time imap://127.0.0.1:37375/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/7/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/7/stdout647 2> log/7/stderr647 === End of file commands.log === Start of file imap_server.log 07:51:39.963334 IMAP server listens on port IPv4/37375 07:51:39.963387 logged pid 109783 in log/7/server/imap_server.pid 07:51:39.963406 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:39.791035 Running IPv4 version 07:51:39.791113 Listening on port 37375 07:51:39.791144 Wrote pid 109784 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/4/valgrind649 ../src/curl -q --output log/4/curl649.out --include --trace-ascii log/4/trace649 --trace-time smtp://127.0.0.1:43649/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/4/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/4/stdout649 2> log/4/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/9/valgrind648 ../src/curl -q --output log/9/curl648.out --include --trace-ascii log/9/trace648 --trace-time smtp://127.0.0.1:33035/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/9/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/9/stdout648 2> log/9/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/12/valgrind675 ../src/curl -q --output log/12/curl675.out --include --trace-ascii log/12/trace675 --trace-time http://user1:foo1@127.0.0.1:38023/user1/675 http://user2:foo2@127.0.0.1:38023/user2/675 > log/12/stdout675 2> log/12/stderr675 og/7/server/imap_sockfilt.pid 07:51:39.791190 Wrote port 37375 to log/7/server/imap_server.port 07:51:39.791208 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 ==110970== ==110970== Process terminating with default action of signal 4 (SIGILL) ==110970== Illegal opcode at address 0x4013DC0 ==110970== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==110970== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110970== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==110970== by 0x40037A4: main (tool_main.c:199) === End of file valgrind647 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 43649 (log/4/server/smtp_server.port) RUN: SMTP server is PID 109787 port 43649 * pid smtp => 109787 109787 test 0649...[SMTP multipart with 7bit 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/4/valgrind649 ../src/curl -q --output log/4/curl649.out --include --trace-ascii log/4/trace649 --trace-time smtp://127.0.0.1:43649/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/4/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/4/stdout649 2> log/4/stderr649 649: 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/ dir 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/4/valgrind649 ../src/curl -q --output log/4/curl649.out --include --trace-ascii log/4/trace649 --trace-time smtp://127.0.0.1:43649/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/4/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/4/stdout649 2> log/4/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 07:51:40.209853 SMTP server listens on port IPv4/43649 07:51:40.209908 logged pid 109787 in log/4/server/smtp_server.pid 07:51:40.209928 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:40.037612 Running IPv4 version 07:51:40.037661 Listening on port 43649 07:51:40.037688 Wrote pid 109789 to log/4/server/smtp_sockfilt.pid 07:51:40.037708 Wrote port 43649 to log/4/server/smtp_server.port 07:51:40.037724 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 ==111106== ==111106== Process terminating with default action of signal 4 (SIGILL) ==111106== Illegal opcode at address 0x4013DC0 ==111106== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111106== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111106== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111106== by 0x40037A4: main (tool_main.c:199) === End of file valgrind649 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 33035 (log/9/server/smtp_server.port) RUN: SMTP server is PID 109786 port 33035 * pid smtp => 109786 109786 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/9/valgrind648 ../src/curl -q --output log/9/curl648.out --include --trace-ascii log/9/trace648 --trace-time smtp://127.0.0.1:33035/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/9/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/9/stdout648 2> log/9/stderr648 648: 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/ dir 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/9/valgrind648 ../src/curl -q --output log/9/curl648.out --include --trace-ascii log/9/trace648 --trace-time smtp://127.0.0.1:33035/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/9/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/9/stdout648 2> log/9/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 07:51:40.205585 SMTP server listens on port IPv4/33035 07:51:40.205731 logged pid 109786 in log/9/server/smtp_server.pid 07:51:40.205756 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:40.032525 Running IPv4 version 07:51:40.032628 Listening on port 33035 07:51:40.032665 Wrote pid 109788 to log/9/server/smtp_sockfilt.pid 07:51:40.032694 Wrote port 33035 to log/9/server/smtp_server.port 07:51:40.032717 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 ==111095== ==111095== Process terminating with default action of signal 4 (SIGILL) ==111095== Illegal opcode at address 0x4013DC0 ==111095== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111095== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111095== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111095== by 0x40037A4: main (tool_main.c:199) === End of file valgrind648 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/12/valgrind675 ../src/curl -q --output log/12/curl675.out --include --trace-ascii log/12/trace675 --trace-time http://user1:foo1@127.0.0.1:38023/user1/675 http://user2:foo2@127.0.0.1:38023/user2/675 > log/12/stdout675 2> log/12/stderr675 675: 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/ dir after test 675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quietCMD (33792): ../libtool --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/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:46763/674 > log/18/stdout674 2> log/18/stderr674 CMD (33792): ../libtool --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/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:43255/652 > log/22/stdout652 2> log/22/stderr652 --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind675 ../src/curl -q --output log/12/curl675.out --include --trace-ascii log/12/trace675 --trace-time http://user1:foo1@127.0.0.1:38023/user1/675 http://user2:foo2@127.0.0.1:38023/user2/675 > log/12/stdout675 2> log/12/stderr675 === End of file commands.log === Start of file http_server.log 07:51:41.092226 ====> Client connect 07:51:41.092270 accept_connection 3 returned 4 07:51:41.092291 accept_connection 3 returned 0 07:51:41.092439 Read 93 bytes 07:51:41.092454 Process 93 bytes request 07:51:41.092469 Got request: GET /verifiedserver HTTP/1.1 07:51:41.092480 Are-we-friendly question received 07:51:41.092528 Wrote request (93 bytes) input to log/12/server.input 07:51:41.092548 Identifying ourselves as friends 07:51:41.092622 Response sent (56 bytes) and written to log/12/server.response 07:51:41.092634 special request received, no persistency 07:51:41.092647 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 58500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind675 ==111224== ==111224== Process terminating with default action of signal 4 (SIGILL) ==111224== Illegal opcode at address 0x4013DC0 ==111224== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111224== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111224== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111224== by 0x40037A4: main (tool_main.c:199) === End of file valgrind675 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/18/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:46763/674 > log/18/stdout674 2> log/18/stderr674 674: 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/ dir 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/18/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:46763/674 > log/18/stdout674 2> log/18/stderr674 === End of file commands.log === Start of file http_server.log 07:51:42.010082 ====> Client connect 07:51:42.010116 accept_connection 3 returned 4 07:51:42.010135 accept_connection 3 returned 0 07:51:42.010151 Read 93 bytes 07:51:42.010163 Process 93 bytes request 07:51:42.010178 Got request: GET /verifiedserver HTTP/1.1 07:51:42.010188 Are-we-friendly question received 07:51:42.010213 Wrote request (93 bytes) input to log/18/server.input 07:51:42.010229 Identifying ourselves as friends 07:51:42.010282 Response sent (56 bytes) and written to log/18/server.response 07:51:42.010292 special request received, no persistency 07:51:42.010302 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:46763/674 === End of file stderr674 === Start of file valgrind674 ==111110== ==111110== Process terminating with default action of signal 4 (SIGILL) ==111110== Illegal opcode at address 0x51D5F1F ==111110== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111110== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111110== by 0x51D5F1F: Curl_open (url.c:525) ==111110== by 0x514F6EF: curl_easy_init (easy.c:371) ==111110== by 0x4026910: UnknownInlinedFun (lib674.c:41) ==111110== by 0x4026910: test_lib674.lto_priv.0 (lib674.c:32) ==111110== by 0x400347F: main (first.c:280) ==111110== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111110== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111110== by 0x51D5EBD: Curl_open (url.c:504) ==111110== by 0x514F6EF: curl_easy_init (easy.c:371) ==111110== by 0x4026910: UnknownInlinedFun (lib674.c:41) ==111110== by 0x4026910: test_lib674.lto_priv.0 (lib674.c:32) ==111110== by 0x400347F: main (first.c:280) ==111110== === End of file valgrind674 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 43255 (log/22/server/smtp_server.port) RUN: SMTP server is PID 109920 port 43255 * pid smtp => 109920 109920 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/22/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:43255/652 > log/22/stdout652 2> log/22/stderr652 652: 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/ dir 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/22/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:43255/652 > log/22/stdout652 2> log/22/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 07:51:40.345375 SMTP server listens on port IPv4/43255 07:51:40.345429 logged pid 109920 in log/22/server/smtp_server.pid 07:51:40.345450 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:40.173099 Running IPv4 version 07:51:40.173179 Listening on port 43255 07:51:40.173207 Wrote pid 109921 to log/22/server/smtp_sockfilt.pid 07:51:40.173229 Wrote port 43255 to log/22/server/smtp_server.port 07:51:40.173245 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:43255/652 === End of file stderr652 === Start of file valgrind652 ==111303== ==111303== Process terminating with default action of signal 4 (SIGILL) ==111303== Illegal opcode at address 0x51D5F1F ==111303== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111303== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111303== by 0x51D5F1F: Curl_open (url.c:525) ==111303== by 0x514F6EF: curl_easy_init (easy.c:371) ==111303== by 0x402568D: test_lib652.lto_priv.0 (lib652.c:50) ==111303== by 0x400347F: main (first.c:280) ==111303== 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/21/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:44177/660 > log/21/stdout660 2> log/21/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/2/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:43955/we/want/676 log/2/cookies676 > log/2/stdout676 2> log/2/stderr676 CMD (33792): ../libtool --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/valgrind680 ../src/curl -q --output log/24/curl680.out --include --trace-ascii log/24/trace680 --trace-time --netrc --netrc-file log/24/netrc680 http://user1@http.example/ > log/24/stdout680 2> log/24/stderr680 ,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111303== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111303== by 0x51D5EBD: Curl_open (url.c:504) ==111303== by 0x514F6EF: curl_easy_init (easy.c:371) ==111303== by 0x402568D: test_lib652.lto_priv.0 (lib652.c:50) ==111303== by 0x400347F: main (first.c:280) ==111303== === End of file valgrind652 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 44177 (log/21/server/imap_server.port) RUN: IMAP server is PID 110096 port 44177 * pid imap => 110096 110096 test 0660...[IMAP 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/21/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:44177/660 > log/21/stdout660 2> log/21/stderr660 660: 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/ dir 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/21/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:44177/660 > log/21/stdout660 2> log/21/stderr660 === End of file commands.log === Start of file imap_server.log 07:51:40.495703 IMAP server listens on port IPv4/44177 07:51:40.495782 logged pid 110096 in log/21/server/imap_server.pid 07:51:40.495807 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:40.323342 Running IPv4 version 07:51:40.323466 Listening on port 44177 07:51:40.323506 Wrote pid 110225 to log/21/server/imap_sockfilt.pid 07:51:40.323533 Wrote port 44177 to log/21/server/imap_server.port 07:51:40.323555 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:44177/660 === End of file stderr660 === Start of file valgrind660 ==111360== ==111360== Process terminating with default action of signal 4 (SIGILL) ==111360== Illegal opcode at address 0x51D5F1F ==111360== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111360== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111360== by 0x51D5F1F: Curl_open (url.c:525) ==111360== by 0x514F6EF: curl_easy_init (easy.c:371) ==111360== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==111360== by 0x400347F: main (first.c:280) ==111360== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111360== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111360== by 0x51D5EBD: Curl_open (url.c:504) ==111360== by 0x514F6EF: curl_easy_init (easy.c:371) ==111360== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==111360== by 0x400347F: main (first.c:280) ==111360== === End of file valgrind660 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/2/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:43955/we/want/676 log/2/cookies676 > log/2/stdout676 2> log/2/stderr676 676: 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/ dir 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/2/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:43955/we/want/676 log/2/cookies676 > log/2/stdout676 2> log/2/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 07:51:42.341392 ====> Client connect 07:51:42.341430 accept_connection 3 returned 4 07:51:42.341447 accept_connection 3 returned 0 07:51:42.341464 Read 93 bytes 07:51:42.341475 Process 93 bytes request 07:51:42.341491 Got request: GET /verifiedserver HTTP/1.1 07:51:42.341502 Are-we-friendly question received 07:51:42.341531 Wrote request (93 bytes) input to log/2/server.input 07:51:42.341550 Identifying ourselves as friends 07:51:42.341603 Response sent (56 bytes) and written to log/2/server.response 07:51:42.341614 special request received, no persistency 07:51:42.341623 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 33086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr676 URL: http://127.0.0.1:43955/we/want/676 === End of file stderr676 === Start of file valgrind676 ==111401== ==111401== Process terminating with default action of signal 4 (SIGILL) ==111401== Illegal opcode at address 0x51D5F1F ==111401== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111401== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111401== by 0x51D5F1F: Curl_open (url.c:525) ==111401== by 0x514F6EF: curl_easy_init (easy.c:371) ==111401== by 0x4021386: test_lib676.lto_priv.0 (lib676.c:38) ==111401== by 0x400347F: main (first.c:280) ==111401== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111401== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111401== by 0x51D5EBD: Curl_open (url.c:504) ==111401== by 0x514F6EF: curl_easy_init (easy.c:371) ==111401== by 0x4021386: test_lib676.lto_priv.0 (lib676.c:38) ==111401== by 0x400347F: main (first.c:280) ==111401== === End of file valgrind676 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/24/valgrind680 ../src/curl -q --output log/24/curl680.out --include --trace-ascii log/24/trace680 --trace-time --netrc --netrc-file log/24/netrc680 http://user1@http.example/ > log/24/stdout680 2> log/24/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/24/ dir 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/24/valgrind680 ../src/curl -q --output log/24/curl680.out --include --trace-ascii log/24/trace680 --trace-time --netrc --netrc-file log/24/netrc680 http://user1@http.example/ > log/24/stdout680 2> log/24/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 ==111427== ==111427== Process terminating with default action of signal 4 (SIGILL) ==111427== Illegal opcode at address 0x4013DC0 ==111427== at 0x4013DC0: getparameCMD (33792): ../libtool --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/valgrind679 ../src/curl -q --output log/10/curl679.out --include --trace-ascii log/10/trace679 --trace-time --netrc-optional --netrc-file log/10/netrc679 http://127.0.0.1:34041/ > log/10/stdout679 2> log/10/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/11/valgrind681 ../src/curl -q --trace-ascii log/11/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:38169/681 > log/11/stdout681 2> log/11/stderr681 ter (tool_getparam.c:2846) ==111427== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111427== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111427== by 0x40037A4: main (tool_main.c:199) === End of file valgrind680 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/10/valgrind679 ../src/curl -q --output log/10/curl679.out --include --trace-ascii log/10/trace679 --trace-time --netrc-optional --netrc-file log/10/netrc679 http://127.0.0.1:34041/ > log/10/stdout679 2> log/10/stderr679 679: 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/ dir 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/10/valgrind679 ../src/curl -q --output log/10/curl679.out --include --trace-ascii log/10/trace679 --trace-time --netrc-optional --netrc-file log/10/netrc679 http://127.0.0.1:34041/ > log/10/stdout679 2> log/10/stderr679 === End of file commands.log === Start of file http_server.log 07:51:41.449266 ====> Client connect 07:51:41.449308 accept_connection 3 returned 4 07:51:41.449328 accept_connection 3 returned 0 07:51:41.449493 Read 93 bytes 07:51:41.449510 Process 93 bytes request 07:51:41.449526 Got request: GET /verifiedserver HTTP/1.1 07:51:41.449537 Are-we-friendly question received 07:51:41.449571 Wrote request (93 bytes) input to log/10/server.input 07:51:41.449591 Identifying ourselves as friends 07:51:41.449646 Response sent (56 bytes) and written to log/10/server.response 07:51:41.449657 special request received, no persistency 07:51:41.449668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 35000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind679 ==111520== ==111520== Process terminating with default action of signal 4 (SIGILL) ==111520== Illegal opcode at address 0x4013DC0 ==111520== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111520== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111520== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111520== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind684 ../src/curl -q --output log/20/curl684.out --include --trace-ascii log/20/trace684 --trace-time --netrc-optional --netrc-file log/20/netrc684 http://127.0.0.1:40357/ > log/20/stdout684 2> log/20/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/13/valgrind683 ../src/curl -q --output log/13/curl683.out --include --trace-ascii log/13/trace683 --trace-time --netrc-optional --netrc-file log/13/netrc683 http://user2@127.0.0.1:35041/ > log/13/stdout683 2> log/13/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/11/valgrind681 ../src/curl -q --trace-ascii log/11/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:38169/681 > log/11/stdout681 2> log/11/stderr681 681: stdout FAILED: --- log/11/check-expected 2025-11-07 07:51:42.934040448 +0000 +++ log/11/check-generated 2025-11-07 07:51:42.934040448 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/11/ dir 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/11/valgrind681 ../src/curl -q --trace-ascii log/11/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:38169/681 > log/11/stdout681 2> log/11/stderr681 === End of file commands.log === Start of file http_server.log 07:51:41.475114 ====> Client connect 07:51:41.475297 accept_connection 3 returned 4 07:51:41.475319 accept_connection 3 returned 0 07:51:41.475336 Read 93 bytes 07:51:41.475347 Process 93 bytes request 07:51:41.475362 Got request: GET /verifiedserver HTTP/1.1 07:51:41.475373 Are-we-friendly question received 07:51:41.475399 Wrote request (93 bytes) input to log/11/server.input 07:51:41.475416 Identifying ourselves as friends 07:51:41.475471 Response sent (56 bytes) and written to log/11/server.response 07:51:41.475483 special request received, no persistency 07:51:41.475493 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 49322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind681 ==111561== ==111561== Process terminating with default action of signal 4 (SIGILL) ==111561== Illegal opcode at address 0x4013DC0 ==111561== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111561== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111561== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111561== by 0x40037A4: main (tool_main.c:199) === End of file valgrind681 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/13/valgrind683 ../src/curl -q --output log/13/curl683.out --include --trace-ascii log/13/trace683 --trace-time --netrc-optional --netrc-file log/13/netrc683 http://user2@127.0.0.1:35041/ > log/13/stdout683 2> log/13/stderr683 683: 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/ dir 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/13/valgrind683 ../src/curl -q --output log/13/curl683.out --include --trace-ascii log/13/trace683 --trace-time --netrc-optional --netrc-file log/13/netrc683 http://user2@127.0.0.1:35041/ > log/13/stdout683 2> log/13/stderr683 === End of file commands.log === Start of file http_server.log 07:51:41.670221 ====> Client connect 07:51:41.670253 accept_connection 3 returned 4 07:51:41.670269 accept_connection 3 returned 0 07:51:41.670282 Read 93 bytes 07:51:41.670292 Process 93 bytes request 07:51:41.670305 Got request: GET /verifiedserver HTTP/1.1 07:51:41.670314 Are-we-friendly question received 07:51:41.670337 Wrote request (93 bytes) input to log/13/server.input 07:51:41.670352 Identifying ourselves as friends 07:51:41.670403 Response sent (56 bytes) and written to log/13/server.response 07:51:41.670413 special request received, no persistency 07:51:41.670422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 44432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind683 ==111781== ==111781== Process terminating with default action of signal 4 (SIGILL) ==111781== Illegal opcode at address 0x4013DC0 ==111781== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111781== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111781== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111781== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind684 ../src/curl -q --output log/20/curl684.out --include --trace-ascii log/20/trace684 --trace-time --netrc-optional --netrc-file log/20/netrc684 http://127.0.0.1:40357/ > log/20/stdout684 2> log/20/stderr684 684: 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/ dir 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/20/valgrind684 ../src/curl -q --output log/20/curl684.out --include --trace-ascii log/20/trace684 --trace-time --netrc-optional --netrc-file log/20/netrc684 http://127.0.0.1:40357/ > log/20/stdout684 2> log/20/stderr684 === End of file commands.log === Start of file http_server.log 07:51:41.683047 ====> Client connect 07:51:41.683084 accept_connection 3 returned 4 07:51:41.683103 accept_connection 3 returned 0 07:51:41.683120 Read 93 bytes 07:51:41.683132 Process 93 bytes request 07:51:41.683145 Got request: GET /verifiedserver HTTP/1.1 07:51:41.683155 Are-we-friendly question received 07:51:41.683191 Wrote request (93 bytes) input to log/20/server.input 07:51:41.683213 Identifying ourselves as friends 07:51:41.683303 Response sent (56 bytes) and written to log/20/server.response 07:51:41.683314 special request received, no persistency 07:51:41.683326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 57176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 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/3/valgrind682 ../src/curl -q --output log/3/curl682.out --include --trace-ascii log/3/trace682 --trace-time --netrc-optional --netrc-file log/3/netrc682 http://user1@127.0.0.1:34059/ > log/3/stdout682 2> log/3/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/1/valgrind685 ../src/curl -q --output log/1/curl685.out --include --trace-ascii log/1/trace685 --trace-time --netrc-optional --netrc-file log/1/netrc685 http://user@127.0.0.1:35709/ > log/1/stdout685 2> log/1/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 K < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind684 ==111807== ==111807== Process terminating with default action of signal 4 (SIGILL) ==111807== Illegal opcode at address 0x4013DC0 ==111807== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111807== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111807== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111807== by 0x40037A4: main (tool_main.c:199) === End of file valgrind684 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/1/valgrind685 ../src/curl -q --output log/1/curl685.out --include --trace-ascii log/1/trace685 --trace-time --netrc-optional --netrc-file log/1/netrc685 http://user@127.0.0.1:35709/ > log/1/stdout685 2> log/1/stderr685 685: 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/ dir 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/1/valgrind685 ../src/curl -q --output log/1/curl685.out --include --trace-ascii log/1/trace685 --trace-time --netrc-optional --netrc-file log/1/netrc685 http://user@127.0.0.1:35709/ > log/1/stdout685 2> log/1/stderr685 === End of file commands.log === Start of file http_server.log 07:51:41.697709 ====> Client connect 07:51:41.697833 accept_connection 3 returned 4 07:51:41.697851 accept_connection 3 returned 0 07:51:41.697868 Read 93 bytes 07:51:41.697880 Process 93 bytes request 07:51:41.697896 Got request: GET /verifiedserver HTTP/1.1 07:51:41.697907 Are-we-friendly question received 07:51:41.697935 Wrote request (93 bytes) input to log/1/server.input 07:51:41.697953 Identifying ourselves as friends 07:51:41.698010 Response sent (56 bytes) and written to log/1/server.response 07:51:41.698022 special request received, no persistency 07:51:41.698033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind685 ==111821== ==111821== Process terminating with default action of signal 4 (SIGILL) ==111821== Illegal opcode at address 0x4013DC0 ==111821== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111821== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111821== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111821== by 0x40037A4: main (tool_main.c:199) === End of file valgrind685 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/3/valgrind682 ../src/curl -q --output log/3/curl682.out --include --trace-ascii log/3/trace682 --trace-time --netrc-optional --netrc-file log/3/netrc682 http://user1@127.0.0.1:34059/ > log/3/stdout682 2> log/3/stderr682 682: 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/ dir 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/3/valgrind682 ../src/curl -q --output log/3/curl682.out --include --trace-ascii log/3/trace682 --trace-time --netrc-optional --netrc-file log/3/netrc682 http://user1@127.0.0.1:34059/ > log/3/stdout682 2> log/3/stderr682 === End of file commands.log === Start of file http_server.log 07:51:42.552569 ====> Client connect 07:51:42.553048 accept_connection 3 returned 4 07:51:42.553068 accept_connection 3 returned 0 07:51:42.553189 Read 93 bytes 07:51:42.553203 Process 93 bytes request 07:51:42.553218 Got request: GET /verifiedserver HTTP/1.1 07:51:42.553228 Are-we-friendly question received 07:51:42.553327 Wrote request (93 bytes) input to log/3/server.input 07:51:42.554683 Identifying ourselves as friends 07:51:42.555218 Response sent (56 bytes) and written to log/3/server.response 07:51:42.555232 special request received, no persistency 07:51:42.555242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 39148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind682 ==111652== ==111652== Process terminating with default action of signal 4 (SIGILL) ==111652== Illegal opcode at address 0x4013DC0 ==111652== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111652== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111652== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111652== by 0x40037A4: main (tool_main.c:199) === End of file valgrind682 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/ dir 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 ==111723== ==111723== 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/5/valgrind692 ../src/curl -q --trace-ascii log/5/trace692 --trace-time http://127.0.0.1:42797/ -JO --output-dir log/5 > log/5/stdout692 2> log/5/stderr692 CMD (33792): ../libtool --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/valgrind690 ../src/curl -q --include --trace-ascii log/15/trace690 --trace-time http://127.0.0.1:43789/ -O --output-dir log/15 > log/15/stdout690 2> log/15/stderr690 CMD (33792): ../libtool --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/valgrind691 ../src/curl -q --include --trace-ascii log/6/trace691 --trace-time http://127.0.0.1:45933/path/to/here/ -O --output-dir log/6 > log/6/stdout691 2> log/6/stderr691 ==111723== Illegal opcode at address 0x4013DC0 ==111723== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==111723== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111723== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==111723== by 0x40037A4: main (tool_main.c:199) === End of file valgrind686 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/5/valgrind692 ../src/curl -q --trace-ascii log/5/trace692 --trace-time http://127.0.0.1:42797/ -JO --output-dir log/5 > log/5/stdout692 2> log/5/stderr692 692: 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/ dir 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/5/valgrind692 ../src/curl -q --trace-ascii log/5/trace692 --trace-time http://127.0.0.1:42797/ -JO --output-dir log/5 > log/5/stdout692 2> log/5/stderr692 === End of file commands.log === Start of file http_server.log 07:51:41.832591 ====> Client connect 07:51:41.832632 accept_connection 3 returned 4 07:51:41.832653 accept_connection 3 returned 0 07:51:41.832670 Read 93 bytes 07:51:41.832682 Process 93 bytes request 07:51:41.832695 Got request: GET /verifiedserver HTTP/1.1 07:51:41.832706 Are-we-friendly question received 07:51:41.832733 Wrote request (93 bytes) input to log/5/server.input 07:51:41.832752 Identifying ourselves as friends 07:51:41.832818 Response sent (56 bytes) and written to log/5/server.response 07:51:41.832831 special request received, no persistency 07:51:41.832841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 58728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind692 ==112074== ==112074== Process terminating with default action of signal 4 (SIGILL) ==112074== Illegal opcode at address 0x4013DC0 ==112074== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112074== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112074== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112074== by 0x40037A4: main (tool_main.c:199) === End of file valgrind692 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/15/valgrind690 ../src/curl -q --include --trace-ascii log/15/trace690 --trace-time http://127.0.0.1:43789/ -O --output-dir log/15 > log/15/stdout690 2> log/15/stderr690 690: 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/ dir 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/15/valgrind690 ../src/curl -q --include --trace-ascii log/15/trace690 --trace-time http://127.0.0.1:43789/ -O --output-dir log/15 > log/15/stdout690 2> log/15/stderr690 === End of file commands.log === Start of file http_server.log 07:51:41.791093 ====> Client connect 07:51:41.791126 accept_connection 3 returned 4 07:51:41.791142 accept_connection 3 returned 0 07:51:41.791156 Read 93 bytes 07:51:41.791166 Process 93 bytes request 07:51:41.791179 Got request: GET /verifiedserver HTTP/1.1 07:51:41.791188 Are-we-friendly question received 07:51:41.791210 Wrote request (93 bytes) input to log/15/server.input 07:51:41.791225 Identifying ourselves as friends 07:51:41.791274 Response sent (56 bytes) and written to log/15/server.response 07:51:41.791284 special request received, no persistency 07:51:41.791292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 41114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind690 ==112010== ==112010== Process terminating with default action of signal 4 (SIGILL) ==112010== Illegal opcode at address 0x4013DC0 ==112010== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112010== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112010== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112010== by 0x40037A4: main (tool_main.c:199) === End of file valgrind690 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/6/valgrind691 ../src/curl -q --include --trace-ascii log/6/trace691 --trace-time http://127.0.0.1:45933/path/to/here/ -O --output-dir log/6 > log/6/stdout691 2> log/6/stderr691 691: 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/ dir 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/6/valgrind691 ../src/curl -q --include --trace-ascii log/6/trace691 --trace-time http://127.0.0.1:45933/path/to/here/ -O --output-dir log/6 > log/6/stdout691 2> log/6/stderr691 === End of file commands.log === Start of file http_server.log 07:51:41.817804 ====> Client connect 07:51:41.817838 accept_connection 3 returned 4 07:51:41.817856 accept_connection 3 returned 0 07:51:41.822902 Read 93 bytes 07:51:41.822926 Process 93 bytes request 07:51:41.822942 Got request: GET /verifiedserver HTTP/1.1 07:51:41.822953 Are-we-friendly question received 07:51:41.822988 Wrote request (93 bytes) input to log/6/server.input 07:51:41.823006 Identifying ourselves as friends 07:51:41.823063 Response sent (56 bytes) and written to log/6/server.response 07:51:41.823075 special request received, no persistency 07:51:41.823085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 53048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 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/23/valgrind693 ../src/curl -q --output log/23/curl693.out --include --trace-ascii log/23/trace693 --trace-time http://127.0.0.1:41029/693 --etag-save log/23/moo/boo/etag693 --create-dirs > log/23/stdout693 2> log/23/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/14/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:34115/path/mine http://127.0.0.1:34115/path/6940010 > log/14/stdout694 2> log/14/stderr694 CMD (33792): ../libtool --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/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:34835/we/want/695 > log/19/stdout695 2> log/19/stderr695 Z: 83854 === 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: 83854 === End of file server.response === Start of file valgrind691 ==112043== ==112043== Process terminating with default action of signal 4 (SIGILL) ==112043== Illegal opcode at address 0x4013DC0 ==112043== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112043== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112043== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112043== by 0x40037A4: main (tool_main.c:199) === End of file valgrind691 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/23/valgrind693 ../src/curl -q --output log/23/curl693.out --include --trace-ascii log/23/trace693 --trace-time http://127.0.0.1:41029/693 --etag-save log/23/moo/boo/etag693 --create-dirs > log/23/stdout693 2> log/23/stderr693 693: 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/ dir 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/23/valgrind693 ../src/curl -q --output log/23/curl693.out --include --trace-ascii log/23/trace693 --trace-time http://127.0.0.1:41029/693 --etag-save log/23/moo/boo/etag693 --create-dirs > log/23/stdout693 2> log/23/stderr693 === End of file commands.log === Start of file http_server.log 07:51:41.882677 ====> Client connect 07:51:41.882718 accept_connection 3 returned 4 07:51:41.882737 accept_connection 3 returned 0 07:51:41.882755 Read 93 bytes 07:51:41.882766 Process 93 bytes request 07:51:41.882782 Got request: GET /verifiedserver HTTP/1.1 07:51:41.882793 Are-we-friendly question received 07:51:41.882824 Wrote request (93 bytes) input to log/23/server.input 07:51:41.882842 Identifying ourselves as friends 07:51:41.882907 Response sent (56 bytes) and written to log/23/server.response 07:51:41.882918 special request received, no persistency 07:51:41.882927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind693 ==112157== ==112157== Process terminating with default action of signal 4 (SIGILL) ==112157== Illegal opcode at address 0x4013DC0 ==112157== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112157== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112157== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112157== by 0x40037A4: main (tool_main.c:199) === End of file valgrind693 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/14/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:34115/path/mine http://127.0.0.1:34115/path/6940010 > log/14/stdout694 2> log/14/stderr694 694: 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/ dir 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/14/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:34115/path/mine http://127.0.0.1:34115/path/6940010 > log/14/stdout694 2> log/14/stderr694 === End of file commands.log === Start of file http_server.log 07:51:42.025919 ====> Client connect 07:51:42.025959 accept_connection 3 returned 4 07:51:42.025978 accept_connection 3 returned 0 07:51:42.025995 Read 93 bytes 07:51:42.026006 Process 93 bytes request 07:51:42.026021 Got request: GET /verifiedserver HTTP/1.1 07:51:42.026031 Are-we-friendly question received 07:51:42.026056 Wrote request (93 bytes) input to log/14/server.input 07:51:42.026074 Identifying ourselves as friends 07:51:42.026138 Response sent (56 bytes) and written to log/14/server.response 07:51:42.026149 special request received, no persistency 07:51:42.026160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === End of file http_verify.out === Start of file server.cmd Testnum 694 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74404 === End of file server.response === Start of file stderr694 URL: http://127.0.0.1:34115/path/mine === End of file stderr694 === Start of file valgrind694 ==112279== ==112279== Process terminating with default action of signal 4 (SIGILL) ==112279== Illegal opcode at address 0x51D5F1F ==112279== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112279== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112279== by 0x51D5F1F: Curl_open (url.c:525) ==112279== by 0x514F6EF: curl_easy_init (easy.c:371) ==112279== by 0x4022481: test_lib694.lto_priv.0 (lib694.c:40) ==112279== by 0x400347F: main (first.c:280) ==112279== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112279== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112279== by 0x51D5EBD: Curl_open (url.c:504) ==112279== by 0x514F6EF: curl_easy_init (easy.c:371) ==112279== by 0x4022481: test_lib694.lto_priv.0 (lib694.c:40) ==112279== by 0x400347F: main (first.c:280) ==112279== === End of file valgrind694 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/19/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:34835/we/want/695 > log/19/stdout695 2> log/19/stderr695 695: 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/ dir 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/19/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:34835/we/want/695 > log/19/stdout695 2> log/19/stderr695 === End of file commands.log === Start of file http_server.log 07:51:42.060211 ====> Client connect 07:51:42.060338 accept_connection 3 returned 4 07:51:42.060357 accept_connection 3 returned 0 07:51:42.062669 Read 93 bytes 07:51:42.062691 Process 93 bytes request 07:51:42.062706 Got request: GET /verifiedserver HTTP/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/7/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:39661 > log/7/stdout696 2> log/7/stderr696 .1 07:51:42.062718 Are-we-friendly question received 07:51:42.062756 Wrote request (93 bytes) input to log/19/server.input 07:51:42.062774 Identifying ourselves as friends 07:51:42.062835 Response sent (56 bytes) and written to log/19/server.response 07:51:42.062846 special request received, no persistency 07:51:42.062856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 34936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr695 URL: http://127.0.0.1:34835/we/want/695 === End of file stderr695 === Start of file valgrind695 ==112297== ==112297== Process terminating with default action of signal 4 (SIGILL) ==112297== Illegal opcode at address 0x51D5F1F ==112297== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112297== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112297== by 0x51D5F1F: Curl_open (url.c:525) ==112297== by 0x514F6EF: curl_easy_init (easy.c:371) ==112297== by 0x402598A: test_lib695.lto_priv.0 (lib695.c:53) ==112297== by 0x400347F: main (first.c:280) ==112297== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112297== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112297== by 0x51D5EBD: Curl_open (url.c:504) ==112297== by 0x514F6EF: curl_easy_init (easy.c:371) ==112297== by 0x402598A: test_lib695.lto_priv.0 (lib695.c:53) ==112297== by 0x400347F: main (first.c:280) ==112297== === End of file valgrind695 CMD (33792): ../libtool --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/valgrind697 ../src/curl -q --output log/4/curl697.out --include --trace-ascii log/4/trace697 --trace-time --netrc --netrc-file log/4/netrc697 http://user1@http.example/ > log/4/stdout697 2> log/4/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/8/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:36031/677 > log/8/stdout677 2> log/8/stderr677 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/7/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:39661 > log/7/stdout696 2> log/7/stderr696 696: stdout FAILED: --- log/7/check-expected 2025-11-07 07:51:43.644040455 +0000 +++ log/7/check-generated 2025-11-07 07:51:43.644040455 +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/7/ dir 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/7/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:39661 > log/7/stdout696 2> log/7/stderr696 === End of file commands.log === Start of file http_server.log 07:51:43.209251 ====> Client connect 07:51:43.209287 accept_connection 3 returned 4 07:51:43.209305 accept_connection 3 returned 0 07:51:43.209321 Read 93 bytes 07:51:43.209332 Process 93 bytes request 07:51:43.209346 Got request: GET /verifiedserver HTTP/1.1 07:51:43.209357 Are-we-friendly question received 07:51:43.209383 Wrote request (93 bytes) input to log/7/server.input 07:51:43.209402 Identifying ourselves as friends 07:51:43.209468 Response sent (56 bytes) and written to log/7/server.response 07:51:43.209480 special request received, no persistency 07:51:43.209490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 37644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr696 URL: http://127.0.0.1:39661 === End of file stderr696 === Start of file valgrind696 ==112415== ==112415== Process terminating with default action of signal 4 (SIGILL) ==112415== Illegal opcode at address 0x51D5F1F ==112415== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112415== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112415== by 0x51D5F1F: Curl_open (url.c:525) ==112415== by 0x514F6EF: curl_easy_init (easy.c:371) ==112415== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==112415== by 0x400347F: main (first.c:280) ==112415== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112415== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112415== by 0x51D5EBD: Curl_open (url.c:504) ==112415== by 0x514F6EF: curl_easy_init (easy.c:371) ==112415== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==112415== by 0x400347F: main (first.c:280) ==112415== === End of file valgrind696 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/4/valgrind697 ../src/curl -q --output log/4/curl697.out --include --trace-ascii log/4/trace697 --trace-time --netrc --netrc-file log/4/netrc697 http://user1@http.example/ > log/4/stdout697 2> log/4/stderr697 curl returned 132, when expecting 26 697: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind697 ../src/curl -q --output log/4/curl697.out --include --trace-ascii log/4/trace697 --trace-time --netrc --netrc-file log/4/netrc697 http://user1@http.example/ > log/4/stdout697 2> log/4/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==112511== ==112511== Process terminating with default action of signal 4 (SIGILL) ==112511== Illegal opcode at address 0x4013DC0 ==112511== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112511== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112511== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112511== by 0x40037A4: main (tool_main.c:199) === End of file valgrind697 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 36031 (log/8/server/imap_server.port) RUN: IMAP server is PID 111388 port 36031 * pid imap => 111388 111388 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/8/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:36031/677 > log/8/stdout677 2> log/8/stderr677 677: 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/ dir 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/8/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:36031/677 > log/8/stdout677 2> log/8/stderr677 === End of file commands.log === Start of file imap_server.log 07:51:41.581434 IMAP server listens on port IPv4/36031 07:51:41.581543 logged pid 111388 in log/8/server/imap_server.pid 07:51:41.581575 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:41.403287 Running IPv4 version 07:51:41.403366 Listening on port 36031 07:51:41.403408 Wrote pid 111436 to log/8/server/imap_sockfilt.pid 07:51:41.403439 Wrote port 36031 to log/8/server/imap_server.port 07:51:41.409222 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:36031/677 === End of file stderr677 === Start of file valgrind677 ==112474== ==112474== Process terminating with default action of signal 4 (SIGILL) ==112474== Illegal opcode at address 0x519E800 ==112474== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==112474== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==112474== by 0x519E800: Curl_multi_handle (multi.c:247) ==112474== by 0x4027B0F: test_lib677.lto_priv.0 (lib677.c:43) ==112474== by 0x400347F: main (first.c:280) ==112474== 712 bytes in 1 blocks are definitely lost in 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/12/valgrind699 ../src/curl -q --output log/12/curl699.out --include --trace-ascii log/12/trace699 --trace-time http://127.0.0.1:38023/699 -K log/12/cmd > log/12/stdout699 2> log/12/stderr699 CMD (33792): ../libtool --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/valgrind698 ../src/curl -q --output log/9/curl698.out --include --trace-ascii log/9/trace698 --trace-time ftp://127.0.0.1:33709/698 --ftp-account "one count" ftp://127.0.0.1:33709/698 > log/9/stdout698 2> log/9/stderr698 oss record 612 of 645 ==112474== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112474== by 0x519E794: Curl_multi_handle (multi.c:239) ==112474== by 0x4027B0F: test_lib677.lto_priv.0 (lib677.c:43) ==112474== by 0x400347F: main (first.c:280) ==112474== === End of file valgrind677 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/12/valgrind699 ../src/curl -q --output log/12/curl699.out --include --trace-ascii log/12/trace699 --trace-time http://127.0.0.1:38023/699 -K log/12/cmd > log/12/stdout699 2> log/12/stderr699 699: 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/ dir 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/12/valgrind699 ../src/curl -q --output log/12/curl699.out --include --trace-ascii log/12/trace699 --trace-time http://127.0.0.1:38023/699 -K log/12/cmd > log/12/stdout699 2> log/12/stderr699 === End of file commands.log === Start of file http_server.log 07:51:42.499817 ====> Client connect 07:51:42.499854 accept_connection 3 returned 4 07:51:42.499873 accept_connection 3 returned 0 07:51:42.499889 Read 93 bytes 07:51:42.499900 Process 93 bytes request 07:51:42.499917 Got request: GET /verifiedserver HTTP/1.1 07:51:42.499928 Are-we-friendly question received 07:51:42.499958 Wrote request (93 bytes) input to log/12/server.input 07:51:42.499977 Identifying ourselves as friends 07:51:42.500038 Response sent (56 bytes) and written to log/12/server.response 07:51:42.500050 special request received, no persistency 07:51:42.500061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 58502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind699 ==112584== ==112584== Process terminating with default action of signal 4 (SIGILL) ==112584== Illegal opcode at address 0x4013DC0 ==112584== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112584== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112584== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112584== by 0x40037A4: main (tool_main.c:199) === End of file valgrind699 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/9/valgrind698 ../src/curl -q --output log/9/curl698.out --include --trace-ascii log/9/trace698 --trace-time ftp://127.0.0.1:33709/698 --ftp-account "one count" ftp://127.0.0.1:33709/698 > log/9/stdout698 2> log/9/stderr698 698: 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/ dir after test 698 === Start of file commands.log ../libtool --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/valgrind698 ../src/curl -q --output log/9/curl698.out --include --trace-ascii log/9/trace698 --trace-time ftp://127.0.0.1:33709/698 --ftp-account "one count" ftp://127.0.0.1:33709/698 > log/9/stdout698 2> log/9/stderr698 === End of file commands.log === Start of file ftp_server.log 07:51:42.658045 ====> Client connect 07:51:42.658209 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:42.658503 < "USER anonymous" 07:51:42.658543 > "331 We are happy you popped in![CR][LF]" 07:51:42.658717 < "PASS ftp@example.com" 07:51:42.658743 > "230 Welcome you silly person[CR][LF]" 07:51:42.658889 < "PWD" 07:51:42.658919 > "257 "/" is current directory[CR][LF]" 07:51:42.659068 < "EPSV" 07:51:42.659090 ====> Passive DATA channel requested by client 07:51:42.659103 DATA sockfilt for passive data channel starting... 07:51:42.662878 DATA sockfilt for passive data channel started (pid 112573) 07:51:42.662982 DATA sockfilt for passive data channel listens on port 36883 07:51:42.663021 > "229 Entering Passive Mode (|||36883|)[CR][LF]" 07:51:42.663039 Client has been notified that DATA conn will be accepted on port 36883 07:51:42.663273 Client connects to port 36883 07:51:42.663303 ====> Client established passive DATA connection on port 36883 07:51:42.663379 < "TYPE I" 07:51:42.663406 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:42.667981 < "SIZE verifiedserver" 07:51:42.668026 > "213 17[CR][LF]" 07:51:42.668195 < "RETR verifiedserver" 07:51:42.668229 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:42.668321 =====> Closing passive DATA connection... 07:51:42.668336 Server disconnects passive DATA connection 07:51:42.668535 Server disconnected passive DATA connection 07:51:42.668558 DATA sockfilt for passive data channel quits (pid 112573) 07:51:42.668886 DATA sockfilt for passive data channel quit (pid 112573) 07:51:42.668909 =====> Closed passive DATA connection 07:51:42.668937 > "226 File transfer complete[CR][LF]" 07:51:42.718274 < "QUIT" 07:51:42.718341 > "221 bye bye baby[CR][LF]" 07:51:42.728630 MAIN sockfilt said DISC 07:51:42.728705 ====> Client disconnected 07:51:42.728788 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:42.485878 ====> Client connect 07:51:42.486166 Received DATA (on stdin) 07:51:42.486182 > 160 bytes data, server => client 07:51:42.486195 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:42.486206 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:42.486217 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:42.486296 < 16 bytes data, client => server 07:51:42.486309 'USER anonymous\r\n' 07:51:42.486490 Received DATA (on stdin) 07:51:42.486503 > 33 bytes data, server => client 07:51:42.486516 '331 We are happy you popped in!\r\n' 07:51:42.486567 < 22 bytes data, client => server 07:51:42.486579 'PASS ftp@example.com\r\n' 07:51:42.486687 Received DATA (on stdin) 07:51:42.486698 > 30 bytes data, server => client 07:51:42.486708 '230 Welcome you silly person\r\n' 07:51:42.486753 < 5 bytes data, client => server 07:51:42.486764 'PWD\r\n' 07:51:42.486861 Received DATA (on stdin) 07:51:42.486872 > 30 bytes data, server => client 07:51:42.486883 '257 "/" is current directory\r\n' 07:51:42.486936 < 6 bytes data, client => server 07:51:42.486946 'EPSV\r\n' 07:51:42.490990 Received DATA (on stdin) 07:51:42.491005 > 39 bytes data, server => client 07:51:42.491017 '229 Entering Passive Mode (|||36883|)\r\n' 07:51:42.491135 < 8 bytes data, client => server 07:51:42.491150 'TYPE I\r\n' 07:51:42.491350 Received DATA (on stdin) 07:51:42.491362 > 33 bytes data, server => client 07:51:42.491372 '200 I modify TYPE as you wanted\r\n' 07:51:42.491419 < 21 bytes data, client => server 07:51:42.491430 'SIZE verifiedserver\r\n' 07:51:42.495973 Received DATA (on stdin) 07:51:42.495988 > 8 bytes data, server => client 07:51:42.CMD (33792): ../libtool --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/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:43207/689 > log/16/stdout689 2> log/16/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/10/valgrind705 ../src/curl -q --output log/10/curl705.out --include --trace-ascii log/10/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:34041/705 > log/10/stdout705 2> log/10/stderr705 CMD (33792): ../libtool --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/valgrind704 ../src/curl -q --output log/24/curl704.out --include --trace-ascii log/24/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:41843/704 > log/24/stdout704 2> log/24/stderr704 495999 '213 17\r\n' 07:51:42.496056 < 21 bytes data, client => server 07:51:42.496068 'RETR verifiedserver\r\n' 07:51:42.496283 Received DATA (on stdin) 07:51:42.496295 > 29 bytes data, server => client 07:51:42.496306 '150 Binary junk (17 bytes).\r\n' 07:51:42.496883 Received DATA (on stdin) 07:51:42.496897 > 28 bytes data, server => client 07:51:42.496908 '226 File transfer complete\r\n' 07:51:42.545990 < 6 bytes data, client => server 07:51:42.546032 'QUIT\r\n' 07:51:42.546299 Received DATA (on stdin) 07:51:42.546315 > 18 bytes data, server => client 07:51:42.546328 '221 bye bye baby\r\n' 07:51:42.555866 ====> Client disconnect 07:51:42.556738 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:42.490492 Running IPv4 version 07:51:42.490567 Listening on port 36883 07:51:42.490602 Wrote pid 112573 to log/9/server/ftp_sockdata.pid 07:51:42.490768 Received PING (on stdin) 07:51:42.490843 Received PORT (on stdin) 07:51:42.491170 ====> Client connect 07:51:42.496362 Received DATA (on stdin) 07:51:42.496378 > 17 bytes data, server => client 07:51:42.496389 'WE ROOLZ: 81212\r\n' 07:51:42.496416 Received DISC (on stdin) 07:51:42.496428 ====> Client forcibly disconnected 07:51:42.496570 Received QUIT (on stdin) 07:51:42.496583 quits 07:51:42.496644 ============> 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 ==112633== ==112633== Process terminating with default action of signal 4 (SIGILL) ==112633== Illegal opcode at address 0x4013DC0 ==112633== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112633== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112633== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112633== by 0x40037A4: main (tool_main.c:199) === End of file valgrind698 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/16/server/rtsp_server.pid" --portfile "log/16/server/rtsp_server.port" --logfile "log/16/rtsp_server.log" --logdir "log/16" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111882 port 43207 * pid rtsp => 111882 111882 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/16/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:43207/689 > log/16/stdout689 2> log/16/stderr689 689: 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/ dir 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/16/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:43207/689 > log/16/stdout689 2> log/16/stderr689 === End of file commands.log === Start of file rtsp_server.log 07:51:41.779155 Running IPv4 version on port 43207 07:51:41.782166 Wrote pid 111882 to log/16/server/rtsp_server.pid 07:51:41.782207 Wrote port 43207 to log/16/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:43207/689 === End of file stderr689 === Start of file valgrind689 ==112765== ==112765== Process terminating with default action of signal 4 (SIGILL) ==112765== Illegal opcode at address 0x51D5F1F ==112765== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112765== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112765== by 0x51D5F1F: Curl_open (url.c:525) ==112765== by 0x514F6EF: curl_easy_init (easy.c:371) ==112765== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==112765== by 0x400347F: main (first.c:280) ==112765== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112765== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112765== by 0x51D5EBD: Curl_open (url.c:504) ==112765== by 0x514F6EF: curl_easy_init (easy.c:371) ==112765== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==112765== by 0x400347F: main (first.c:280) ==112765== === End of file valgrind689 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/10/valgrind705 ../src/curl -q --output log/10/curl705.out --include --trace-ascii log/10/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:34041/705 > log/10/stdout705 2> log/10/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/10/ dir 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/10/valgrind705 ../src/curl -q --output log/10/curl705.out --include --trace-ascii log/10/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:34041/705 > log/10/stdout705 2> log/10/stderr705 === End of file commands.log === Start of file http_server.log 07:51:42.810493 ====> Client connect 07:51:42.810544 accept_connection 3 returned 4 07:51:42.810563 accept_connection 3 returned 0 07:51:42.810580 Read 93 bytes 07:51:42.810591 Process 93 bytes request 07:51:42.810605 Got request: GET /verifiedserver HTTP/1.1 07:51:42.810616 Are-we-friendly question received 07:51:42.810650 Wrote request (93 bytes) input to log/10/server.input 07:51:42.810670 Identifying ourselves as friends 07:51:42.810728 Response sent (56 bytes) and written to log/10/server.response 07:51:42.810740 special request received, no persistency 07:51:42.810750 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 35010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind705 ==112826== ==112826== Process terminating with default action of signal 4 (SIGILL) ==112826== Illegal opcode at address 0x4013DC0 ==112826== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112826== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112826== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112826== by 0x40037A4: main (tool_main.c:199) === End of file valgrind705 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/24/valgrind704 ../src/curl -q --output log/24/curl704.out --include --trace-ascii log/24/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:41843/704 > log/24/stdout704 2> log/24/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/24/ dir 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/24/valgrind704 ../src/curl -q --output log/24/curl704.out --include --trace-ascii 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/18/valgrind700 ../src/curl -q --output log/18/curl700.out --include --trace-ascii log/18/trace700 --trace-time --socks4 127.0.0.1:43553 http://127.0.0.1:46763/700 > log/18/stdout700 2> log/18/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/valgrind718 ../src/curl -q --output log/7/curl718.out --include --trace-ascii log/7/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:39661 --proxytunnel > log/7/stdout718 2> log/7/stderr718 24/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:41843/704 > log/24/stdout704 2> log/24/stderr704 === End of file commands.log === Start of file http_server.log 07:51:42.801566 ====> Client connect 07:51:42.801606 accept_connection 3 returned 4 07:51:42.801623 accept_connection 3 returned 0 07:51:42.801639 Read 93 bytes 07:51:42.801650 Process 93 bytes request 07:51:42.801664 Got request: GET /verifiedserver HTTP/1.1 07:51:42.801673 Are-we-friendly question received 07:51:42.801697 Wrote request (93 bytes) input to log/24/server.input 07:51:42.801713 Identifying ourselves as friends 07:51:42.801782 Response sent (56 bytes) and written to log/24/server.response 07:51:42.801793 special request received, no persistency 07:51:42.801802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 37598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind704 ==112830== ==112830== Process terminating with default action of signal 4 (SIGILL) ==112830== Illegal opcode at address 0x4013DC0 ==112830== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==112830== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112830== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==112830== by 0x40037A4: main (tool_main.c:199) === End of file valgrind704 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 112570 * pid socks => 112570 112570 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/18/valgrind700 ../src/curl -q --output log/18/curl700.out --include --trace-ascii log/18/trace700 --trace-time --socks4 127.0.0.1:43553 http://127.0.0.1:46763/700 > log/18/stdout700 2> log/18/stderr700 700: 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/ dir 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/18/valgrind700 ../src/curl -q --output log/18/curl700.out --include --trace-ascii log/18/trace700 --trace-time --socks4 127.0.0.1:43553 http://127.0.0.1:46763/700 > log/18/stdout700 2> log/18/stderr700 === End of file commands.log === Start of file http_server.log 07:51:43.480133 ====> Client connect 07:51:43.480168 accept_connection 3 returned 4 07:51:43.480186 accept_connection 3 returned 0 07:51:43.480201 Read 93 bytes 07:51:43.480211 Process 93 bytes request 07:51:43.480224 Got request: GET /verifiedserver HTTP/1.1 07:51:43.480234 Are-we-friendly question received 07:51:43.480257 Wrote request (93 bytes) input to log/18/server.input 07:51:43.480273 Identifying ourselves as friends 07:51:43.480325 Response sent (56 bytes) and written to log/18/server.response 07:51:43.480335 special request received, no persistency 07:51:43.480344 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file socks_server.log 07:51:42.493110 Running IPv4 version 07:51:42.493212 Listening on port 43553 07:51:42.493249 Wrote pid 112570 to log/18/server/socks_server.pid 07:51:42.493278 Wrote port 43553 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==113167== ==113167== Process terminating with default action of signal 4 (SIGILL) ==113167== Illegal opcode at address 0x4013DC0 ==113167== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113167== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113167== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113167== by 0x40037A4: main (tool_main.c:199) === End of file valgrind700 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/7/valgrind718 ../src/curl -q --output log/7/curl718.out --include --trace-ascii log/7/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:39661 --proxytunnel > log/7/stdout718 2> log/7/stderr718 718: 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/ dir 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/7/valgrind718 ../src/curl -q --output log/7/curl718.out --include --trace-ascii log/7/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:39661 --proxytunnel > log/7/stdout718 2> log/7/stderr718 === End of file commands.log === Start of file http_server.log 07:51:44.501480 ====> Client connect 07:51:44.501513 accept_connection 3 returned 4 07:51:44.501530 accept_connection 3 returned 0 07:51:44.501546 Read 93 bytes 07:51:44.501556 Process 93 bytes request 07:51:44.501570 Got request: GET /verifiedserver HTTP/1.1 07:51:44.501580 Are-we-friendly question received 07:51:44.501604 Wrote request (93 bytes) input to log/7/server.input 07:51:44.501621 Identifying ourselves as friends 07:51:44.501677 Response sent (56 bytes) and written to log/7/server.response 07:51:44.501688 special request received, no persistency 07:51:44.501697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 37654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind718 ==113207== ==113207== Process terminating with default action of signal 4 (SIGILL) ==113207CMD (33792): ../libtool --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:42717 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/21/valgrind702 ../src/curl -q --output log/21/curl702.out --include --trace-ascii log/21/trace702 --trace-time --socks4 127.0.0.1:41115 http://127.0.0.1:47 > log/21/stdout702 2> log/21/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/22/valgrind701 ../src/curl -q --output log/22/curl701.out --include --trace-ascii log/22/trace701 --trace-time --socks5 127.0.0.1:42399 http://127.0.0.1:40377/701 > log/22/stdout701 2> log/22/stderr701 CMD (33792): ../libtool --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/valgrind703 ../src/curl -q --output log/2/curl703.out --include --trace-ascii log/2/trace703 --trace-time --socks5 127.0.0.1:44067 http://127.0.0.1:47 > log/2/stdout703 2> log/2/stderr703 == Illegal opcode at address 0x4013DC0 ==113207== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113207== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113207== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113207== by 0x40037A4: main (tool_main.c:199) === End of file valgrind718 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:42717 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/ dir 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:42717 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout722 2> log/9/stderr722 === End of file commands.log === Start of file http_server.log 07:51:43.626240 ====> Client connect 07:51:43.626274 accept_connection 3 returned 4 07:51:43.626289 accept_connection 3 returned 0 07:51:43.626301 Read 93 bytes 07:51:43.626311 Process 93 bytes request 07:51:43.626323 Got request: GET /verifiedserver HTTP/1.1 07:51:43.626332 Are-we-friendly question received 07:51:43.626353 Wrote request (93 bytes) input to log/9/server.input 07:51:43.626369 Identifying ourselves as friends 07:51:43.626415 Response sent (56 bytes) and written to log/9/server.response 07:51:43.626425 special request received, no persistency 07:51:43.626433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 36862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind722 ==113337== ==113337== Process terminating with default action of signal 4 (SIGILL) ==113337== Illegal opcode at address 0x4013DC0 ==113337== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113337== by 0x40037A4: main (tool_main.c:199) === End of file valgrind722 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 112733 * pid socks => 112733 112733 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/21/valgrind702 ../src/curl -q --output log/21/curl702.out --include --trace-ascii log/21/trace702 --trace-time --socks4 127.0.0.1:41115 http://127.0.0.1:47 > log/21/stdout702 2> log/21/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind702 ../src/curl -q --output log/21/curl702.out --include --trace-ascii log/21/trace702 --trace-time --socks4 127.0.0.1:41115 http://127.0.0.1:47 > log/21/stdout702 2> log/21/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 07:51:42.723423 Running IPv4 version 07:51:42.723488 Listening on port 41115 07:51:42.723520 Wrote pid 112733 to log/21/server/socks_server.pid 07:51:42.723546 Wrote port 41115 to log/21/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==113433== ==113433== Process terminating with default action of signal 4 (SIGILL) ==113433== Illegal opcode at address 0x4013DC0 ==113433== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113433== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113433== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113433== by 0x40037A4: main (tool_main.c:199) === End of file valgrind702 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 112720 * pid socks => 112720 112720 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/22/valgrind701 ../src/curl -q --output log/22/curl701.out --include --trace-ascii log/22/trace701 --trace-time --socks5 127.0.0.1:42399 http://127.0.0.1:40377/701 > log/22/stdout701 2> log/22/stderr701 701: 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/ dir 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/22/valgrind701 ../src/curl -q --output log/22/curl701.out --include --trace-ascii log/22/trace701 --trace-time --socks5 127.0.0.1:42399 http://127.0.0.1:40377/701 > log/22/stdout701 2> log/22/stderr701 === End of file commands.log === Start of file http_server.log 07:51:42.675921 ====> Client connect 07:51:42.675963 accept_connection 3 returned 4 07:51:42.675982 accept_connection 3 returned 0 07:51:42.682690 Read 93 bytes 07:51:42.682714 Process 93 bytes request 07:51:42.682730 Got request: GET /verifiedserver HTTP/1.1 07:51:42.682741 Are-we-friendly question received 07:51:42.682779 Wrote request (93 bytes) input to log/22/server.input 07:51:42.682799 Identifying ourselves as friends 07:51:42.682851 Response sent (56 bytes) and written to log/22/server.response 07:51:42.682862 special request received, no persistency 07:51:42.682873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === 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/16/valgrind723 ../src/curl -q --output log/16/curl723.out --include --trace-ascii log/16/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/16/stdout723 2> log/16/stderr723 CMD (33792): ../libtool --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:42723 ftp://127.0.0.1:46223/ > log/11/stdout706 2> log/11/stderr706 file socks_server.log 07:51:42.691575 Running IPv4 version 07:51:42.691647 Listening on port 42399 07:51:42.691685 Wrote pid 112720 to log/22/server/socks_server.pid 07:51:42.691715 Wrote port 42399 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==113386== ==113386== Process terminating with default action of signal 4 (SIGILL) ==113386== Illegal opcode at address 0x4013DC0 ==113386== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113386== by 0x40037A4: main (tool_main.c:199) === End of file valgrind701 startnew: ./server/servers socksd --port 0 --pidfile log/2/server/socks_server.pid --portfile log/2/server/socks_server.port --reqfile log/2/socksd-request.log --logfile log/2/socks_server.log --backend 127.0.0.1 --config log/2/server.cmd RUN: SOCKS server is now running PID 112739 * pid socks => 112739 112739 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/2/valgrind703 ../src/curl -q --output log/2/curl703.out --include --trace-ascii log/2/trace703 --trace-time --socks5 127.0.0.1:44067 http://127.0.0.1:47 > log/2/stdout703 2> log/2/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/2/ dir 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/2/valgrind703 ../src/curl -q --output log/2/curl703.out --include --trace-ascii log/2/trace703 --trace-time --socks5 127.0.0.1:44067 http://127.0.0.1:47 > log/2/stdout703 2> log/2/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 07:51:42.741488 Running IPv4 version 07:51:42.741571 Listening on port 44067 07:51:42.741610 Wrote pid 112739 to log/2/server/socks_server.pid 07:51:42.741640 Wrote port 44067 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==113451== ==113451== Process terminating with default action of signal 4 (SIGILL) ==113451== Illegal opcode at address 0x4013DC0 ==113451== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113451== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113451== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113451== by 0x40037A4: main (tool_main.c:199) === End of file valgrind703 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/16/valgrind723 ../src/curl -q --output log/16/curl723.out --include --trace-ascii log/16/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/16/stdout723 2> log/16/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/16/ dir 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/16/valgrind723 ../src/curl -q --output log/16/curl723.out --include --trace-ascii log/16/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/16/stdout723 2> log/16/stderr723 === End of file commands.log === Start of file http_server.log 07:51:43.797476 ====> Client connect 07:51:43.797502 accept_connection 3 returned 4 07:51:43.797516 accept_connection 3 returned 0 07:51:43.797528 Read 93 bytes 07:51:43.797537 Process 93 bytes request 07:51:43.797548 Got request: GET /verifiedserver HTTP/1.1 07:51:43.797556 Are-we-friendly question received 07:51:43.797575 Wrote request (93 bytes) input to log/16/server.input 07:51:43.797589 Identifying ourselves as friends 07:51:43.797639 Response sent (56 bytes) and written to log/16/server.response 07:51:43.797650 special request received, no persistency 07:51:43.797660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 40010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind723 ==113576== ==113576== Process terminating with default action of signal 4 (SIGILL) ==113576== Illegal opcode at address 0x4013DC0 ==113576== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113576== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113576== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113576== by 0x40037A4: main (tool_main.c:199) === End of file valgrind723 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 112929 * pid socks => 112929 112929 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:42723 ftp://127.0.0.1:46223/ > 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/ dir 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:42723 ftp://127.0.0.1:46223/ > log/11/stdout706 2> log/11/stderr706 === End of file commands.log === Start of file ftp_server.log 07:51:43.023494 ====> Client connect 07:51:43.023663 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.024004 < "USER anonymous" 07:51:43.024046 > "331 We are happy you popped in![CR][LF]" 07:51:43.024221 < "PASS ftp@example.com" 07:51:43.024248 > "230 Welcome you silly person[CR][LF]" 07:51:43.024396 < "PWD" 07:51:43.024426 > "257 "/" is current directory[CR][LF]" 07:51:43.024591 < "EPSV" 07:51:43.024616 ====> Passive DATA channel requested by client 07:51:43.024629 DATA sockfilt for passive data channel starting... 07:51:43.027510 DATA sockfilt for passive data channel started (pid 112874) 07:51:43.027617 DATA sockfilt for passive data channel listens on port 43473 07:51:43.027658 > "229 Entering Passive Mode (|||43473|)[CR][LF]" 07:51:43.027675 Client has been notified that DATA conn will be accepted on port 43473 07:51:43.027900 CMD (33792): ../libtool --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/valgrind707 ../src/curl -q --output log/20/curl707.out --include --trace-ascii log/20/trace707 --trace-time --socks5 127.0.0.1:35057 ftp://127.0.0.1:33651/ > log/20/stdout707 2> log/20/stderr707 Client connects to port 43473 07:51:43.027932 ====> Client established passive DATA connection on port 43473 07:51:43.028006 < "TYPE I" 07:51:43.028032 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.028181 < "SIZE verifiedserver" 07:51:43.028218 > "213 17[CR][LF]" 07:51:43.028360 < "RETR verifiedserver" 07:51:43.028391 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.028477 =====> Closing passive DATA connection... 07:51:43.028491 Server disconnects passive DATA connection 07:51:43.028725 Server disconnected passive DATA connection 07:51:43.028751 DATA sockfilt for passive data channel quits (pid 112874) 07:51:43.028975 DATA sockfilt for passive data channel quit (pid 112874) 07:51:43.028998 =====> Closed passive DATA connection 07:51:43.029023 > "226 File transfer complete[CR][LF]" 07:51:43.073332 < "QUIT" 07:51:43.073392 > "221 bye bye baby[CR][LF]" 07:51:43.074466 MAIN sockfilt said DISC 07:51:43.074509 ====> Client disconnected 07:51:43.074769 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:42.851301 ====> Client connect 07:51:42.851621 Received DATA (on stdin) 07:51:42.851638 > 160 bytes data, server => client 07:51:42.851650 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:42.851662 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:42.851672 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:42.851776 < 16 bytes data, client => server 07:51:42.851789 'USER anonymous\r\n' 07:51:42.851994 Received DATA (on stdin) 07:51:42.852007 > 33 bytes data, server => client 07:51:42.852019 '331 We are happy you popped in!\r\n' 07:51:42.852072 < 22 bytes data, client => server 07:51:42.852083 'PASS ftp@example.com\r\n' 07:51:42.852192 Received DATA (on stdin) 07:51:42.852204 > 30 bytes data, server => client 07:51:42.852215 '230 Welcome you silly person\r\n' 07:51:42.852260 < 5 bytes data, client => server 07:51:42.852271 'PWD\r\n' 07:51:42.852369 Received DATA (on stdin) 07:51:42.852381 > 30 bytes data, server => client 07:51:42.852391 '257 "/" is current directory\r\n' 07:51:42.852444 < 6 bytes data, client => server 07:51:42.852456 'EPSV\r\n' 07:51:42.855623 Received DATA (on stdin) 07:51:42.855637 > 39 bytes data, server => client 07:51:42.855649 '229 Entering Passive Mode (|||43473|)\r\n' 07:51:42.855761 < 8 bytes data, client => server 07:51:42.855775 'TYPE I\r\n' 07:51:42.855975 Received DATA (on stdin) 07:51:42.855987 > 33 bytes data, server => client 07:51:42.855998 '200 I modify TYPE as you wanted\r\n' 07:51:42.856045 < 21 bytes data, client => server 07:51:42.856058 'SIZE verifiedserver\r\n' 07:51:42.856160 Received DATA (on stdin) 07:51:42.856174 > 8 bytes data, server => client 07:51:42.856184 '213 17\r\n' 07:51:42.856227 < 21 bytes data, client => server 07:51:42.856238 'RETR verifiedserver\r\n' 07:51:42.856437 Received DATA (on stdin) 07:51:42.856449 > 29 bytes data, server => client 07:51:42.856460 '150 Binary junk (17 bytes).\r\n' 07:51:42.856967 Received DATA (on stdin) 07:51:42.856980 > 28 bytes data, server => client 07:51:42.856992 '226 File transfer complete\r\n' 07:51:42.901077 < 6 bytes data, client => server 07:51:42.901108 'QUIT\r\n' 07:51:42.901345 Received DATA (on stdin) 07:51:42.901358 > 18 bytes data, server => client 07:51:42.901369 '221 bye bye baby\r\n' 07:51:42.902346 ====> Client disconnect 07:51:42.902632 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.854210 Running IPv4 version 07:51:43.854269 Listening on port 43473 07:51:43.854304 Wrote pid 112874 to log/11/server/ftp_sockdata.pid 07:51:43.855383 Received PING (on stdin) 07:51:43.855476 Received PORT (on stdin) 07:51:43.855796 ====> Client connect 07:51:43.856486 Received DATA (on stdin) 07:51:43.856500 > 17 bytes data, server => client 07:51:43.856511 'WE ROOLZ: 83264\r\n' 07:51:43.856534 Received DISC (on stdin) 07:51:43.856546 ====> Client forcibly disconnected 07:51:43.856704 Received QUIT (on stdin) 07:51:43.856716 quits 07:51:43.856778 ============> 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 07:51:43.906951 Running IPv4 version 07:51:43.907028 Listening on port 42723 07:51:43.907065 Wrote pid 112929 to log/11/server/socks_server.pid 07:51:43.907096 Wrote port 42723 to log/11/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==113726== ==113726== Process terminating with default action of signal 4 (SIGILL) ==113726== Illegal opcode at address 0x4013DC0 ==113726== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113726== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113726== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113726== by 0x40037A4: main (tool_main.c:199) === End of file valgrind706 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 112981 * pid socks => 112981 112981 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/20/valgrind707 ../src/curl -q --output log/20/curl707.out --include --trace-ascii log/20/trace707 --trace-time --socks5 127.0.0.1:35057 ftp://127.0.0.1:33651/ > log/20/stdout707 2> log/20/stderr707 707: 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/ dir 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/20/valgrind707 ../src/curl -q --output log/20/curl707.out --include --trace-ascii log/20/trace707 --trace-time --socks5 127.0.0.1:35057 ftp://127.0.0.1:33651/ > log/20/stdout707 2> log/20/stderr707 === End of file commands.log === Start of file ftp_server.log 07:51:43.140874 ====> Client connect 07:51:43.141029 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.141316 < "USER anonymous" 07:51:43.141354 > "331 We are happy you popped in![CR][LF]" 07:51:43.141517 < "PASS ftp@example.com" 07:51:43.141544 > "230 Welcome you silly person[CR][LF]" 07:51:43.141679 < "PWD" 07:51:43.141707 > "257 "/" is current directory[CR][LF]" 07:51:43.141847 < "EPSV" 07:51:43.141867 ====> Passive DATA channel requested by client 07:51:43.141880 DATA sockfilt for passive data channel starting... 07:51:43.143965 DATA sockfilt for passive data channel started (pid 112974) 07:51:43.144058 DATA sockfilt for passive data channel listens on port 42823 07:51:43.144097 > "229 Entering Passive Mode (|||42823|)[CR][LF]" 07:51:43.144117 Client has been notified that DATA conn will be accepted on port 42823 07:51:43.144302 Client connects to port 42823 07:51:43.144327 ====> Client established passive DATA connection on port 42823 07:51:43.144434 < "TYPE I" 07:51:43.144462 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.144610 < "SIZE verifiedserver" 07:51:43.144646 > "213 17[CR][LF]" 07:51:43.144781 < "RETR verifiedserver" 07:51:43.144811 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.144888 =====> Closing passive DATA connection... 07:51:43.144902 Server disconnects passive DATA connection 07:51:43.145122 Server disconnected passive DATA connection 07:51:43.145144 DATA sockfilt for passive data channel quits (pid 112974) 07:51:43.145380 DATA sockfilt for passive data channel quit (pid 112974) 07:51:43.145400 =====> Closed passive DATA connection 07:51:43.145423 > "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/13/valgrind708 ../src/curl -q --output log/13/curl708.out --include --trace-ascii log/13/trace708 --trace-time http://127.0.0.1:35041/708 > log/13/stdout708 2> log/13/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/17/valgrind710 ../src/curl -q --output log/17/curl710.out --include --trace-ascii log/17/trace710 --trace-time http://127.0.0.1:42601/710 --proxy socks5://127.0.0.1:43533 > log/17/stdout710 2> log/17/stderr710 e[CR][LF]" 07:51:43.191715 < "QUIT" 07:51:43.191774 > "221 bye bye baby[CR][LF]" 07:51:43.196907 MAIN sockfilt said DISC 07:51:43.196956 ====> Client disconnected 07:51:43.197024 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:42.968699 ====> Client connect 07:51:42.968985 Received DATA (on stdin) 07:51:42.969000 > 160 bytes data, server => client 07:51:42.969012 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:42.969023 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:42.969033 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:42.969106 < 16 bytes data, client => server 07:51:42.969117 'USER anonymous\r\n' 07:51:42.969301 Received DATA (on stdin) 07:51:42.969313 > 33 bytes data, server => client 07:51:42.969324 '331 We are happy you popped in!\r\n' 07:51:42.969372 < 22 bytes data, client => server 07:51:42.969383 'PASS ftp@example.com\r\n' 07:51:42.969485 Received DATA (on stdin) 07:51:42.969496 > 30 bytes data, server => client 07:51:42.969506 '230 Welcome you silly person\r\n' 07:51:42.969548 < 5 bytes data, client => server 07:51:42.969558 'PWD\r\n' 07:51:42.969648 Received DATA (on stdin) 07:51:42.969658 > 30 bytes data, server => client 07:51:42.969668 '257 "/" is current directory\r\n' 07:51:42.969717 < 6 bytes data, client => server 07:51:42.969728 'EPSV\r\n' 07:51:42.972069 Received DATA (on stdin) 07:51:42.972082 > 39 bytes data, server => client 07:51:42.972093 '229 Entering Passive Mode (|||42823|)\r\n' 07:51:42.972285 < 8 bytes data, client => server 07:51:42.972297 'TYPE I\r\n' 07:51:42.972403 Received DATA (on stdin) 07:51:42.972414 > 33 bytes data, server => client 07:51:42.972426 '200 I modify TYPE as you wanted\r\n' 07:51:42.972470 < 21 bytes data, client => server 07:51:42.972481 'SIZE verifiedserver\r\n' 07:51:42.972588 Received DATA (on stdin) 07:51:42.972599 > 8 bytes data, server => client 07:51:42.972609 '213 17\r\n' 07:51:42.972652 < 21 bytes data, client => server 07:51:42.972663 'RETR verifiedserver\r\n' 07:51:42.972846 Received DATA (on stdin) 07:51:42.972857 > 29 bytes data, server => client 07:51:42.972867 '150 Binary junk (17 bytes).\r\n' 07:51:42.973367 Received DATA (on stdin) 07:51:42.973380 > 28 bytes data, server => client 07:51:42.973390 '226 File transfer complete\r\n' 07:51:43.019469 < 6 bytes data, client => server 07:51:43.019500 'QUIT\r\n' 07:51:43.019729 Received DATA (on stdin) 07:51:43.019745 > 18 bytes data, server => client 07:51:43.019758 '221 bye bye baby\r\n' 07:51:43.024791 ====> Client disconnect 07:51:43.024976 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.971627 Running IPv4 version 07:51:43.971685 Listening on port 42823 07:51:43.971718 Wrote pid 112974 to log/20/server/ftp_sockdata.pid 07:51:43.971860 Received PING (on stdin) 07:51:43.971926 Received PORT (on stdin) 07:51:43.972197 ====> Client connect 07:51:43.972891 Received DATA (on stdin) 07:51:43.972903 > 17 bytes data, server => client 07:51:43.972914 'WE ROOLZ: 80551\r\n' 07:51:43.972937 Received DISC (on stdin) 07:51:43.972948 ====> Client forcibly disconnected 07:51:43.973095 Received QUIT (on stdin) 07:51:43.973106 quits 07:51:43.973165 ============> 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 07:51:43.024687 Running IPv4 version 07:51:43.024761 Listening on port 35057 07:51:43.025051 Wrote pid 112981 to log/20/server/socks_server.pid 07:51:43.025085 Wrote port 35057 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==113778== ==113778== Process terminating with default action of signal 4 (SIGILL) ==113778== Illegal opcode at address 0x4013DC0 ==113778== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113778== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113778== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113778== by 0x40037A4: main (tool_main.c:199) === End of file valgrind707 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 113001 * pid socks => 113001 113001 setenv all_proxy = socks4://127.0.0.1:46697 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/13/valgrind708 ../src/curl -q --output log/13/curl708.out --include --trace-ascii log/13/trace708 --trace-time http://127.0.0.1:35041/708 > log/13/stdout708 2> log/13/stderr708 708: 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/ dir 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/13/valgrind708 ../src/curl -q --output log/13/curl708.out --include --trace-ascii log/13/trace708 --trace-time http://127.0.0.1:35041/708 > log/13/stdout708 2> log/13/stderr708 === End of file commands.log === Start of file http_server.log 07:51:43.059199 ====> Client connect 07:51:43.059237 accept_connection 3 returned 4 07:51:43.059255 accept_connection 3 returned 0 07:51:43.059271 Read 93 bytes 07:51:43.059283 Process 93 bytes request 07:51:43.059298 Got request: GET /verifiedserver HTTP/1.1 07:51:43.059308 Are-we-friendly question received 07:51:43.059335 Wrote request (93 bytes) input to log/13/server.input 07:51:43.059354 Identifying ourselves as friends 07:51:43.059414 Response sent (56 bytes) and written to log/13/server.response 07:51:43.059426 special request received, no persistency 07:51:43.059437 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 44434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file socks_server.log 07:51:43.064131 Running IPv4 version 07:51:43.064196 Listening on port 46697 07:51:43.064233 Wrote pid 113001 to log/13/server/socks_server.pid 07:51:43.064263 Wrote port 46697 to log/13/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==113828== ==113828== Process terminating with default action of signal 4 (SIGILL) ==113828== Illegal opcode at address 0x4013DC0 ==113828== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind708 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 113032 * pid socks => 113032 113032 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 --nCMD (33792): ../libtool --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/valgrind711 ../src/curl -q --output log/1/curl711.out --include --trace-ascii log/1/trace711 --trace-time ftp://127.0.0.1:42965/711 > log/1/stdout711 2> log/1/stderr711 um-callers=16 --log-file=log/17/valgrind710 ../src/curl -q --output log/17/curl710.out --include --trace-ascii log/17/trace710 --trace-time http://127.0.0.1:42601/710 --proxy socks5://127.0.0.1:43533 > log/17/stdout710 2> log/17/stderr710 710: 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/ dir 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/17/valgrind710 ../src/curl -q --output log/17/curl710.out --include --trace-ascii log/17/trace710 --trace-time http://127.0.0.1:42601/710 --proxy socks5://127.0.0.1:43533 > log/17/stdout710 2> log/17/stderr710 === End of file commands.log === Start of file http_server.log 07:51:44.091882 ====> Client connect 07:51:44.091914 accept_connection 3 returned 4 07:51:44.091930 accept_connection 3 returned 0 07:51:44.091944 Read 93 bytes 07:51:44.091954 Process 93 bytes request 07:51:44.091966 Got request: GET /verifiedserver HTTP/1.1 07:51:44.091976 Are-we-friendly question received 07:51:44.091998 Wrote request (93 bytes) input to log/17/server.input 07:51:44.092014 Identifying ourselves as friends 07:51:44.092063 Response sent (56 bytes) and written to log/17/server.response 07:51:44.092073 special request received, no persistency 07:51:44.092082 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 40004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file socks_server.log 07:51:43.096256 Running IPv4 version 07:51:43.096318 Listening on port 43533 07:51:43.096352 Wrote pid 113032 to log/17/server/socks_server.pid 07:51:43.096381 Wrote port 43533 to log/17/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==113874== ==113874== Process terminating with default action of signal 4 (SIGILL) ==113874== Illegal opcode at address 0x4013DC0 ==113874== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113874== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113874== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113874== by 0x40037A4: main (tool_main.c:199) === End of file valgrind710 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 113124 * pid socks => 113124 113124 setenv all_proxy = socks5://127.0.0.1:34633 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/1/valgrind711 ../src/curl -q --output log/1/curl711.out --include --trace-ascii log/1/trace711 --trace-time ftp://127.0.0.1:42965/711 > log/1/stdout711 2> log/1/stderr711 711: 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/ dir 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/1/valgrind711 ../src/curl -q --output log/1/curl711.out --include --trace-ascii log/1/trace711 --trace-time ftp://127.0.0.1:42965/711 > log/1/stdout711 2> log/1/stderr711 === End of file commands.log === Start of file ftp_server.log 07:51:43.373084 ====> Client connect 07:51:43.373227 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.373487 < "USER anonymous" 07:51:43.373525 > "331 We are happy you popped in![CR][LF]" 07:51:43.373687 < "PASS ftp@example.com" 07:51:43.373711 > "230 Welcome you silly person[CR][LF]" 07:51:43.373861 < "PWD" 07:51:43.373891 > "257 "/" is current directory[CR][LF]" 07:51:43.374045 < "EPSV" 07:51:43.374067 ====> Passive DATA channel requested by client 07:51:43.374081 DATA sockfilt for passive data channel starting... 07:51:43.377004 DATA sockfilt for passive data channel started (pid 113072) 07:51:43.377114 DATA sockfilt for passive data channel listens on port 33515 07:51:43.377152 > "229 Entering Passive Mode (|||33515|)[CR][LF]" 07:51:43.377175 Client has been notified that DATA conn will be accepted on port 33515 07:51:43.377468 Client connects to port 33515 07:51:43.377497 ====> Client established passive DATA connection on port 33515 07:51:43.377574 < "TYPE I" 07:51:43.377599 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.377757 < "SIZE verifiedserver" 07:51:43.377791 > "213 17[CR][LF]" 07:51:43.377951 < "RETR verifiedserver" 07:51:43.377983 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.378064 =====> Closing passive DATA connection... 07:51:43.378080 Server disconnects passive DATA connection 07:51:43.378206 Server disconnected passive DATA connection 07:51:43.378226 DATA sockfilt for passive data channel quits (pid 113072) 07:51:43.378463 DATA sockfilt for passive data channel quit (pid 113072) 07:51:43.378487 =====> Closed passive DATA connection 07:51:43.378514 > "226 File transfer complete[CR][LF]" 07:51:43.424966 < "QUIT" 07:51:43.425016 > "221 bye bye baby[CR][LF]" 07:51:43.425906 MAIN sockfilt said DISC 07:51:43.425950 ====> Client disconnected 07:51:43.426027 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:43.200934 ====> Client connect 07:51:43.201181 Received DATA (on stdin) 07:51:43.201196 > 160 bytes data, server => client 07:51:43.201209 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:43.201221 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:43.201232 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:43.201297 < 16 bytes data, client => server 07:51:43.201310 'USER anonymous\r\n' 07:51:43.201470 Received DATA (on stdin) 07:51:43.201483 > 33 bytes data, server => client 07:51:43.201496 '331 We are happy you popped in!\r\n' 07:51:43.201545 < 22 bytes data, client => server 07:51:43.201558 'PASS ftp@example.com\r\n' 07:51:43.201657 Received DATA (on stdin) 07:51:43.201669 > 30 bytes data, server => client 07:51:43.201680 '230 Welcome you silly person\r\n' 07:51:43.201725 < 5 bytes data, client => server 07:51:43.201736 'PWD\r\n' 07:51:43.201834 Received DATA (on stdin) 07:51:43.201846 > 30 bytes data, server => client 07:51:43.201858 '257 "/" is current directory\r\n' 07:51:43.201909 < 6 bytes data, client => server 07:51:43.201921 'EPSV\r\n' 07:51:43.205190 Received DATA (on stdin) 07:51:43.205205 > 39 bytes data, server => client 07:51:43.205218 '229 Entering Passive Mode (|||33515|)\r\n' 07:51:43.205331 < 8 bytes data, client => server 07:51:43.205347 'TYPE I\r\n' 07:51:43.205544 Received DATA (on stdin) 07:51:43.205557 > 33 bytes data, server => client 07:51:43.205569 '200 I modify TYPE as you wanted\r\n' 07:51:43.205619 < 21 bytes data, client => server 07:51:43.205631 'SIZE verifiedserver\r\n' 07:51:43.205735 Received DATA (on stdin) 07:51:43.205747 > 8 bytes data, server => client 07: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/3/valgrind709 ../src/curl -q --output log/3/curl709.out --include --trace-ascii log/3/trace709 --trace-time http://127.0.0.1:34059/709 > log/3/stdout709 2> log/3/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/5/valgrind712 ../src/curl -q --output log/5/curl712.out --include --trace-ascii log/5/trace712 --trace-time ftp://127.0.0.1:39251/712 --proxy socks5://127.0.0.1:43177 > log/5/stdout712 2> log/5/stderr712 1:43.205758 '213 17\r\n' 07:51:43.205803 < 21 bytes data, client => server 07:51:43.205815 'RETR verifiedserver\r\n' 07:51:43.206021 Received DATA (on stdin) 07:51:43.206054 > 29 bytes data, server => client 07:51:43.206069 '150 Binary junk (17 bytes).\r\n' 07:51:43.206462 Received DATA (on stdin) 07:51:43.206478 > 28 bytes data, server => client 07:51:43.206490 '226 File transfer complete\r\n' 07:51:43.252747 < 6 bytes data, client => server 07:51:43.252772 'QUIT\r\n' 07:51:43.252967 Received DATA (on stdin) 07:51:43.252982 > 18 bytes data, server => client 07:51:43.252994 '221 bye bye baby\r\n' 07:51:43.253790 ====> Client disconnect 07:51:43.253974 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.204648 Running IPv4 version 07:51:43.204703 Listening on port 33515 07:51:43.204738 Wrote pid 113072 to log/1/server/ftp_sockdata.pid 07:51:43.204888 Received PING (on stdin) 07:51:43.204972 Received PORT (on stdin) 07:51:43.205366 ====> Client connect 07:51:43.206030 Received DATA (on stdin) 07:51:43.206044 > 17 bytes data, server => client 07:51:43.206056 'WE ROOLZ: 83307\r\n' 07:51:43.206085 Received DISC (on stdin) 07:51:43.206098 ====> Client forcibly disconnected 07:51:43.206178 Received QUIT (on stdin) 07:51:43.206189 quits 07:51:43.206238 ============> 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 07:51:43.256936 Running IPv4 version 07:51:43.256986 Listening on port 34633 07:51:43.257017 Wrote pid 113124 to log/1/server/socks_server.pid 07:51:43.257042 Wrote port 34633 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==113987== ==113987== Process terminating with default action of signal 4 (SIGILL) ==113987== Illegal opcode at address 0x4013DC0 ==113987== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113987== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113987== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113987== by 0x40037A4: main (tool_main.c:199) === End of file valgrind711 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 113031 * pid socks => 113031 113031 setenv http_proxy = socks5://127.0.0.1:34663 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/3/valgrind709 ../src/curl -q --output log/3/curl709.out --include --trace-ascii log/3/trace709 --trace-time http://127.0.0.1:34059/709 > log/3/stdout709 2> log/3/stderr709 709: 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/ dir 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/3/valgrind709 ../src/curl -q --output log/3/curl709.out --include --trace-ascii log/3/trace709 --trace-time http://127.0.0.1:34059/709 > log/3/stdout709 2> log/3/stderr709 === End of file commands.log === Start of file http_server.log 07:51:44.086033 ====> Client connect 07:51:44.086064 accept_connection 3 returned 4 07:51:44.086080 accept_connection 3 returned 0 07:51:44.086096 Read 93 bytes 07:51:44.086106 Process 93 bytes request 07:51:44.086119 Got request: GET /verifiedserver HTTP/1.1 07:51:44.086128 Are-we-friendly question received 07:51:44.086150 Wrote request (93 bytes) input to log/3/server.input 07:51:44.086166 Identifying ourselves as friends 07:51:44.086217 Response sent (56 bytes) and written to log/3/server.response 07:51:44.086226 special request received, no persistency 07:51:44.086235 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 39158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file socks_server.log 07:51:43.090944 Running IPv4 version 07:51:43.091010 Listening on port 34663 07:51:43.091047 Wrote pid 113031 to log/3/server/socks_server.pid 07:51:43.091076 Wrote port 34663 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==113862== ==113862== Process terminating with default action of signal 4 (SIGILL) ==113862== Illegal opcode at address 0x4013DC0 ==113862== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113862== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113862== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113862== by 0x40037A4: main (tool_main.c:199) === End of file valgrind709 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 113123 * pid socks => 113123 113123 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/5/valgrind712 ../src/curl -q --output log/5/curl712.out --include --trace-ascii log/5/trace712 --trace-time ftp://127.0.0.1:39251/712 --proxy socks5://127.0.0.1:43177 > log/5/stdout712 2> log/5/stderr712 712: 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/ dir 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/5/valgrind712 ../src/curl -q --output log/5/curl712.out --include --trace-ascii log/5/trace712 --trace-time ftp://127.0.0.1:39251/712 --proxy socks5://127.0.0.1:43177 > log/5/stdout712 2> log/5/stderr712 === End of file commands.log === Start of file ftp_server.log 07:51:43.370951 ====> Client connect 07:51:43.371116 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.371437 < "USER anonymous" 07:51:43.371472 > "331 We are happy you popped in![CR][LF]" 07:51:43.371637 < "PASS ftp@example.com" 07:51:43.371662 > "230 Welcome you silly person[CR][LF]" 07:51:43.371816 < "PWD" 07:51:43.371844 > "257 "/" is current directory[CR][LF]" 07:51:43.372003 < "EPSV" 07:51:43.372026 ====> Passive DATA channel requested by client 07:51:43.372040 DATA sockfilt for passive data channel starting... 07:51:43.375359 DATA sockfilt for passive data channel started (pid 113071) 07:51:43.375459 DATA sockfilt for passive data channel listens on port 39825 07:51:43.375500 > "229 Entering Passive Mode (|||39825|)[CR][LF]" 07:51:43.375517 Client has been notified that DATA conn will be accepted on port 39825 07:51:43.375705 Client connects to port 39825 07:51:43.375731 ====> Client 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/6/valgrind714 ../src/curl -q --output log/6/curl714.out --include --trace-ascii log/6/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:41051 --proxytunnel --proxy http://127.0.0.1:36753 > log/6/stdout714 2> log/6/stderr714 stablished passive DATA connection on port 39825 07:51:43.375841 < "TYPE I" 07:51:43.375868 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.376015 < "SIZE verifiedserver" 07:51:43.376049 > "213 17[CR][LF]" 07:51:43.376188 < "RETR verifiedserver" 07:51:43.376216 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.376294 =====> Closing passive DATA connection... 07:51:43.376309 Server disconnects passive DATA connection 07:51:43.376520 Server disconnected passive DATA connection 07:51:43.376544 DATA sockfilt for passive data channel quits (pid 113071) 07:51:43.376739 DATA sockfilt for passive data channel quit (pid 113071) 07:51:43.376762 =====> Closed passive DATA connection 07:51:43.376789 > "226 File transfer complete[CR][LF]" 07:51:43.421739 < "QUIT" 07:51:43.421795 > "221 bye bye baby[CR][LF]" 07:51:43.422251 MAIN sockfilt said DISC 07:51:43.422311 ====> Client disconnected 07:51:43.422400 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:43.198775 ====> Client connect 07:51:43.199072 Received DATA (on stdin) 07:51:43.199091 > 160 bytes data, server => client 07:51:43.199104 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:43.199116 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:43.199127 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:43.199231 < 16 bytes data, client => server 07:51:43.199245 'USER anonymous\r\n' 07:51:43.199419 Received DATA (on stdin) 07:51:43.199432 > 33 bytes data, server => client 07:51:43.199444 '331 We are happy you popped in!\r\n' 07:51:43.199494 < 22 bytes data, client => server 07:51:43.199507 'PASS ftp@example.com\r\n' 07:51:43.199607 Received DATA (on stdin) 07:51:43.199619 > 30 bytes data, server => client 07:51:43.199631 '230 Welcome you silly person\r\n' 07:51:43.199678 < 5 bytes data, client => server 07:51:43.199690 'PWD\r\n' 07:51:43.199788 Received DATA (on stdin) 07:51:43.199800 > 30 bytes data, server => client 07:51:43.199812 '257 "/" is current directory\r\n' 07:51:43.199867 < 6 bytes data, client => server 07:51:43.199879 'EPSV\r\n' 07:51:43.203465 Received DATA (on stdin) 07:51:43.203479 > 39 bytes data, server => client 07:51:43.203491 '229 Entering Passive Mode (|||39825|)\r\n' 07:51:43.203689 < 8 bytes data, client => server 07:51:43.203701 'TYPE I\r\n' 07:51:43.203812 Received DATA (on stdin) 07:51:43.203824 > 33 bytes data, server => client 07:51:43.203835 '200 I modify TYPE as you wanted\r\n' 07:51:43.203880 < 21 bytes data, client => server 07:51:43.203892 'SIZE verifiedserver\r\n' 07:51:43.203991 Received DATA (on stdin) 07:51:43.204003 > 8 bytes data, server => client 07:51:43.204014 '213 17\r\n' 07:51:43.204057 < 21 bytes data, client => server 07:51:43.204068 'RETR verifiedserver\r\n' 07:51:43.204254 Received DATA (on stdin) 07:51:43.204265 > 29 bytes data, server => client 07:51:43.204275 '150 Binary junk (17 bytes).\r\n' 07:51:43.204734 Received DATA (on stdin) 07:51:43.204749 > 28 bytes data, server => client 07:51:43.204761 '226 File transfer complete\r\n' 07:51:43.249355 < 6 bytes data, client => server 07:51:43.249387 'QUIT\r\n' 07:51:43.249745 Received DATA (on stdin) 07:51:43.249760 > 18 bytes data, server => client 07:51:43.249771 '221 bye bye baby\r\n' 07:51:43.250117 ====> Client disconnect 07:51:43.250348 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.203015 Running IPv4 version 07:51:43.203070 Listening on port 39825 07:51:43.203104 Wrote pid 113071 to log/5/server/ftp_sockdata.pid 07:51:43.203251 Received PING (on stdin) 07:51:43.203323 Received PORT (on stdin) 07:51:43.203600 ====> Client connect 07:51:43.204297 Received DATA (on stdin) 07:51:43.204309 > 17 bytes data, server => client 07:51:43.204319 'WE ROOLZ: 80550\r\n' 07:51:43.204340 Received DISC (on stdin) 07:51:43.204350 ====> Client forcibly disconnected 07:51:43.204496 Received QUIT (on stdin) 07:51:43.204508 quits 07:51:43.204555 ============> 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 07:51:43.254851 Running IPv4 version 07:51:43.254919 Listening on port 43177 07:51:43.254953 Wrote pid 113123 to log/5/server/socks_server.pid 07:51:43.254981 Wrote port 43177 to log/5/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==113981== ==113981== Process terminating with default action of signal 4 (SIGILL) ==113981== Illegal opcode at address 0x4013DC0 ==113981== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113981== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113981== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113981== by 0x40037A4: main (tool_main.c:199) === 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/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 113127 port 36753 * pid http-proxy => 113127 113127 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/6/valgrind714 ../src/curl -q --output log/6/curl714.out --include --trace-ascii log/6/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:41051 --proxytunnel --proxy http://127.0.0.1:36753 > log/6/stdout714 2> log/6/stderr714 714: 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/ dir 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/6/valgrind714 ../src/curl -q --output log/6/curl714.out --include --trace-ascii log/6/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:41051 --proxytunnel --proxy http://127.0.0.1:36753 > log/6/stdout714 2> log/6/stderr714 === End of file commands.log === Start of file ftp_server.log 07:51:43.404023 ====> Client connect 07:51:43.404214 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.404737 < "USER anonymous" 07:51:43.404793 > "331 We are happy you popped in![CR][LF]" 07:51:43.404998 < "PASS ftp@example.com" 07:51:43.405034 > "230 Welcome you silly person[CR][LF]" 07:51:43.405191 < "PWD" 07:51:43.405228 > "257 "/" is current directory[CR][LF]" 07:51:43.405387 < "EPSV" 07:51:43.405410 ====> Passive DATA channel requested by client 07:51:43.405424 DATA sockfilt for passive data channel starting... 07:51:43.407442 DATA sockfilt for passive data channel started (pid 113105) 07:51:43.407587 DATA sockfilt for passive data channel listens on port 35199 07:51:43.407643 > "229 Entering Passive Mode (|||35199|)[CR][LF]" 07:51:43.407664 Client has been notified that DATA conn will be accepted on port 35199 07:51:43.407967 Client connects to port 35199 07:51:43.408003 ====> Client established passive DATA connection on port 35199 07:51:43.408111 < "TYPE I" 07:51:43.408147 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.408371 < "SIZE verifiedserver" 07:51:43.408413 > "213 17[CR][LF]" 07:51:43.408581 < "RETR verifiedserver" 07:51:43.408617 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.408708 =====> Closing passive DATA connection... 07:51:43.408723 Server disconnects passive DATA connection 07:51:43.408882 Server disconnected passive DATA connection 07:51:43.408909 DATA sockfilt for 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/15/valgrind713 ../src/curl -q --output log/15/curl713.out --include --trace-ascii log/15/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:38789 --proxy socks5://127.0.0.1:41089 > log/15/stdout713 2> log/15/stderr713 assive data channel quits (pid 113105) 07:51:43.409132 DATA sockfilt for passive data channel quit (pid 113105) 07:51:43.409154 =====> Closed passive DATA connection 07:51:43.409184 > "226 File transfer complete[CR][LF]" 07:51:43.454933 < "QUIT" 07:51:43.454982 > "221 bye bye baby[CR][LF]" 07:51:43.455858 MAIN sockfilt said DISC 07:51:43.455887 ====> Client disconnected 07:51:43.455969 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:43.231862 ====> Client connect 07:51:43.232172 Received DATA (on stdin) 07:51:43.232190 > 160 bytes data, server => client 07:51:43.232204 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:43.232217 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:43.232380 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:43.232483 < 16 bytes data, client => server 07:51:43.232497 'USER anonymous\r\n' 07:51:43.232748 Received DATA (on stdin) 07:51:43.232762 > 33 bytes data, server => client 07:51:43.232774 '331 We are happy you popped in!\r\n' 07:51:43.232828 < 22 bytes data, client => server 07:51:43.232840 'PASS ftp@example.com\r\n' 07:51:43.232979 Received DATA (on stdin) 07:51:43.232992 > 30 bytes data, server => client 07:51:43.233004 '230 Welcome you silly person\r\n' 07:51:43.233050 < 5 bytes data, client => server 07:51:43.233061 'PWD\r\n' 07:51:43.233171 Received DATA (on stdin) 07:51:43.233184 > 30 bytes data, server => client 07:51:43.233195 '257 "/" is current directory\r\n' 07:51:43.233251 < 6 bytes data, client => server 07:51:43.233262 'EPSV\r\n' 07:51:43.235620 Received DATA (on stdin) 07:51:43.235638 > 39 bytes data, server => client 07:51:43.235651 '229 Entering Passive Mode (|||35199|)\r\n' 07:51:43.235845 < 8 bytes data, client => server 07:51:43.235863 'TYPE I\r\n' 07:51:43.236096 Received DATA (on stdin) 07:51:43.236110 > 33 bytes data, server => client 07:51:43.236122 '200 I modify TYPE as you wanted\r\n' 07:51:43.236196 < 21 bytes data, client => server 07:51:43.236219 'SIZE verifiedserver\r\n' 07:51:43.236360 Received DATA (on stdin) 07:51:43.236372 > 8 bytes data, server => client 07:51:43.236384 '213 17\r\n' 07:51:43.236437 < 21 bytes data, client => server 07:51:43.236449 'RETR verifiedserver\r\n' 07:51:43.236671 Received DATA (on stdin) 07:51:43.236683 > 29 bytes data, server => client 07:51:43.236695 '150 Binary junk (17 bytes).\r\n' 07:51:43.237130 Received DATA (on stdin) 07:51:43.237144 > 28 bytes data, server => client 07:51:43.237155 '226 File transfer complete\r\n' 07:51:43.282656 < 6 bytes data, client => server 07:51:43.282706 'QUIT\r\n' 07:51:43.282929 Received DATA (on stdin) 07:51:43.282940 > 18 bytes data, server => client 07:51:43.282951 '221 bye bye baby\r\n' 07:51:43.283754 ====> Client disconnect 07:51:43.283911 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.235165 Running IPv4 version 07:51:43.235244 Listening on port 35199 07:51:43.235288 Wrote pid 113105 to log/6/server/ftp_sockdata.pid 07:51:43.235312 Received PING (on stdin) 07:51:43.235434 Received PORT (on stdin) 07:51:43.235801 ====> Client connect 07:51:43.236574 Received DATA (on stdin) 07:51:43.236592 > 17 bytes data, server => client 07:51:43.236602 'WE ROOLZ: 81211\r\n' 07:51:43.236669 Received DISC (on stdin) 07:51:43.236682 ====> Client forcibly disconnected 07:51:43.236864 Received QUIT (on stdin) 07:51:43.236878 quits 07:51:43.236940 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 07:51:43.304047 Run as proxy, CONNECT to host 127.0.0.1 07:51:43.304177 Running HTTP IPv4 version on port 36753 07:51:43.304222 Wrote pid 113127 to log/6/server/http2_server.pid 07:51:43.304251 Wrote port 36753 to log/6/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 ==114045== ==114045== Process terminating with default action of signal 4 (SIGILL) ==114045== Illegal opcode at address 0x4013DC0 ==114045== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114045== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114045== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114045== by 0x40037A4: main (tool_main.c:199) === End of file valgrind714 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 113126 * pid socks => 113126 113126 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/15/valgrind713 ../src/curl -q --output log/15/curl713.out --include --trace-ascii log/15/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:38789 --proxy socks5://127.0.0.1:41089 > log/15/stdout713 2> log/15/stderr713 713: 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/ dir 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/15/valgrind713 ../src/curl -q --output log/15/curl713.out --include --trace-ascii log/15/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:38789 --proxy socks5://127.0.0.1:41089 > log/15/stdout713 2> log/15/stderr713 === End of file commands.log === Start of file ftp_server.log 07:51:43.394404 ====> Client connect 07:51:43.394568 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.394878 < "USER anonymous" 07:51:43.394921 > "331 We are happy you popped in![CR][LF]" 07:51:43.395091 < "PASS ftp@example.com" 07:51:43.395119 > "230 Welcome you silly person[CR][LF]" 07:51:43.395265 < "PWD" 07:51:43.395294 > "257 "/" is current directory[CR][LF]" 07:51:43.395514 < "EPSV" 07:51:43.395556 ====> Passive DATA channel requested by client 07:51:43.395572 DATA sockfilt for passive data channel starting... 07:51:43.397374 DATA sockfilt for passive data channel started (pid 113101) 07:51:43.397499 DATA sockfilt for passive data channel listens on port 39509 07:51:43.397540 > "229 Entering Passive Mode (|||39509|)[CR][LF]" 07:51:43.397560 Client has been notified that DATA conn will be accepted on port 39509 07:51:43.397791 Client connects to port 39509 07:51:43.397822 ====> Client established passive DATA connection on port 39509 07:51:43.397901 < "TYPE I" 07:51:43.397941 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.398075 < "SIZE verifiedserver" 07:51:43.398105 > "213 17[CR][LF]" 07:51:43.398248 < "RETR verifiedserver" 07:51:43.398285 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.398373 =====> Closing passive DATA connection... 07:51:43.398387 Server disconnects passive DATA connection 07:51:43.398585 Server disconnected passive DATA connection 07:51:43.398607 DATA sockfilt for passive data channel quits (pid 113101) 07:51:43.398803 DATA sockfilt for passive data channel quit (pid 113101) 07:51:43.398822 =====> Closed passive DATA connection 07:51:43.398842 > "226 File transfer complete[CR][LF]" 07:51:43.445430 < "QUIT" 07:51:43.445486 > "221 bye bye baby[CR][LF]" 07:51:43.446611 MAIN sockfilt said DISC 07:51:43.446658 ====> Client disconnected 07:51:43.446737 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:43.222228 ====> Client connect 07:51:43.222543 Received DATA (on stdin) 07:51:43.222561 > 160 bytes data, server => client 07:51:43.222574 '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/18/valgrind726 ../src/curl -q --output log/18/curl726.out --include --trace-ascii log/18/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout726 2> log/18/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/14/valgrind716 ../src/curl -q --output log/14/curl716.out --include --trace-ascii log/14/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:34061 > log/14/stdout716 2> log/14/stderr716 \r\n220- ___| | | | _ \| | ' 07:51:43.222584 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:43.222595 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:43.222672 < 16 bytes data, client => server 07:51:43.222684 'USER anonymous\r\n' 07:51:43.222868 Received DATA (on stdin) 07:51:43.222882 > 33 bytes data, server => client 07:51:43.222893 '331 We are happy you popped in!\r\n' 07:51:43.222944 < 22 bytes data, client => server 07:51:43.222956 'PASS ftp@example.com\r\n' 07:51:43.223062 Received DATA (on stdin) 07:51:43.223074 > 30 bytes data, server => client 07:51:43.223084 '230 Welcome you silly person\r\n' 07:51:43.223130 < 5 bytes data, client => server 07:51:43.223141 'PWD\r\n' 07:51:43.223235 Received DATA (on stdin) 07:51:43.223246 > 30 bytes data, server => client 07:51:43.223256 '257 "/" is current directory\r\n' 07:51:43.223314 < 6 bytes data, client => server 07:51:43.223324 'EPSV\r\n' 07:51:43.225510 Received DATA (on stdin) 07:51:43.225524 > 39 bytes data, server => client 07:51:43.225536 '229 Entering Passive Mode (|||39509|)\r\n' 07:51:43.225683 < 8 bytes data, client => server 07:51:43.225696 'TYPE I\r\n' 07:51:43.225884 Received DATA (on stdin) 07:51:43.225895 > 33 bytes data, server => client 07:51:43.225904 '200 I modify TYPE as you wanted\r\n' 07:51:43.225947 < 21 bytes data, client => server 07:51:43.225956 'SIZE verifiedserver\r\n' 07:51:43.226043 Received DATA (on stdin) 07:51:43.226053 > 8 bytes data, server => client 07:51:43.226062 '213 17\r\n' 07:51:43.226108 < 21 bytes data, client => server 07:51:43.226121 'RETR verifiedserver\r\n' 07:51:43.226330 Received DATA (on stdin) 07:51:43.226341 > 29 bytes data, server => client 07:51:43.226350 '150 Binary junk (17 bytes).\r\n' 07:51:43.226783 Received DATA (on stdin) 07:51:43.226794 > 28 bytes data, server => client 07:51:43.226803 '226 File transfer complete\r\n' 07:51:43.273167 < 6 bytes data, client => server 07:51:43.273200 'QUIT\r\n' 07:51:43.273425 Received DATA (on stdin) 07:51:43.273449 > 18 bytes data, server => client 07:51:43.273460 '221 bye bye baby\r\n' 07:51:43.274496 ====> Client disconnect 07:51:43.274682 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.225124 Running IPv4 version 07:51:43.225194 Listening on port 39509 07:51:43.225230 Wrote pid 113101 to log/15/server/ftp_sockdata.pid 07:51:43.225249 Received PING (on stdin) 07:51:43.225353 Received PORT (on stdin) 07:51:43.225653 ====> Client connect 07:51:43.226373 Received DATA (on stdin) 07:51:43.226385 > 17 bytes data, server => client 07:51:43.226394 'WE ROOLZ: 80326\r\n' 07:51:43.226413 Received DISC (on stdin) 07:51:43.226422 ====> Client forcibly disconnected 07:51:43.226558 Received QUIT (on stdin) 07:51:43.226567 quits 07:51:43.226616 ============> 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 07:51:43.278223 Running IPv4 version 07:51:43.278297 Listening on port 41089 07:51:43.278331 Wrote pid 113126 to log/15/server/socks_server.pid 07:51:43.278359 Wrote port 41089 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==114018== ==114018== Process terminating with default action of signal 4 (SIGILL) ==114018== Illegal opcode at address 0x4013DC0 ==114018== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114018== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114018== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114018== by 0x40037A4: main (tool_main.c:199) === End of file valgrind713 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/18/valgrind726 ../src/curl -q --output log/18/curl726.out --include --trace-ascii log/18/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout726 2> log/18/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind726 ../src/curl -q --output log/18/curl726.out --include --trace-ascii log/18/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/18/stdout726 2> log/18/stderr726 === End of file commands.log === Start of file http_server.log 07:51:45.346484 ====> Client connect 07:51:45.346519 accept_connection 3 returned 4 07:51:45.346538 accept_connection 3 returned 0 07:51:45.346554 Read 93 bytes 07:51:45.346565 Process 93 bytes request 07:51:45.346580 Got request: GET /verifiedserver HTTP/1.1 07:51:45.346591 Are-we-friendly question received 07:51:45.346615 Wrote request (93 bytes) input to log/18/server.input 07:51:45.346633 Identifying ourselves as friends 07:51:45.346697 Response sent (56 bytes) and written to log/18/server.response 07:51:45.346708 special request received, no persistency 07:51:45.346718 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44320 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind726 ==114191== ==114191== Process terminating with default action of signal 4 (SIGILL) ==114191== Illegal opcode at address 0x4013DC0 ==114191== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114191== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114191== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114191== by 0x40037A4: main (tool_main.c:199) === End of file valgrind726 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 113148 * pid socks => 113148 113148 test 0716...[SOCKS5 proxy with too long user 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/14/valgrind716 ../src/curl -q --output log/14/curl716.out --include --trace-ascii log/14/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:34061 > log/14/stdout716 2> log/14/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/14/ dir 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/14/valgrind716 ../src/curl -q --output log/14/curl716.out --include --trace-ascii log/14/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind727 ../src/curl -q --output log/7/curl727.out --include --trace-ascii log/7/trace727 --trace-time --ipfs-gateway http://127.0.0.1:39661 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout727 2> log/7/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/23/valgrind715 ../src/curl -q --output log/23/curl715.out --include --trace-ascii log/23/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:39237 --proxytunnel --proxy 127.0.0.1:36199 --preproxy socks5://127.0.0.1:45101 > log/23/stdout715 2> log/23/stderr715 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:34061 > log/14/stdout716 2> log/14/stderr716 === End of file commands.log === Start of file server.cmd method 2 Testnum 716 === End of file server.cmd === Start of file socks_server.log 07:51:43.354091 Running IPv4 version 07:51:43.354164 Listening on port 34061 07:51:43.354231 Wrote pid 113148 to log/14/server/socks_server.pid 07:51:43.354265 Wrote port 34061 to log/14/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==114224== ==114224== Process terminating with default action of signal 4 (SIGILL) ==114224== Illegal opcode at address 0x4013DC0 ==114224== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114224== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114224== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114224== by 0x40037A4: main (tool_main.c:199) === 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/7/valgrind727 ../src/curl -q --output log/7/curl727.out --include --trace-ascii log/7/trace727 --trace-time --ipfs-gateway http://127.0.0.1:39661 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout727 2> log/7/stderr727 727: 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/ dir 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/7/valgrind727 ../src/curl -q --output log/7/curl727.out --include --trace-ascii log/7/trace727 --trace-time --ipfs-gateway http://127.0.0.1:39661 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout727 2> log/7/stderr727 === End of file commands.log === Start of file http_server.log 07:51:45.411210 ====> Client connect 07:51:45.411247 accept_connection 3 returned 4 07:51:45.411268 accept_connection 3 returned 0 07:51:45.411285 Read 93 bytes 07:51:45.411296 Process 93 bytes request 07:51:45.411312 Got request: GET /verifiedserver HTTP/1.1 07:51:45.411323 Are-we-friendly question received 07:51:45.411350 Wrote request (93 bytes) input to log/7/server.input 07:51:45.411370 Identifying ourselves as friends 07:51:45.411429 Response sent (56 bytes) and written to log/7/server.response 07:51:45.411442 special request received, no persistency 07:51:45.411453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 37660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind727 ==114288== ==114288== Process terminating with default action of signal 4 (SIGILL) ==114288== Illegal opcode at address 0x4013DC0 ==114288== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114288== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114288== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114288== by 0x40037A4: main (tool_main.c:199) === End of file valgrind727 startnew: ./server/servers socksd --port 0 --pidfile log/23/server/socks_server.pid --portfile log/23/server/socks_server.port --reqfile log/23/socksd-request.log --logfile log/23/socks_server.log --backend 127.0.0.1 --config log/23/server.cmd RUN: SOCKS server is now running PID 113145 * pid socks => 113145 113145 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/23/valgrind715 ../src/curl -q --output log/23/curl715.out --include --trace-ascii log/23/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:39237 --proxytunnel --proxy 127.0.0.1:36199 --preproxy socks5://127.0.0.1:45101 > log/23/stdout715 2> log/23/stderr715 715: 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/ dir 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/23/valgrind715 ../src/curl -q --output log/23/curl715.out --include --trace-ascii log/23/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:39237 --proxytunnel --proxy 127.0.0.1:36199 --preproxy socks5://127.0.0.1:45101 > log/23/stdout715 2> log/23/stderr715 === End of file commands.log === Start of file ftp_server.log 07:51:43.427272 ====> Client connect 07:51:43.427400 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:43.427607 < "USER anonymous" 07:51:43.427635 > "331 We are happy you popped in![CR][LF]" 07:51:43.427760 < "PASS ftp@example.com" 07:51:43.427778 > "230 Welcome you silly person[CR][LF]" 07:51:43.427887 < "PWD" 07:51:43.427923 > "257 "/" is current directory[CR][LF]" 07:51:43.428056 < "EPSV" 07:51:43.428076 ====> Passive DATA channel requested by client 07:51:43.428087 DATA sockfilt for passive data channel starting... 07:51:43.429263 DATA sockfilt for passive data channel started (pid 113125) 07:51:43.429349 DATA sockfilt for passive data channel listens on port 35939 07:51:43.429378 > "229 Entering Passive Mode (|||35939|)[CR][LF]" 07:51:43.429391 Client has been notified that DATA conn will be accepted on port 35939 07:51:43.429559 Client connects to port 35939 07:51:43.429582 ====> Client established passive DATA connection on port 35939 07:51:43.429637 < "TYPE I" 07:51:43.429656 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:43.429770 < "SIZE verifiedserver" 07:51:43.429796 > "213 17[CR][LF]" 07:51:43.429905 < "RETR verifiedserver" 07:51:43.429929 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:43.429988 =====> Closing passive DATA connection... 07:51:43.430000 Server disconnects passive DATA connection 07:51:43.430174 Server disconnected passive DATA connection 07:51:43.430195 DATA sockfilt for passive data channel quits (pid 113125) 07:51:43.430343 DATA sockfilt for passive data channel quit (pid 113125) 07:51:43.430360 =====> Closed passive DATA connection 07:51:43.430381 > "226 File transfer complete[CR][LF]" 07:51:43.476570 < "QUIT" 07:51:43.476624 > "221 bye bye baby[CR][LF]" 07:51:43.477542 MAIN sockfilt said DISC 07:51:43.477586 ====> Client disconnected 07:51:43.477663 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:43.255123 ====> Client connect 07:51:43.255348 Received DATA (on stdin) 07:51:43.255360 > 160 bytes data, server => client 07:51:43.255369 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:43.255378 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:43.255386 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:43.255438 < 16 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/19/valgrind717 ../src/curl -q --output log/19/curl717.out --include --trace-ascii log/19/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:35535 > log/19/stdout717 2> log/19/stderr717 server 07:51:43.255448 'USER anonymous\r\n' 07:51:43.255577 Received DATA (on stdin) 07:51:43.255588 > 33 bytes data, server => client 07:51:43.255597 '331 We are happy you popped in!\r\n' 07:51:43.255634 < 22 bytes data, client => server 07:51:43.255643 'PASS ftp@example.com\r\n' 07:51:43.255716 Received DATA (on stdin) 07:51:43.255725 > 30 bytes data, server => client 07:51:43.255734 '230 Welcome you silly person\r\n' 07:51:43.255768 < 5 bytes data, client => server 07:51:43.255776 'PWD\r\n' 07:51:43.255854 Received DATA (on stdin) 07:51:43.255868 > 30 bytes data, server => client 07:51:43.255879 '257 "/" is current directory\r\n' 07:51:43.255928 < 6 bytes data, client => server 07:51:43.255937 'EPSV\r\n' 07:51:43.257333 Received DATA (on stdin) 07:51:43.257344 > 39 bytes data, server => client 07:51:43.257354 '229 Entering Passive Mode (|||35939|)\r\n' 07:51:43.257458 < 8 bytes data, client => server 07:51:43.257468 'TYPE I\r\n' 07:51:43.257595 Received DATA (on stdin) 07:51:43.257604 > 33 bytes data, server => client 07:51:43.257613 '200 I modify TYPE as you wanted\r\n' 07:51:43.257649 < 21 bytes data, client => server 07:51:43.257657 'SIZE verifiedserver\r\n' 07:51:43.257735 Received DATA (on stdin) 07:51:43.257744 > 8 bytes data, server => client 07:51:43.257752 '213 17\r\n' 07:51:43.257786 < 21 bytes data, client => server 07:51:43.257794 'RETR verifiedserver\r\n' 07:51:43.257941 Received DATA (on stdin) 07:51:43.257950 > 29 bytes data, server => client 07:51:43.257958 '150 Binary junk (17 bytes).\r\n' 07:51:43.258321 Received DATA (on stdin) 07:51:43.258331 > 28 bytes data, server => client 07:51:43.258340 '226 File transfer complete\r\n' 07:51:43.304346 < 6 bytes data, client => server 07:51:43.304371 'QUIT\r\n' 07:51:43.304574 Received DATA (on stdin) 07:51:43.304587 > 18 bytes data, server => client 07:51:43.304599 '221 bye bye baby\r\n' 07:51:43.305427 ====> Client disconnect 07:51:43.305612 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:43.257074 Running IPv4 version 07:51:43.257117 Listening on port 35939 07:51:43.257143 Wrote pid 113125 to log/23/server/ftp_sockdata.pid 07:51:43.257159 Received PING (on stdin) 07:51:43.257223 Received PORT (on stdin) 07:51:43.257437 ====> Client connect 07:51:43.257977 Received DATA (on stdin) 07:51:43.257987 > 17 bytes data, server => client 07:51:43.257996 'WE ROOLZ: 82431\r\n' 07:51:43.258014 Received DISC (on stdin) 07:51:43.258022 ====> Client forcibly disconnected 07:51:43.258140 Received QUIT (on stdin) 07:51:43.258149 quits 07:51:43.258190 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 07:51:43.323529 ====> Client connect 07:51:43.323567 accept_connection 3 returned 4 07:51:43.323587 accept_connection 3 returned 0 07:51:43.323603 Read 93 bytes 07:51:43.323618 Process 93 bytes request 07:51:43.323635 Got request: GET /verifiedserver HTTP/1.1 07:51:43.323645 Are-we-friendly question received 07:51:43.323675 Wrote request (93 bytes) input to log/23/proxy.input 07:51:43.323698 Identifying ourselves as friends 07:51:43.323764 Response sent (57 bytes) and written to log/23/proxy.response 07:51:43.323780 special request received, no persistency 07:51:43.323790 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36199... * Established connection to 127.0.0.1 (127.0.0.1 port 36199) from 127.0.0.1 port 44470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36199 > User-Agent: curl/8.17.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:36199 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 103609 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 103609 === End of file proxy.response === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 07:51:43.329023 Running IPv4 version 07:51:43.329136 Listening on port 45101 07:51:43.329184 Wrote pid 113145 to log/23/server/socks_server.pid 07:51:43.329212 Wrote port 45101 to log/23/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==114206== ==114206== Process terminating with default action of signal 4 (SIGILL) ==114206== Illegal opcode at address 0x4013DC0 ==114206== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114206== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114206== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114206== by 0x40037A4: main (tool_main.c:199) === End of file valgrind715 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 113149 * pid socks => 113149 113149 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/19/valgrind717 ../src/curl -q --output log/19/curl717.out --include --trace-ascii log/19/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:35535 > log/19/stdout717 2> log/19/stderr717 717: 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/ dir 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/19/valgrind717 ../src/curl -q --output log/19/curl717.out --include --trace-ascii log/19/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:35535 > log/19/stdout717 2> log/19/stderr717 === End of file commands.log === Start of file http_server.log 07:51:44.395910 ====> Client connect 07:51:44.395950 accept_connection 3 returned 4 07:51:44.395970 accept_connection 3 returned 0 07:51:44.395987 Read 93 bytes 07:51:44.395999 Process 93 bytes request 07:51:44.396013 Got request: GET /verifiedserver HTTP/1.1 07:51:44.396024 Are-we-friendly question received 07:51:44.396052 Wrote request (93 bytes) input to log/19/server.input 07:51:44.396071 Identifying ourselves as friends 07:51:44.396140 Response sent (56 bytes) and written to log/19/server.response 07:51:44.396153 special request received, no persistency 07:51:44.396164 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 34950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 34835 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74398 === End of file server.response === Start of file socks_server.log 07:51:43.357464 Running IPv4 version 07:51:43.357534 Listening on port 35535 07:51:43.357570 Wrote pid 113149 to log/19/server/socks_server.pid 07:51:43.357600 Wrote port 35535 to log/19/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==114289== ==114289== Process terminating with default action of signal 4 (SIGILL) ==114289== Illegal opcode at address 0x4013DC0 ==114289== at 0x4013DC0: getparCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/23/stdout745 2> log/23/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/4/valgrind719 ../src/curl -q --output log/4/curl719.out --include --trace-ascii log/4/trace719 --trace-time http://[2200::33]:43573/719 --proxy socks5h://127.0.0.1:35107 > log/4/stdout719 2> log/4/stderr719 CMD (33792): ../libtool --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/valgrind721 ../src/curl -q --output log/12/curl721.out --include --trace-ascii log/12/trace721 --trace-time http://this.is.a.host.name:38023/721 --proxy socks5h://127.0.0.1:41969 > log/12/stdout721 2> log/12/stderr721 CMD (33792): ../libtool --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/valgrind720 ../src/curl -q --output log/8/curl720.out --include --trace-ascii log/8/trace720 --trace-time http://12.34.56.78:36147/720 --proxy socks5h://127.0.0.1:43129 > log/8/stdout720 2> log/8/stderr720 ameter (tool_getparam.c:2846) ==114289== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114289== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114289== by 0x40037A4: main (tool_main.c:199) === End of file valgrind717 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/23/stdout745 2> log/23/stderr745 valgrind SKIPPED s------e--- OK (715 out of 1746, remaining: 01:33, took 0.031s, duration: 01:04) 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 113312 * pid socks => 113312 113312 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/4/valgrind719 ../src/curl -q --output log/4/curl719.out --include --trace-ascii log/4/trace719 --trace-time http://[2200::33]:43573/719 --proxy socks5h://127.0.0.1:35107 > log/4/stdout719 2> log/4/stderr719 719: 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/ dir 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/4/valgrind719 ../src/curl -q --output log/4/curl719.out --include --trace-ascii log/4/trace719 --trace-time http://[2200::33]:43573/719 --proxy socks5h://127.0.0.1:35107 > log/4/stdout719 2> log/4/stderr719 === End of file commands.log === Start of file http_server.log 07:51:44.579649 ====> Client connect 07:51:44.579683 accept_connection 3 returned 4 07:51:44.579700 accept_connection 3 returned 0 07:51:44.579716 Read 93 bytes 07:51:44.579727 Process 93 bytes request 07:51:44.579741 Got request: GET /verifiedserver HTTP/1.1 07:51:44.579751 Are-we-friendly question received 07:51:44.579778 Wrote request (93 bytes) input to log/4/server.input 07:51:44.579797 Identifying ourselves as friends 07:51:44.579860 Response sent (56 bytes) and written to log/4/server.response 07:51:44.579872 special request received, no persistency 07:51:44.579881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 35730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file socks_server.log 07:51:43.585397 Running IPv4 version 07:51:43.585444 Listening on port 35107 07:51:43.585473 Wrote pid 113312 to log/4/server/socks_server.pid 07:51:43.585497 Wrote port 35107 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 ==114496== ==114496== Process terminating with default action of signal 4 (SIGILL) ==114496== Illegal opcode at address 0x4013DC0 ==114496== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114496== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114496== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114496== by 0x40037A4: main (tool_main.c:199) === End of file valgrind719 startnew: ./server/servers socksd --port 0 --pidfile log/12/server/socks_server.pid --portfile log/12/server/socks_server.port --reqfile log/12/socksd-request.log --logfile log/12/socks_server.log --backend 127.0.0.1 --config log/12/server.cmd RUN: SOCKS server is now running PID 113319 * pid socks => 113319 113319 test 0721...[HTTP GET with host name 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/12/valgrind721 ../src/curl -q --output log/12/curl721.out --include --trace-ascii log/12/trace721 --trace-time http://this.is.a.host.name:38023/721 --proxy socks5h://127.0.0.1:41969 > log/12/stdout721 2> log/12/stderr721 721: 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/ dir 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/12/valgrind721 ../src/curl -q --output log/12/curl721.out --include --trace-ascii log/12/trace721 --trace-time http://this.is.a.host.name:38023/721 --proxy socks5h://127.0.0.1:41969 > log/12/stdout721 2> log/12/stderr721 === End of file commands.log === Start of file http_server.log 07:51:43.590326 ====> Client connect 07:51:43.590351 accept_connection 3 returned 4 07:51:43.590364 accept_connection 3 returned 0 07:51:43.590375 Read 93 bytes 07:51:43.590383 Process 93 bytes request 07:51:43.590393 Got request: GET /verifiedserver HTTP/1.1 07:51:43.590401 Are-we-friendly question received 07:51:43.590420 Wrote request (93 bytes) input to log/12/server.input 07:51:43.590433 Identifying ourselves as friends 07:51:43.590474 Response sent (56 bytes) and written to log/12/server.response 07:51:43.590483 special request received, no persistency 07:51:43.590490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 58516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file socks_server.log 07:51:43.594933 Running IPv4 version 07:51:43.594980 Listening on port 41969 07:51:43.595007 Wrote pid 113319 to log/12/server/socks_server.pid 07:51:43.595028 Wrote port 41969 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 ==114517== ==114517== Process terminating with default action of signal 4 (SIGILL) ==114517== Illegal opcode at address 0x4013DC0 ==114517== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114517== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114517== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114517== by 0x40037A4: main (tool_main.c:199) === End of file valgrind721 startnew: ./server/servers socksd --port 0 --pidfile log/8/server/socks_server.pid --portfile log/8/server/socks_server.port --reqfile log/8/socksd-request.log --logfile log/8/socks_server.log --backend 127.0.0.1 --config log/8/server.cmd RUN: SOCKS server is now running PID 113315 * pid socks => 113315 113315 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/8/valgrind720 ../src/curl -CMD (33792): ../libtool --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/valgrind729 ../src/curl -q --output log/21/curl729.out --include --trace-ascii log/21/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:41115 > log/21/stdout729 2> log/21/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/22/valgrind730 ../src/curl -q --output log/22/curl730.out --include --trace-ascii log/22/trace730 --trace-time --ipfs-gateway http://127.0.0.1:40377/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout730 2> log/22/stderr730 q --output log/8/curl720.out --include --trace-ascii log/8/trace720 --trace-time http://12.34.56.78:36147/720 --proxy socks5h://127.0.0.1:43129 > log/8/stdout720 2> log/8/stderr720 720: 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/ dir 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/8/valgrind720 ../src/curl -q --output log/8/curl720.out --include --trace-ascii log/8/trace720 --trace-time http://12.34.56.78:36147/720 --proxy socks5h://127.0.0.1:43129 > log/8/stdout720 2> log/8/stderr720 === End of file commands.log === Start of file http_server.log 07:51:43.583481 ====> Client connect 07:51:43.583510 accept_connection 3 returned 4 07:51:43.583526 accept_connection 3 returned 0 07:51:43.583539 Read 93 bytes 07:51:43.583549 Process 93 bytes request 07:51:43.583560 Got request: GET /verifiedserver HTTP/1.1 07:51:43.583569 Are-we-friendly question received 07:51:43.583593 Wrote request (93 bytes) input to log/8/server.input 07:51:43.583608 Identifying ourselves as friends 07:51:43.583657 Response sent (56 bytes) and written to log/8/server.response 07:51:43.583667 special request received, no persistency 07:51:43.583676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 53694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file socks_server.log 07:51:43.588132 Running IPv4 version 07:51:43.588215 Listening on port 43129 07:51:43.588283 Wrote pid 113315 to log/8/server/socks_server.pid 07:51:43.588311 Wrote port 43129 to log/8/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 ==114503== ==114503== Process terminating with default action of signal 4 (SIGILL) ==114503== Illegal opcode at address 0x4013DC0 ==114503== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114503== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114503== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114503== by 0x40037A4: main (tool_main.c:199) === End of file valgrind720 test 0729...[SOCKS4 with very long proxy user 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/21/valgrind729 ../src/curl -q --output log/21/curl729.out --include --trace-ascii log/21/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:41115 > log/21/stdout729 2> log/21/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind729 ../src/curl -q --output log/21/curl729.out --include --trace-ascii log/21/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:41115 > log/21/stdout729 2> log/21/stderr729 === End of file commands.log === Start of file http_server.log 07:51:44.682431 ====> Client connect 07:51:44.682466 accept_connection 3 returned 4 07:51:44.682482 accept_connection 3 returned 0 07:51:44.682498 Read 93 bytes 07:51:44.682526 Process 93 bytes request 07:51:44.682542 Got request: GET /verifiedserver HTTP/1.1 07:51:44.682551 Are-we-friendly question received 07:51:44.682574 Wrote request (93 bytes) input to log/21/server.input 07:51:44.682590 Identifying ourselves as friends 07:51:44.682643 Response sent (56 bytes) and written to log/21/server.response 07:51:44.682653 special request received, no persistency 07:51:44.682661 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 56124 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind729 ==114657== ==114657== Process terminating with default action of signal 4 (SIGILL) ==114657== Illegal opcode at address 0x4013DC0 ==114657== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind729 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/22/valgrind730 ../src/curl -q --output log/22/curl730.out --include --trace-ascii log/22/trace730 --trace-time --ipfs-gateway http://127.0.0.1:40377/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/16/valgrind732 ../src/curl -q --output log/16/curl732.out --include --trace-ascii log/16/trace732 --trace-time --ipfs-gateway http://127.0.0.1:44351 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/16/stdout732 2> log/16/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/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-time --ipfs-gateway http://127.0.0.1:38169 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout730 2> log/22/stderr730 730: 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/ dir 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/22/valgrind730 ../src/curl -q --output log/22/curl730.out --include --trace-ascii log/22/trace730 --trace-time --ipfs-gateway http://127.0.0.1:40377/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/22/stdout730 2> log/22/stderr730 === End of file commands.log === Start of file http_server.log 07:51:44.702581 ====> Client connect 07:51:44.702622 accept_connection 3 returned 4 07:51:44.702640 accept_connection 3 returned 0 07:51:44.702659 Read 93 bytes 07:51:44.702670 Process 93 bytes request 07:51:44.702686 Got request: GET /verifiedserver HTTP/1.1 07:51:44.702696 Are-we-friendly question received 07:51:44.702719 Wrote request (93 bytes) input to log/22/server.input 07:51:44.702743 Identifying ourselves as friends 07:51:44.702822 Response sent (56 bytes) and written to log/22/server.response 07:51:44.702833 special request received, no persistency 07:51:44.702842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind730 ==114686== ==114686== Process terminating with default action of signal 4 (SIGILL) ==114686== Illegal opcode at address 0x4013DC0 ==114686== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114686== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114686== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114686== by 0x40037A4: main (tool_main.c:199) === End of file valgrind730 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/16/valgrind732 ../src/curl -q --output log/16/curl732.out --include --trace-ascii log/16/trace732 --trace-time --ipfs-gateway http://127.0.0.1:44351 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/16/stdout732 2> log/16/stderr732 732: 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/ dir 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/16/valgrind732 ../src/curl -q --output log/16/curl732.out --include --trace-ascii log/16/trace732 --trace-time --ipfs-gateway http://127.0.0.1:44351 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/16/stdout732 2> log/16/stderr732 === End of file commands.log === Start of file http_server.log 07:51:44.862260 ====> Client connect 07:51:44.862299 accept_connection 3 returned 4 07:51:44.862315 accept_connection 3 returned 0 07:51:44.862329 Read 93 bytes 07:51:44.862339 Process 93 bytes request 07:51:44.862352 Got request: GET /verifiedserver HTTP/1.1 07:51:44.862361 Are-we-friendly question received 07:51:44.862411 Wrote request (93 bytes) input to log/16/server.input 07:51:44.862427 Identifying ourselves as friends 07:51:44.862481 Response sent (56 bytes) and written to log/16/server.response 07:51:44.862491 special request received, no persistency 07:51:44.862501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 40014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind732 ==114865== ==114865== Process terminating with default action of signal 4 (SIGILL) ==114865== Illegal opcode at address 0x4013DC0 ==114865== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114865== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114865== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114865== by 0x40037A4: main (tool_main.c:199) === End of file valgrind732 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/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-time --ipfs-gateway http://127.0.0.1:38169 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 733: 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/ dir 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/11/valgrind733 ../src/curl -q --output log/11/curl733.out --include --trace-ascii log/11/trace733 --trace-time --ipfs-gateway http://127.0.0.1:38169 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/11/stdout733 2> log/11/stderr733 === End of file commands.log === Start of file http_server.log 07:51:44.921651 ====> Client connect 07:51:44.921691 accept_connection 3 returned 4 07:51:44.921711 accept_connection 3 returned 0 07:51:44.921728 Read 93 bytes 07:51:44.921739 Process 93 bytes request 07:51:44.921755 Got request: GET /verifiedserver HTTP/1.1 07:51:44.921766 Are-we-friendly question received 07:51:44.921795 Wrote request (93 bytes) input to log/11/server.input 07:51:44.921951 Identifying ourselves as friends 07:51:44.922021 Response sent (56 bytes) and written to log/11/server.response 07:51:44.922033 special request received, no persistency 07:51:44.922044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 49332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === End of file http_verify.out === Start of file server.cmd Testnum 733 === End of file server.cmd === Start of file server.response HTTP/CMD (33792): ../libtool --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/valgrind734 ../src/curl -q --output log/20/curl734.out --include --trace-ascii log/20/trace734 --trace-time --ipfs-gateway http://127.0.0.1:40357/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/20/stdout734 2> log/20/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/13/valgrind735 ../src/curl -q --output log/13/curl735.out --include --trace-ascii log/13/trace735 --trace-time --ipfs-gateway http://127.0.0.1:35041/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/13/stdout735 2> log/13/stderr735 CMD (33792): ../libtool --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/valgrind736 ../src/curl -q --output log/17/curl736.out --include --trace-ascii log/17/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout736 2> log/17/stderr736 1.1 200 OK Content-Length: 17 WE ROOLZ: 74504 === End of file server.response === Start of file valgrind733 ==114901== ==114901== Process terminating with default action of signal 4 (SIGILL) ==114901== Illegal opcode at address 0x4013DC0 ==114901== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114901== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114901== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114901== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind734 ../src/curl -q --output log/20/curl734.out --include --trace-ascii log/20/trace734 --trace-time --ipfs-gateway http://127.0.0.1:40357/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/20/stdout734 2> log/20/stderr734 734: 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/ dir 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/20/valgrind734 ../src/curl -q --output log/20/curl734.out --include --trace-ascii log/20/trace734 --trace-time --ipfs-gateway http://127.0.0.1:40357/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/20/stdout734 2> log/20/stderr734 === End of file commands.log === Start of file http_server.log 07:51:45.126307 ====> Client connect 07:51:45.126343 accept_connection 3 returned 4 07:51:45.126361 accept_connection 3 returned 0 07:51:45.133132 Read 93 bytes 07:51:45.133156 Process 93 bytes request 07:51:45.133169 Got request: GET /verifiedserver HTTP/1.1 07:51:45.133180 Are-we-friendly question received 07:51:45.133218 Wrote request (93 bytes) input to log/20/server.input 07:51:45.133237 Identifying ourselves as friends 07:51:45.133292 Response sent (56 bytes) and written to log/20/server.response 07:51:45.133303 special request received, no persistency 07:51:45.133313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 57192 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind734 ==115021== ==115021== Process terminating with default action of signal 4 (SIGILL) ==115021== Illegal opcode at address 0x4013DC0 ==115021== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115021== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115021== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115021== by 0x40037A4: main (tool_main.c:199) === 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/13/valgrind735 ../src/curl -q --output log/13/curl735.out --include --trace-ascii log/13/trace735 --trace-time --ipfs-gateway http://127.0.0.1:35041/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/13/stdout735 2> log/13/stderr735 735: 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/ dir 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/13/valgrind735 ../src/curl -q --output log/13/curl735.out --include --trace-ascii log/13/trace735 --trace-time --ipfs-gateway http://127.0.0.1:35041/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/13/stdout735 2> log/13/stderr735 === End of file commands.log === Start of file http_server.log 07:51:45.140345 ====> Client connect 07:51:45.140472 accept_connection 3 returned 4 07:51:45.140489 accept_connection 3 returned 0 07:51:45.140502 Read 93 bytes 07:51:45.140513 Process 93 bytes request 07:51:45.140524 Got request: GET /verifiedserver HTTP/1.1 07:51:45.140533 Are-we-friendly question received 07:51:45.140557 Wrote request (93 bytes) input to log/13/server.input 07:51:45.140573 Identifying ourselves as friends 07:51:45.140633 Response sent (56 bytes) and written to log/13/server.response 07:51:45.140643 special request received, no persistency 07:51:45.140652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 44438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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 200 OK Content-Length: 17 WE ROOLZ: 74452 === End of file server.response === Start of file valgrind735 ==115027== ==115027== Process terminating with default action of signal 4 (SIGILL) ==115027== Illegal opcode at address 0x4013DC0 ==115027== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115027== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115027== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115027== by 0x40037A4: main (tool_main.c:199) === End of file valgrind735 setenv IPFS_PATH = log/17/.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/17/valgrind736 ../src/curl -q --output log/17/curl736.out --include --trace-ascii log/17/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout736 2> log/17/stderr736 736: 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/ dir 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/17/valgrind736 ../src/curl -q --output log/17/curl736.out --include --trace-ascii log/17/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/17/stdout736 2> log/17/stderr736 === End of file commands.log === Start of file http_server.log 07:51:46.234206 ====> Client connect 07:51:46.234241 accept_connection 3 returned 4 07:51:46.234257 accept_connection 3 returned 0 07:51:46.234272 Read 93 bytes 07:51:46.234283 Process 93 bytes request 07:51:46.234295 Got request: GET /verifiedserver HTTP/1.1 07:51:46.234305 Are-we-friendly question received 07:51:46.234329 Wrote request (93 bytes) input to log/17/server.input 07:51:46.234345 Identifying ourseCMD (33792): ../libtool --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/valgrind738 ../src/curl -q --output log/3/curl738.out --include --trace-ascii log/3/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout738 2> log/3/stderr738 CMD (33792): ../libtool --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/valgrind737 ../src/curl -q --output log/1/curl737.out --include --trace-ascii log/1/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout737 2> log/1/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/5/valgrind739 ../src/curl -q --output log/5/curl739.out --include --trace-ascii log/5/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:42797/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/5/stdout739 2> log/5/stderr739 lves as friends 07:51:46.234396 Response sent (56 bytes) and written to log/17/server.response 07:51:46.234407 special request received, no persistency 07:51:46.234416 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 40012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind736 ==115103== ==115103== Process terminating with default action of signal 4 (SIGILL) ==115103== Illegal opcode at address 0x4013DC0 ==115103== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115103== by 0x40037A4: main (tool_main.c:199) === End of file valgrind736 setenv IPFS_PATH = log/3/.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/3/valgrind738 ../src/curl -q --output log/3/curl738.out --include --trace-ascii log/3/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout738 2> log/3/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind738 ../src/curl -q --output log/3/curl738.out --include --trace-ascii log/3/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout738 2> log/3/stderr738 === End of file commands.log === Start of file http_server.log 07:51:46.491101 ====> Client connect 07:51:46.491129 accept_connection 3 returned 4 07:51:46.491144 accept_connection 3 returned 0 07:51:46.491156 Read 93 bytes 07:51:46.491165 Process 93 bytes request 07:51:46.491176 Got request: GET /verifiedserver HTTP/1.1 07:51:46.491184 Are-we-friendly question received 07:51:46.491203 Wrote request (93 bytes) input to log/3/server.input 07:51:46.491216 Identifying ourselves as friends 07:51:46.491260 Response sent (56 bytes) and written to log/3/server.response 07:51:46.491269 special request received, no persistency 07:51:46.491276 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 39160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind738 ==115289== ==115289== Process terminating with default action of signal 4 (SIGILL) ==115289== Illegal opcode at address 0x4013DC0 ==115289== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115289== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115289== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115289== by 0x40037A4: main (tool_main.c:199) === End of file valgrind738 setenv IPFS_PATH = log/1/.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/1/valgrind737 ../src/curl -q --output log/1/curl737.out --include --trace-ascii log/1/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout737 2> log/1/stderr737 737: 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/ dir 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/1/valgrind737 ../src/curl -q --output log/1/curl737.out --include --trace-ascii log/1/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout737 2> log/1/stderr737 === End of file commands.log === Start of file http_server.log 07:51:45.468803 ====> Client connect 07:51:45.468840 accept_connection 3 returned 4 07:51:45.468858 accept_connection 3 returned 0 07:51:45.468876 Read 93 bytes 07:51:45.468887 Process 93 bytes request 07:51:45.468901 Got request: GET /verifiedserver HTTP/1.1 07:51:45.468912 Are-we-friendly question received 07:51:45.468939 Wrote request (93 bytes) input to log/1/server.input 07:51:45.468958 Identifying ourselves as friends 07:51:45.469023 Response sent (56 bytes) and written to log/1/server.response 07:51:45.469035 special request received, no persistency 07:51:45.469046 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind737 ==115272== ==115272== Process terminating with default action of signal 4 (SIGILL) ==115272== Illegal opcode at address 0x4013DC0 ==115272== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115272== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115272== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115272== by 0x40037A4: main (tool_main.c:199) === End of file valgrind737 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/5/valgrind739 ../src/curl -q --output log/5/curl739.out --include --trace-ascii log/5/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:42797/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/5/stdout739 2> log/5/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/5/ dir 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/5/valgrind739 ../src/curl -q --output log/5/curl739.out --include --trace-ascii log/5/trace739 --trace-time --ipfs-gateway CMD (33792): ../libtool --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/valgrind728 ../src/curl -q --output log/9/curl728.out --include --trace-ascii log/9/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36023 http://127.0.0.1:42717/728 > log/9/stdout728 2> log/9/stderr728 CMD (33792): ../libtool --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/valgrind742 ../src/curl -q --output log/18/curl742.out --include --trace-ascii log/18/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:46763 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:43553 > log/18/stdout742 2> log/18/stderr742 "http://127.0.0.1:42797/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/5/stdout739 2> log/5/stderr739 === End of file commands.log === Start of file http_server.log 07:51:45.482241 ====> Client connect 07:51:45.482277 accept_connection 3 returned 4 07:51:45.482295 accept_connection 3 returned 0 07:51:45.483105 Read 93 bytes 07:51:45.483128 Process 93 bytes request 07:51:45.483143 Got request: GET /verifiedserver HTTP/1.1 07:51:45.483155 Are-we-friendly question received 07:51:45.483189 Wrote request (93 bytes) input to log/5/server.input 07:51:45.483208 Identifying ourselves as friends 07:51:45.483262 Response sent (56 bytes) and written to log/5/server.response 07:51:45.483274 special request received, no persistency 07:51:45.483284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 58738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind739 ==115275== ==115275== Process terminating with default action of signal 4 (SIGILL) ==115275== Illegal opcode at address 0x4013DC0 ==115275== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115275== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115275== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115275== by 0x40037A4: main (tool_main.c:199) === End of file valgrind739 CMD (33792): ../libtool --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/valgrind743 ../src/curl -q --output log/14/curl743.out --include --trace-ascii log/14/trace743 --trace-time http://127.0.0.1:34115/743 -K log/14/config > log/14/stdout743 2> log/14/stderr743 startnew: ./server/servers socksd --port 0 --pidfile log/9/server/socks_server.pid --portfile log/9/server/socks_server.port --reqfile log/9/socksd-request.log --logfile log/9/socks_server.log --backend 127.0.0.1 --config log/9/server.cmd RUN: SOCKS server is now running PID 114484 * pid socks => 114484 114484 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/9/valgrind728 ../src/curl -q --output log/9/curl728.out --include --trace-ascii log/9/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36023 http://127.0.0.1:42717/728 > log/9/stdout728 2> log/9/stderr728 728: stderr FAILED: --- log/9/check-expected 2025-11-07 07:51:47.024040487 +0000 +++ log/9/check-generated 2025-11-07 07:51:47.024040487 +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/9/ dir 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/9/valgrind728 ../src/curl -q --output log/9/curl728.out --include --trace-ascii log/9/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36023 http://127.0.0.1:42717/728 > log/9/stdout728 2> log/9/stderr728 === End of file commands.log === Start of file http_server.log 07:51:44.555810 ====> Client connect 07:51:44.555858 accept_connection 3 returned 4 07:51:44.555876 accept_connection 3 returned 0 07:51:44.555894 Read 93 bytes 07:51:44.555905 Process 93 bytes request 07:51:44.555920 Got request: GET /verifiedserver HTTP/1.1 07:51:44.555930 Are-we-friendly question received 07:51:44.555958 Wrote request (93 bytes) input to log/9/server.input 07:51:44.555978 Identifying ourselves as friends 07:51:44.556041 Response sent (56 bytes) and written to log/9/server.response 07:51:44.556053 special request received, no persistency 07:51:44.556064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 36868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file socks_server.log 07:51:44.574233 Running IPv4 version 07:51:44.574319 Listening on port 36023 07:51:44.574354 Wrote pid 114484 to log/9/server/socks_server.pid 07:51:44.574380 Wrote port 36023 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind728 ==115404== ==115404== Process terminating with default action of signal 4 (SIGILL) ==115404== Illegal opcode at address 0x4013DC0 ==115404== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115404== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115404== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115404== by 0x40037A4: main (tool_main.c:199) === End of file valgrind728 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/14/valgrind743 ../src/curl -q --output log/14/curl743.out --include --trace-ascii log/14/trace743 --trace-time http://127.0.0.1:34115/743 -K log/14/config > log/14/stdout743 2> log/14/stderr743 743: 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/ dir 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/14/valgrind743 ../src/curl -q --output log/14/curl743.out --include --trace-ascii log/14/trace743 --trace-time http://127.0.0.1:34115/743 -K log/14/config > log/14/stdout743 2> log/14/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 07:51:45.645935 ====> Client connect 07:51:45.645982 accept_connection 3 returned 4 07:51:45.646003 accept_connection 3 returned 0 07:51:45.646022 Read 93 bytes 07:51:45.646034 Process 93 bytes request 07:51:45.646049 Got request: GET /verifiedserver HTTP/1.1 07:51:45.646060 Are-we-friendly question received 07:51:45.646085 Wrote request (93 bytes) input to log/14/server.input 07:51:45.646103 Identifying ourselves as friends 07:51:45.646226 Response sent (56 bytes) and written to log/14/server.response 07:51:45.646240 special request received, no persistency 07:51:45.646248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind743 ==115585== ==115585== Process terminating with default action of signal 4 (SIGILL) ==115585== Illegal opcode at address 0x4013DC0 ==115585== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115585== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115585== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115585== by 0x40037A4: main (tool_main.c:199) === End of file valgrind743 test 0742...[SOCKS5-hostname with max length credentials and max host name 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/18/valgrind742 ../src/curl -q --output log/18/curl742.out --include --trace-ascii log/18/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:46763 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:43553 > log/18/stdout742 2> log/18/stderr742 742: 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/19/valgrind746 ../src/curl -q --output log/19/curl746.out --include --trace-ascii log/19/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/19/stdout746 2> log/19/stderr746 D! 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/ dir 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/18/valgrind742 ../src/curl -q --output log/18/curl742.out --include --trace-ascii log/18/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:46763 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:43553 > log/18/stdout742 2> log/18/stderr742 === End of file commands.log === Start of file http_server.log 07:51:46.650748 ====> Client connect 07:51:46.650779 accept_connection 3 returned 4 07:51:46.650795 accept_connection 3 returned 0 07:51:46.650907 Read 93 bytes 07:51:46.650920 Process 93 bytes request 07:51:46.650932 Got request: GET /verifiedserver HTTP/1.1 07:51:46.650941 Are-we-friendly question received 07:51:46.650967 Wrote request (93 bytes) input to log/18/server.input 07:51:46.650984 Identifying ourselves as friends 07:51:46.651032 Response sent (56 bytes) and written to log/18/server.response 07:51:46.651042 special request received, no persistency 07:51:46.651051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 46763 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74399 === End of file server.response === Start of file valgrind742 ==115590== ==115590== Process terminating with default action of signal 4 (SIGILL) ==115590== Illegal opcode at address 0x4013DC0 ==115590== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115590== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115590== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115590== by 0x40037A4: main (tool_main.c:199) === 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/12/valgrind749 ../src/curl -q --output log/12/curl749.out --include --trace-ascii log/12/trace749 --trace-time http://test.example --proxy http://127.0.0.1:38023 --proxytunnel -sS > log/12/stdout749 2> log/12/stderr749 CMD (33792): ../libtool --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/valgrind747 ../src/curl -q --output log/23/curl747.out --include --trace-ascii log/23/trace747 --trace-time http://127.0.0.1:41029/747 > log/23/stdout747 2> log/23/stderr747 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/19/valgrind746 ../src/curl -q --output log/19/curl746.out --include --trace-ascii log/19/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/19/stdout746 2> log/19/stderr746 746: stderr FAILED: --- log/19/check-expected 2025-11-07 07:51:47.217373822 +0000 +++ log/19/check-generated 2025-11-07 07:51:47.217373822 +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/19/ dir 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/19/valgrind746 ../src/curl -q --output log/19/curl746.out --include --trace-ascii log/19/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/19/stdout746 2> log/19/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==115668== ==115668== Process terminating with default action of signal 4 (SIGILL) ==115668== Illegal opcode at address 0x4013DC0 ==115668== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115668== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115668== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115668== by 0x40037A4: main (tool_main.c:199) === End of file valgrind746 CMD (33792): ../libtool --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/valgrind750 ../src/curl -q --output log/8/curl750.out --include --trace-ascii log/8/trace750 --trace-time http://test.example --proxy http://127.0.0.1:36147 --proxytunnel -sS > log/8/stdout750 2> log/8/stderr750 CMD (33792): ../libtool --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/valgrind748 ../src/curl -q --output log/4/curl748.out --include --trace-ascii log/4/trace748 --trace-time -K log/4/cmd > log/4/stdout748 2> log/4/stderr748 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/12/valgrind749 ../src/curl -q --output log/12/curl749.out --include --trace-ascii log/12/trace749 --trace-time http://test.example --proxy http://127.0.0.1:38023 --proxytunnel -sS > log/12/stdout749 2> log/12/stderr749 749: stderr FAILED: --- log/12/check-expected 2025-11-07 07:51:47.254040490 +0000 +++ log/12/check-generated 2025-11-07 07:51:47.254040490 +0000 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/12/ dir 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/12/valgrind749 ../src/curl -q --output log/12/curl749.out --include --trace-ascii log/12/trace749 --trace-time http://test.example --proxy http://127.0.0.1:38023 --proxytunnel -sS > log/12/stdout749 2> log/12/stderr749 === End of file commands.log === Start of file http_server.log 07:51:45.915964 ====> Client connect 07:51:45.916006 accept_connection 3 returned 4 07:51:45.916026 accept_connection 3 returned 0 07:51:45.916044 Read 93 bytes 07:51:45.916057 Process 93 bytes request 07:51:45.916070 Got request: GET /verifiedserver HTTP/1.1 07:51:45.916081 Are-we-friendly question received 07:51:45.916111 Wrote request (93 bytes) input to log/12/server.input 07:51:45.916130 Identifying ourselves as friends 07:51:45.916195 Response sent (56 bytes) and written to log/12/server.response 07:51:45.916207 special request received, no persistency 07:51:45.916217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 58520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind749 ==115872== ==115872== Process terminating with default action of signal 4 (SIGILL) ==115872== Illegal opcode at address 0x4013DC0 ==115872== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115872== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115872== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115872== by 0x40037A4: main (tool_main.c:199) === End of file valgrind749 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/4/valgrind748 ../src/curl -q --output log/4/curl748.out --include --trace-ascii log/4/trace748 --trace-time -K log/4/cmd > log/4/stdout748 2> log/4/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind748 ../src/curl -q --output log/4/curl748.out --include --trace-ascii log/4/trace748 --trace-time -K log/4/cmd > log/4/stdout748 2> log/4/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 ==115794== ==115794== Process terminating with default action of signal 4 (SIGILL) ==115794== Illegal opcode at address 0x4013DC0 ==115794== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115794== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115794== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115794== by 0x40037A4: main (tool_main.c:199) === End of file valgrind748 CMD (33792): ../libtool --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/valgrind752 ../src/curl -q --output log/22/curl752.out --include --trace-ascii log/22/trace752 --trace-time http://127.0.0.1:40377/752 -f --retry 1 > log/22/stdout752 2> log/22/stderr752 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/8/valgrind750 ../src/curl -q --output log/8/curl750.out --include --trace-ascii log/8/trace750 --trace-time http://test.example --proxy http://127.0.0.1:36147 --proxytunnel -sS > log/8/stdout750 2> log/8/stderr750 750: stderr FAILED: --- log/8/check-expected 2025-11-07 07:51:47.264040490 +0000 +++ log/8/check-generated 2025-11-07 07:51:47.264040490 +0000 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/8/ dir 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/8/valgrind750 ../src/curl -q --output log/8/curl750.out --include --trace-ascii log/8/trace750 --trace-time http://test.example --proxy http://127.0.0.1:36147 --proxytunnel -sS > log/8/stdout750 2> log/8/stderr750 === End of file commands.log === Start of file http_server.log 07:51:45.910679 ====> Client connect 07:51:45.910715 accept_connection 3 returned 4 07:51:45.910732 accept_connection 3 returned 0 07:51:45.910746 Read 93 bytes 07:51:45.910757 Process 93 bytes request 07:51:45.910770 Got request: GET /verifiedserver HTTP/1.1 07:51:45.910780 Are-we-friendly question received 07:51:45.910808 Wrote request (93 bytes) input to log/8/server.input 07:51:45.910825 Identifying ourselves as friends 07:51:45.910880 Response sent (56 bytes) and written to log/8/server.response 07:51:45.910891 special request received, no persistency 07:51:45.910901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 53698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind750 ==115865== ==115865== Process terminating with default action of signal 4 (SIGILL) ==115865== Illegal opcode at address 0x4013DC0 ==115865== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115865== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115865== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115865== by 0x40037A4: main (tool_main.c:199) === End of file valgrind750 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/23/valgrind747 ../src/curl -q --output log/23/curl747.out --include --trace-ascii log/23/trace747 --trace-time http://127.0.0.1:41029/747 > log/23/stdout747 2> log/23/stderr747 747: 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/ dir 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/23/valgrind747 ../src/curl -q --output log/23/curl747.out --include --trace-ascii log/23/trace747 --trace-time http://127.0.0.1:41029/747 > log/23/stdout747 2> log/23/stderr747 === End of file commands.log === Start of file http_server.log 07:51:45.814663 ====> Client connect 07:51:45.814699 accept_connection 3 returned 4 07:51:45.814717 accept_connection 3 returned 0 07:51:45.814733 Read 93 bytes 07:51:45.814744 Process 93 bytes request 07:51:45.814759 Got request: GET /verifiedserver HTTP/1.1 07:51:45.814769 Are-we-friendly question received 07:51:45.814798 Wrote request (93 bytes) input to log/23/server.input 07:51:45.814816 Identifying ourselves as friends 07:51:45.816853 Response sent (56 bytes) and written to log/23/server.response 07:51:45.816869 special request received, no persistency 07:51:45.816880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind747 ==115825== ==115825== Process terminating with default action of signal 4 (SIGILL) ==115825== Illegal opcode at address 0x4013DC0 ==115825== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115825== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115825== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115825== by 0x40037A4: main (tool_main.c:199) === End of file valgrind747 test 0752...[--retry and -f on a 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/22/valgrind752 ../src/curl -q --output log/22/curl752.out --include --trace-ascii log/22/trace752 --trace-time http://127.0.0.1:40377/752 -f --retry 1 > log/22/stdout752 2> log/22/stderr752 752: 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/ dir 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/22/valgrind752 ../src/curl -q --output log/22/curl752.out --include --trace-ascii log/22/trace752 --trace-time http://127.0.0.1:40377/752 -f --retry 1 > log/22/stdout752 2> log/22/stderr752 === End of file commands.log === Start of file http_server.log 07:51:45.987791 ====> Client connect 07:51:45.987824 accept_connection 3 returned 4 07:51:45.987842 accept_connection 3 returned 0 07:51:45.993070 Read 93 bytes 07:51:45.993092 Process 93 bytes request 07:51:45.993105 Got request: GET /verifiedserver HTTP/1.1 07:51:45.993115 Are-we-friendly question received 07:51:45.993145 Wrote request (93 bytes) input to log/22/server.input 07:51:45.993165 Identifying ourselves as friends 07:51:45.993215 Response sent (56 bytes) and written to log/22/server.response 07:51:45.993225 special request received, no persistency 07:51:45.993234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out CMD (33792): ../libtool --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/valgrind751 ./libtest/libtests lib751 - > log/21/stdout751 2> log/21/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/16/valgrind754 ../src/curl -q --output log/16/curl754.out --include --trace-ascii log/16/trace754 --trace-time ftp://127.0.0.1:37855/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/16/stdout754 2> log/16/stderr754 WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind752 ==116025== ==116025== Process terminating with default action of signal 4 (SIGILL) ==116025== Illegal opcode at address 0x4013DC0 ==116025== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116025== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116025== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116025== by 0x40037A4: main (tool_main.c:199) === End of file valgrind752 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/21/valgrind751 ./libtest/libtests lib751 - > log/21/stdout751 2> log/21/stderr751 libtests returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind751 ./libtest/libtests lib751 - > log/21/stdout751 2> log/21/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 ==115937== ==115937== Process terminating with default action of signal 4 (SIGILL) ==115937== Illegal opcode at address 0x519E800 ==115937== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==115937== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==115937== by 0x519E800: Curl_multi_handle (multi.c:247) ==115937== by 0x40295DD: test_lib751.lto_priv.0 (lib751.c:44) ==115937== by 0x400347F: main (first.c:280) ==115937== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==115937== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==115937== by 0x519E794: Curl_multi_handle (multi.c:239) ==115937== by 0x40295DD: test_lib751.lto_priv.0 (lib751.c:44) ==115937== by 0x400347F: main (first.c:280) ==115937== === End of file valgrind751 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/16/valgrind754 ../src/curl -q --output log/16/curl754.out --include --trace-ascii log/16/trace754 --trace-time ftp://127.0.0.1:37855/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/16/stdout754 2> log/16/stderr754 754: 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/ dir 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/16/valgrind754 ../src/curl -q --output log/16/curl754.out --include --trace-ascii log/16/trace754 --trace-time ftp://127.0.0.1:37855/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/16/stdout754 2> log/16/stderr754 === End of file commands.log === Start of file ftp_server.log 07:51:46.341282 ====> Client connect 07:51:46.341472 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:46.344505 < "USER anonymous" 07:51:46.344552 > "331 We are happy you popped in![CR][LF]" 07:51:46.346345 < "PASS ftp@example.com" 07:51:46.346386 > "230 Welcome you silly person[CR][LF]" 07:51:46.346545 < "PWD" 07:51:46.346577 > "257 "/" is current directory[CR][LF]" 07:51:46.346724 < "EPSV" 07:51:46.346746 ====> Passive DATA channel requested by client 07:51:46.346759 DATA sockfilt for passive data channel starting... 07:51:46.354652 DATA sockfilt for passive data channel started (pid 116161) 07:51:46.354768 DATA sockfilt for passive data channel listens on port 33157 07:51:46.354814 > "229 Entering Passive Mode (|||33157|)[CR][LF]" 07:51:46.354831 Client has been notified that DATA conn will be accepted on port 33157 07:51:46.357930 Client connects to port 33157 07:51:46.357969 ====> Client established passive DATA connection on port 33157 07:51:46.358052 < "TYPE I" 07:51:46.358084 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:46.358252 < "SIZE verifiedserver" 07:51:46.358288 > "213 17[CR][LF]" 07:51:46.358431 < "RETR verifiedserver" 07:51:46.358461 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:46.358546 =====> Closing passive DATA connection... 07:51:46.358562 Server disconnects passive DATA connection 07:51:46.358678 Server disconnected passive DATA connection 07:51:46.358697 DATA sockfilt for passive data channel quits (pid 116161) 07:51:46.358904 DATA sockfilt for passive data channel quit (pid 116161) 07:51:46.358928 =====> Closed passive DATA connection 07:51:46.358953 > "226 File transfer complete[CR][LF]" 07:51:46.408234 < "QUIT" 07:51:46.408299 > "221 bye bye baby[CR][LF]" 07:51:46.409282 MAIN sockfilt said DISC 07:51:46.409309 ====> Client disconnected 07:51:46.409385 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:46.165859 ====> Client connect 07:51:46.172024 Received DATA (on stdin) 07:51:46.172052 > 160 bytes data, server => client 07:51:46.172065 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:46.172076 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:46.172087 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:46.172273 < 16 bytes data, client => server 07:51:46.172289 'USER anonymous\r\n' 07:51:46.172541 Received DATA (on stdin) 07:51:46.172555 > 33 bytes data, server => client 07:51:46.172566 '331 We are happy you popped in!\r\n' 07:51:46.174155 < 22 bytes data, client => server 07:51:46.174173 'PASS ftp@example.com\r\n' 07:51:46.174332 Received DATA (on stdin) 07:51:46.174344 > 30 bytes data, server => client 07:51:46.174354 '230 Welcome you silly person\r\n' 07:51:46.174401 < 5 bytes data, client => server 07:51:46.174412 'PWD\r\n' 07:51:46.174519 Received DATA (on stdin) 07:51:46.174530 > 30 bytes data, server => client 07:51:46.174541 '257 "/" is current directory\r\n' 07:51:46.174591 < 6 bytes data, client => server 07:51:46.174601 'EPSV\r\n' 07:51:46.183565 Received DATA (on stdin) 07:51:46.183586 > 39 bytes data, server => client 07:51:46.183598 '229 Entering Passive Mode (|||33157|)\r\n' 07:51:46.183767 < 8 bytes data, client => server 07:51:46.183779 'TYPE I\r\n' 07:51:46.186030 Received DATA (on stdin) 07:51:46.186043 > 33 bytes data, server => client 07:51:46.186055 '200 I modify TYPE as you wanted\r\n' 07:51:46.186114 < 21 bytes data, client => server 07:51:46.186125 'SIZE verifiedserver\r\n' 07:51:46.186231 Received DATA (on stdin) 07:51:46.186242 > 8 bytes data, server => client 07:51:46.186252 '213 17\r\n' 07:51:46.186298 < 21 bytes data, client => server 07:51:46.186309 'RETR verifiedserver\r\n' 07:51:46.186899 Received DATA (on stdin) 07:51:46.186913 > 29 bytes data, server => client 07:51:46.186924 '150 Binary junk (17 bytes).\r\n' 07:51:46.186946 Received DATA (on stdin) 07:51:46.186957 > 28 bytes data, server => client 07:51:46.186968 '226 File transfer complete\r\n' 07:51:46.235964 < 6 bytes data, client => server 07:51:46.235998 'QUIT\r\n' 07:51:46.236249 Received DATA (on stdin) 07:51:46.236263 > 18 bytes data, server => client 07:51:46.236274 '221 bye bye baby\r\n' 07:51:46.237174 ====> Client disconnect 07:51:46.237341 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:46.176921 Running IPv4 version 07:51:46.176982 Listening on port 33157 07:51:46.177015CMD (33792): ../libtool --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/valgrind755 ../src/curl -q --output log/11/curl755.out --include --trace-ascii log/11/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:38169 -A "" --netrc > log/11/stdout755 2> log/11/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/13/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35041/we/want/757 > log/13/stdout757 2> log/13/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/20/valgrind756 ../src/curl -q --include --trace-ascii log/20/trace756 --trace-time http://127.0.0.1:40357/want/756 http://127.0.0.1:40357/want/7560002 --out-null -o - > log/20/stdout756 2> log/20/stderr756 Wrote pid 116161 to log/16/server/ftp_sockdata.pid 07:51:46.182524 Received PING (on stdin) 07:51:46.182623 Received PORT (on stdin) 07:51:46.183738 ====> Client connect 07:51:46.186509 Received DATA (on stdin) 07:51:46.186523 > 17 bytes data, server => client 07:51:46.186534 'WE ROOLZ: 80324\r\n' 07:51:46.186559 Received DISC (on stdin) 07:51:46.186572 ====> Client forcibly disconnected 07:51:46.186644 Received QUIT (on stdin) 07:51:46.186655 quits 07:51:46.186714 ============> 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 ==116181== ==116181== Process terminating with default action of signal 4 (SIGILL) ==116181== Illegal opcode at address 0x4013DC0 ==116181== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116181== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116181== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116181== by 0x40037A4: main (tool_main.c:199) === End of file valgrind754 setenv NETRC = log/11/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/11/valgrind755 ../src/curl -q --output log/11/curl755.out --include --trace-ascii log/11/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:38169 -A "" --netrc > log/11/stdout755 2> log/11/stderr755 755: 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/ dir 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/11/valgrind755 ../src/curl -q --output log/11/curl755.out --include --trace-ascii log/11/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:38169 -A "" --netrc > log/11/stdout755 2> log/11/stderr755 === End of file commands.log === Start of file http_server.log 07:51:46.273798 ====> Client connect 07:51:46.273836 accept_connection 3 returned 4 07:51:46.273855 accept_connection 3 returned 0 07:51:46.273870 Read 93 bytes 07:51:46.273881 Process 93 bytes request 07:51:46.273895 Got request: GET /verifiedserver HTTP/1.1 07:51:46.273905 Are-we-friendly question received 07:51:46.273934 Wrote request (93 bytes) input to log/11/server.input 07:51:46.273952 Identifying ourselves as friends 07:51:46.274013 Response sent (56 bytes) and written to log/11/server.response 07:51:46.274024 special request received, no persistency 07:51:46.274035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 49342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind755 ==116200== ==116200== Process terminating with default action of signal 4 (SIGILL) ==116200== Illegal opcode at address 0x4013DC0 ==116200== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116200== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116200== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116200== by 0x40037A4: main (tool_main.c:199) === End of file valgrind755 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/13/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35041/we/want/757 > log/13/stdout757 2> log/13/stderr757 757: 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/ dir 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/13/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35041/we/want/757 > log/13/stdout757 2> log/13/stderr757 === End of file commands.log === Start of file http_server.log 07:51:46.491239 ====> Client connect 07:51:46.491275 accept_connection 3 returned 4 07:51:46.491295 accept_connection 3 returned 0 07:51:46.491311 Read 93 bytes 07:51:46.491323 Process 93 bytes request 07:51:46.491337 Got request: GET /verifiedserver HTTP/1.1 07:51:46.491348 Are-we-friendly question received 07:51:46.491374 Wrote request (93 bytes) input to log/13/server.input 07:51:46.491392 Identifying ourselves as friends 07:51:46.491449 Response sent (56 bytes) and written to log/13/server.response 07:51:46.491460 special request received, no persistency 07:51:46.491470 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 44448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file stderr757 URL: http://127.0.0.1:35041/we/want/757 === End of file stderr757 === Start of file valgrind757 ==116360== ==116360== Process terminating with default action of signal 4 (SIGILL) ==116360== Illegal opcode at address 0x51D5F1F ==116360== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==116360== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==116360== by 0x51D5F1F: Curl_open (url.c:525) ==116360== by 0x514F6EF: curl_easy_init (easy.c:371) ==116360== by 0x4025BCA: test_lib757.lto_priv.0 (lib757.c:74) ==116360== by 0x400347F: main (first.c:280) ==116360== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==116360== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==116360== by 0x51D5EBD: Curl_open (url.c:504) ==116360== by 0x514F6EF: curl_easy_init (easy.c:371) ==116360== by 0x4025BCA: test_lib757.lto_priv.0 (lib757.c:74) ==116360== by 0x400347F: main (first.c:280) ==116360== === End of file valgrind757 CMD (33792): ../libtool --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/valgrind759 ../src/curl -q --output log/17/curl759.out --include --trace-ascii log/17/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/17/stdout759 2> log/17/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/7/valgrind744 ../src/curl -q --output log/7/curl744.out --include --trace-ascii log/7/trace744 --trace-time http://foo.host:39661/744 -p --proxy1.0 127.0.0.1:33783 -A "" --netrc-file log/7/netrc744 > log/7/stdout744 2> log/7/stderr744 CMD (33792): ../libtool --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/valgrind761 ../src/curl -q --output log/1/curl761.out --include --trace-ascii log/1/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/1/stdout761 2> log/1/stderr761 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/20/valgrind756 ../src/curl -q --include --trace-ascii log/20/trace756 --trace-time http://127.0.0.1:40357/want/756 http://127.0.0.1:40357/want/7560002 --out-null -o - > log/20/stdout756 2> log/20/stderr756 756: stdout FAILED: --- log/20/check-expected 2025-11-07 07:51:47.874040496 +0000 +++ log/20/check-generated 2025-11-07 07:51:47.874040496 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Response: 1[LF] -Content-Type: text/html[LF] -Content-Length: 8[LF] -[LF] -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/20/ dir 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: 1[LF] Content-Type: text/html[LF] Content-Length: 8[LF] [LF] 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/20/valgrind756 ../src/curl -q --include --trace-ascii log/20/trace756 --trace-time http://127.0.0.1:40357/want/756 http://127.0.0.1:40357/want/7560002 --out-null -o - > log/20/stdout756 2> log/20/stderr756 === End of file commands.log === Start of file http_server.log 07:51:46.440588 ====> Client connect 07:51:46.440622 accept_connection 3 returned 4 07:51:46.440639 accept_connection 3 returned 0 07:51:46.440655 Read 93 bytes 07:51:46.440665 Process 93 bytes request 07:51:46.440678 Got request: GET /verifiedserver HTTP/1.1 07:51:46.440688 Are-we-friendly question received 07:51:46.440712 Wrote request (93 bytes) input to log/20/server.input 07:51:46.440729 Identifying ourselves as friends 07:51:46.440783 Response sent (56 bytes) and written to log/20/server.response 07:51:46.440794 special request received, no persistency 07:51:46.440803 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 57196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind756 ==116319== ==116319== Process terminating with default action of signal 4 (SIGILL) ==116319== Illegal opcode at address 0x4013DC0 ==116319== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116319== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116319== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116319== by 0x40037A4: main (tool_main.c:199) === End of file valgrind756 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/17/valgrind759 ../src/curl -q --output log/17/curl759.out --include --trace-ascii log/17/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/17/stdout759 2> log/17/stderr759 curl returned 132, when expecting 3 759: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind759 ../src/curl -q --output log/17/curl759.out --include --trace-ascii log/17/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/17/stdout759 2> log/17/stderr759 === End of file commands.log === Start of file server.cmd Testnum 759 === End of file server.cmd === Start of file valgrind759 ==116349== ==116349== Process terminating with default action of signal 4 (SIGILL) ==116349== Illegal opcode at address 0x4013DC0 ==116349== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116349== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116349== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116349== by 0x40037A4: main (tool_main.c:199) === End of file valgrind759 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 115595 port 33783 * pid http-proxy => 115595 115595 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/7/valgrind744 ../src/curl -q --output log/7/curl744.out --include --trace-ascii log/7/trace744 --trace-time http://foo.host:39661/744 -p --proxy1.0 127.0.0.1:33783 -A "" --netrc-file log/7/netrc744 > log/7/stdout744 2> log/7/stderr744 744: 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/ dir 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/7/valgrind744 ../src/curl -q --output log/7/curl744.out --include --trace-ascii log/7/trace744 --trace-time http://foo.host:39661/744 -p --proxy1.0 127.0.0.1:33783 -A "" --netrc-file log/7/netrc744 > log/7/stdout744 2> log/7/stderr744 === End of file commands.log === Start of file http2_server.log 07:51:45.718891 Run as proxy, CONNECT to host 127.0.0.1 07:51:45.719015 Running HTTP IPv4 version on port 33783 07:51:45.719059 Wrote pid 115595 to log/7/server/http2_server.pid 07:51:45.719091 Wrote port 33783 to log/7/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:51:46.663850 ====> Client connect 07:51:46.663883 accept_connection 3 returned 4 07:51:46.663901 accept_connection 3 returned 0 07:51:46.663916 Read 93 bytes 07:51:46.663927 Process 93 bytes request 07:51:46.663941 Got request: GET /verifiedserver HTTP/1.1 07:51:46.663951 Are-we-friendly question received 07:51:46.663976 Wrote request (93 bytes) input to log/7/server.input 07:51:46.663994 Identifying ourselves as friends 07:51:46.664052 Response sent (56 bytes) and written to log/7/server.response 07:51:46.664063 special request received, no persistency 07:51:46.664073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 37668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === End of file http_verify.out === 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/3/valgrind760 ../src/curl -q --output log/3/curl760.out --include --trace-ascii log/3/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/3/stdout760 2> log/3/stderr760 f 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: 74718 === End of file server.response === Start of file valgrind744 ==116493== ==116493== Process terminating with default action of signal 4 (SIGILL) ==116493== Illegal opcode at address 0x4013DC0 ==116493== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116493== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116493== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116493== by 0x40037A4: main (tool_main.c:199) === End of file valgrind744 CMD (33792): ../libtool --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/valgrind762 ../src/curl -q --trace-ascii log/5/trace762 --trace-time http://127.0.0.1:42797/762 -O --remote-time --output-dir log/5 > log/5/stdout762 2> log/5/stderr762 CMD (256): /usr/bin/perl -e 'exit((stat("log/5/762"))[9] != -922349651)' 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/1/valgrind761 ../src/curl -q --output log/1/curl761.out --include --trace-ascii log/1/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/1/stdout761 2> log/1/stderr761 761: stderr FAILED: --- log/1/check-expected 2025-11-07 07:51:48.110707164 +0000 +++ log/1/check-generated 2025-11-07 07:51:48.110707164 +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/1/ dir 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/1/valgrind761 ../src/curl -q --output log/1/curl761.out --include --trace-ascii log/1/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/1/stdout761 2> log/1/stderr761 === End of file commands.log === Start of file server.cmd Testnum 761 === End of file server.cmd === Start of file valgrind761 ==116506== ==116506== Process terminating with default action of signal 4 (SIGILL) ==116506== Illegal opcode at address 0x4013DC0 ==116506== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116506== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116506== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116506== by 0x40037A4: main (tool_main.c:199) === End of file valgrind761 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/3/valgrind760 ../src/curl -q --output log/3/curl760.out --include --trace-ascii log/3/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/3/stdout760 2> log/3/stderr760 curl returned 132, when expecting 1 760: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind760 ../src/curl -q --output log/3/curl760.out --include --trace-ascii log/3/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/3/stdout760 2> log/3/stderr760 === End of file commands.log === Start of file server.cmd Testnum 760 === End of file server.cmd === Start of file valgrind760 ==116492== ==116492== Process terminating with default action of signal 4 (SIGILL) ==116492== Illegal opcode at address 0x4013DC0 ==116492== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116492== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116492== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116492== by 0x40037A4: main (tool_main.c:199) === End of file valgrind760 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/5/valgrind762 ../src/curl -q --trace-ascii log/5/trace762 --trace-time http://127.0.0.1:42797/762 -O --remote-time --output-dir log/5 > log/5/stdout762 2> log/5/stderr762 postcheck /usr/bin/perl -e 'exit((stat("log/5/762"))[9] != -922349651)' 762: postcheck FAILED == Contents of files in the log/5/ dir 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/5/valgrind762 ../src/curl -q --trace-ascii log/5/trace762 --trace-time http://127.0.0.1:42797/762 -O --remote-time --output-dir log/5 > log/5/stdout762 2> log/5/stderr762 === End of file commands.log === Start of file http_server.log 07:51:46.784313 ====> Client connect 07:51:46.784350 accept_connection 3 returned 4 07:51:46.784366 accept_connection 3 returned 0 07:51:46.784381 Read 93 bytes 07:51:46.784392 Process 93 bytes request 07:51:46.784406 Got request: GET /verifiedserver HTTP/1.1 07:51:46.784416 Are-we-friendly question received 07:51:46.785031 Wrote request (93 bytes) input to log/5/server.input 07:51:46.785057 Identifying ourselves as friends 07:51:46.785118 Response sent (56 bytes) and written to log/5/server.response 07:51:46.785128 special request received, no persistency 07:51:46.785138 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 58746 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind762 ==116631== ==116631=CMD (33792): ../libtool --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/valgrind763 ../src/curl -q --output log/9/curl763.out --include --trace-ascii log/9/trace763 --trace-time '​‌' > log/9/stdout763 2> log/9/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/14/valgrind765 ../src/curl -q --include --trace-ascii log/14/trace765 --trace-time http://127.0.0.1:34115/765 -L -w '%header{this:all:-{\}-}\n' -o log/14/765.out > log/14/stdout765 2> log/14/stderr765 = Process terminating with default action of signal 4 (SIGILL) ==116631== Illegal opcode at address 0x4013DC0 ==116631== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116631== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116631== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116631== by 0x40037A4: main (tool_main.c:199) === End of file valgrind762 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/9/valgrind763 ../src/curl -q --output log/9/curl763.out --include --trace-ascii log/9/trace763 --trace-time '​‌' > log/9/stdout763 2> log/9/stderr763 curl returned 132, when expecting 3 763: exit FAILED == Contents of files in the log/9/ dir 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/9/valgrind763 ../src/curl -q --output log/9/curl763.out --include --trace-ascii log/9/trace763 --trace-time '​‌' > log/9/stdout763 2> log/9/stderr763 === End of file commands.log === Start of file server.cmd Testnum 763 === End of file server.cmd === Start of file valgrind763 ==116681== ==116681== Process terminating with default action of signal 4 (SIGILL) ==116681== Illegal opcode at address 0x4013DC0 ==116681== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116681== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116681== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116681== by 0x40037A4: main (tool_main.c:199) === End of file valgrind763 CMD (33792): ../libtool --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/valgrind764 ../src/curl -q --include --trace-ascii log/18/trace764 --trace-time http://127.0.0.1:46763/764 -L -w '%header{this:all:***}\n' -o log/18/764.out > log/18/stdout764 2> log/18/stderr764 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/14/valgrind765 ../src/curl -q --include --trace-ascii log/14/trace765 --trace-time http://127.0.0.1:34115/765 -L -w '%header{this:all:-{\}-}\n' -o log/14/765.out > log/14/stdout765 2> log/14/stderr765 765: stdout FAILED: --- log/14/check-expected 2025-11-07 07:51:48.337373833 +0000 +++ log/14/check-generated 2025-11-07 07:51:48.337373833 +0000 @@ -1 +0,0 @@ -one-{}-two-{}-three-{}-four[CR][LF] == Contents of files in the log/14/ dir 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/14/valgrind765 ../src/curl -q --include --trace-ascii log/14/trace765 --trace-time http://127.0.0.1:34115/765 -L -w '%header{this:all:-{\}-}\n' -o log/14/765.out > log/14/stdout765 2> log/14/stderr765 === End of file commands.log === Start of file http_server.log 07:51:46.902260 ====> Client connect 07:51:46.902294 accept_connection 3 returned 4 07:51:46.902310 accept_connection 3 returned 0 07:51:46.902445 Read 93 bytes 07:51:46.902458 Process 93 bytes request 07:51:46.902473 Got request: GET /verifiedserver HTTP/1.1 07:51:46.902481 Are-we-friendly question received 07:51:46.902522 Wrote request (93 bytes) input to log/14/server.input 07:51:46.902538 Identifying ourselves as friends 07:51:46.902584 Response sent (56 bytes) and written to log/14/server.response 07:51:46.902593 special request received, no persistency 07:51:46.902601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind765 ==116722== ==116722== Process terminating with default action of signal 4 (SIGILL) ==116722== Illegal opcode at address 0x4013DC0 ==116722== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116722== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116722== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116722== by 0x40037A4: main (tool_main.c:199) === End of file valgrind765 CMD (33792): ../libtool --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/valgrind767 ../src/curl -q --output log/12/curl767.out --include --trace-ascii log/12/trace767 --trace-time http://127.0.0.1:38023/767 > log/12/stdout767 2> log/12/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/8/valgrind770 ../src/curl -q --output log/8/curl770.out --include --trace-ascii log/8/trace770 --trace-time http://127.0.0.1:36147/770 > log/8/stdout770 2> log/8/stderr770 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/18/valgrind764 ../src/curl -q --include --trace-ascii log/18/trace764 --trace-time http://127.0.0.1:46763/764 -L -w '%header{this:all:***}\n' -o log/18/764.out > log/18/stdout764 2> log/18/stderr764 764: stdout FAILED: --- log/18/check-expected 2025-11-07 07:51:48.354040500 +0000 +++ log/18/check-generated 2025-11-07 07:51:48.354040500 +0000 @@ -1 +0,0 @@ -one***two***three***four[CR][LF] == Contents of files in the log/18/ dir 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/18/valgrind764 ../src/curl -q --include --trace-ascii log/18/trace764 --trace-time http://127.0.0.1:46763/764 -L -w '%header{this:all:***}\n' -o log/18/764.out > log/18/stdout764 2> log/18/stderr764 === End of file commands.log === Start of file http_server.log 07:51:47.942588 ====> Client connect 07:51:47.942621 accept_connection 3 returned 4 07:51:47.942638 accept_connection 3 returned 0 07:51:47.942768 Read 93 bytes 07:51:47.942782 Process 93 bytes request 07:51:47.942796 Got request: GET /verifiedserver HTTP/1.1 07:51:47.942806 Are-we-friendly question received 07:51:47.942832 Wrote request (93 bytes) input to log/18/server.input 07:51:47.942849 Identifying ourselves as friends 07:51:47.942897 Response sent (56 bytes) and written to log/18/server.response 07:51:47.942907 special request received, no persistency 07:51:47.942917 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind764 ==116766== ==116766== Process terminating with default action of signal 4 (SIGILL) ==116766== Illegal opcode at address 0x4013DC0 ==116766== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116766== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116766== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116766== by 0x40037A4: main (tool_main.c:199) === End of file valgrind764 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/12/valgrind767 ../src/curl -q --output log/12/curl767.out --include --trace-ascii log/12/trace767 --trace-time http://127.0.0.1:38023/767 > log/12/stdout767 2> log/12/stderr767 767: 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/ dir 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/12/valgrind767 ../src/curl -q --output log/12/curl767.out --include --trace-ascii log/12/trace767 --trace-time http://127.0.0.1:38023/767 > log/12/stdout767 2> log/12/stderr767 === End of file commands.log === Start of file http_server.log 07:51:47.135394 ====> Client connect 07:51:47.135431 accept_connection 3 returned 4 07:51:47.135448 accept_connection 3 returned 0 07:51:47.135472 Read 93 bytes 07:51:47.135485 Process 93 bytes request 07:51:47.135498 Got request: GET /verifiedserver HTTP/1.1 07:51:47.135521 Are-we-friendly question received 07:51:47.135552 Wrote request (93 bytes) input to log/12/server.input 07:51:47.135572 Identifying ourselves as friends 07:51:47.135641 Response sent (56 bytes) and written to log/12/server.response 07:51:47.135656 special request received, no persistency 07:51:47.135665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 58536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind767 ==116961== ==116961== Process terminating with default action of signal 4 (SIGILL) ==116961== Illegal opcode at address 0x4013DC0 ==116961== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116961== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116961== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116961== by 0x40037A4: main (tool_main.c:199) === End of file valgrind767 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/8/valgrind770 ../src/curl -q --output log/8/curl770.out --include --trace-ascii log/8/trace770 --trace-time http://127.0.0.1:36147/770 > log/8/stdout770 2> log/8/stderr770 770: 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/ dir 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/8/valgrind770 ../src/curl -q --output log/8/curl770.out --include --trace-ascii log/8/trace770 --trace-time http://127.0.0.1:36147/770 > log/8/stdout770 2> log/8/stderr770 === End of file commands.log === Start of file http_server.log 07:51:47.190617 ====> Client connect 07:51:47.190758 accept_connection 3 returned 4 07:51:47.190779 accept_connection 3 returned 0 07:51:47.190795 Read 93 bytes 07:51:47.190806 Process 93 bytes request 07:51:47.190822 Got request: GET /verifiedserver HTTP/1.1 07:51:47.190833 Are-we-friendly question received 07:51:47.190864 Wrote request (93 bytes) input to log/8/server.input 07:51:47.190881 Identifying ourselves as friends 07:51:47.190940 Response sent (56 bytes) and written to log/8/server.response 07:51:47.190951 special request received, no persistency 07:51:47.190961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 53710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === End of file http_verify.out === 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/23/valgrind768 ../src/curl -q --output log/23/curl768.out --include --trace-ascii log/23/trace768 --trace-time http://127.0.0.1:41029/768 > log/23/stdout768 2> log/23/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/22/valgrind769 ../src/curl -q --output log/22/curl769.out --include --trace-ascii log/22/trace769 --trace-time http://127.0.0.1:40377/769 > log/22/stdout769 2> log/22/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/4/valgrind771 ../src/curl -q --output log/4/curl771.out --include --trace-ascii log/4/trace771 --trace-time http://127.0.0.1:43573/771 > log/4/stdout771 2> log/4/stderr771 server.cmd Testnum 770 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74664 === End of file server.response === Start of file valgrind770 ==117072== ==117072== Process terminating with default action of signal 4 (SIGILL) ==117072== Illegal opcode at address 0x4013DC0 ==117072== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind770 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/23/valgrind768 ../src/curl -q --output log/23/curl768.out --include --trace-ascii log/23/trace768 --trace-time http://127.0.0.1:41029/768 > log/23/stdout768 2> log/23/stderr768 768: 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/ dir 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/23/valgrind768 ../src/curl -q --output log/23/curl768.out --include --trace-ascii log/23/trace768 --trace-time http://127.0.0.1:41029/768 > log/23/stdout768 2> log/23/stderr768 === End of file commands.log === Start of file http_server.log 07:51:47.144326 ====> Client connect 07:51:47.144360 accept_connection 3 returned 4 07:51:47.144379 accept_connection 3 returned 0 07:51:47.144394 Read 93 bytes 07:51:47.144405 Process 93 bytes request 07:51:47.144419 Got request: GET /verifiedserver HTTP/1.1 07:51:47.144430 Are-we-friendly question received 07:51:47.144458 Wrote request (93 bytes) input to log/23/server.input 07:51:47.144477 Identifying ourselves as friends 07:51:47.144542 Response sent (56 bytes) and written to log/23/server.response 07:51:47.144555 special request received, no persistency 07:51:47.144565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind768 ==116975== ==116975== Process terminating with default action of signal 4 (SIGILL) ==116975== Illegal opcode at address 0x4013DC0 ==116975== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==116975== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116975== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==116975== by 0x40037A4: main (tool_main.c:199) === End of file valgrind768 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/22/valgrind769 ../src/curl -q --output log/22/curl769.out --include --trace-ascii log/22/trace769 --trace-time http://127.0.0.1:40377/769 > log/22/stdout769 2> log/22/stderr769 769: 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/ dir 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/22/valgrind769 ../src/curl -q --output log/22/curl769.out --include --trace-ascii log/22/trace769 --trace-time http://127.0.0.1:40377/769 > log/22/stdout769 2> log/22/stderr769 === End of file commands.log === Start of file http_server.log 07:51:47.169248 ====> Client connect 07:51:47.169281 accept_connection 3 returned 4 07:51:47.169298 accept_connection 3 returned 0 07:51:47.169546 Read 93 bytes 07:51:47.169563 Process 93 bytes request 07:51:47.169576 Got request: GET /verifiedserver HTTP/1.1 07:51:47.169586 Are-we-friendly question received 07:51:47.169614 Wrote request (93 bytes) input to log/22/server.input 07:51:47.169632 Identifying ourselves as friends 07:51:47.169685 Response sent (56 bytes) and written to log/22/server.response 07:51:47.169696 special request received, no persistency 07:51:47.169706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind769 ==117024== ==117024== Process terminating with default action of signal 4 (SIGILL) ==117024== Illegal opcode at address 0x4013DC0 ==117024== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117024== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117024== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117024== by 0x40037A4: main (tool_main.c:199) === End of file valgrind769 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/4/valgrind771 ../src/curl -q --output log/4/curl771.out --include --trace-ascii log/4/trace771 --trace-time http://127.0.0.1:43573/771 > log/4/stdout771 2> log/4/stderr771 771: 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/ dir 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/4/valgrind771 ../src/curl -q --output log/4/curl771.out --include --trace-ascii log/4/trace771 --trace-time http://127.0.0.1:43573/771 > log/4/stdout771 2> log/4/stderr771 === End of file commands.log === Start of file http_server.log 07:51:48.208904 ====> Client connect 07:51:48.208940 accept_connection 3 returned 4 07:51:48.208957 accept_connection 3 returned 0 07:51:48.208973 Read 93 bytes 07:51:48.208984 Process 93 bytes request 07:51:48.208998 Got request: GET /verifiedserver HTTP/1.1 07:51:48.209009 Are-we-friendly question received 07:51:48.209035 Wrote request (93 bytes) input to log/4/server.input 07:51:48.209052 Identifying ourselves as friends 07:51:48.209107 Response sent (56 bytes) and written to log/4/server.response 07:51:48.209118 special request received, no persistency 07:51:48.209127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) froCMD (33792): ../libtool --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/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:44991/path/766 > log/19/stdout766 2> log/19/stderr766 m 127.0.0.1 port 35744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind771 ==117118== ==117118== Process terminating with default action of signal 4 (SIGILL) ==117118== Illegal opcode at address 0x4013DC0 ==117118== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117118== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117118== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117118== by 0x40037A4: main (tool_main.c:199) === End of file valgrind771 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/19/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:44991/path/766 > log/19/stdout766 2> log/19/stderr766 766: 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/ dir 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/19/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:44991/path/766 > log/19/stdout766 2> log/19/stderr766 === End of file commands.log === Start of file ftp_server.log 07:51:47.304397 ====> Client connect 07:51:47.304562 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:47.304992 < "USER anonymous" 07:51:47.305035 > "331 We are happy you popped in![CR][LF]" 07:51:47.305210 < "PASS ftp@example.com" 07:51:47.305239 > "230 Welcome you silly person[CR][LF]" 07:51:47.305388 < "PWD" 07:51:47.305424 > "257 "/" is current directory[CR][LF]" 07:51:47.305586 < "EPSV" 07:51:47.305608 ====> Passive DATA channel requested by client 07:51:47.305622 DATA sockfilt for passive data channel starting... 07:51:47.311055 DATA sockfilt for passive data channel started (pid 116950) 07:51:47.312611 DATA sockfilt for passive data channel listens on port 33767 07:51:47.312677 > "229 Entering Passive Mode (|||33767|)[CR][LF]" 07:51:47.312697 Client has been notified that DATA conn will be accepted on port 33767 07:51:47.314797 Client connects to port 33767 07:51:47.314840 ====> Client established passive DATA connection on port 33767 07:51:47.314944 < "TYPE I" 07:51:47.314982 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:47.315206 < "SIZE verifiedserver" 07:51:47.315250 > "213 17[CR][LF]" 07:51:47.315444 < "RETR verifiedserver" 07:51:47.315487 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:47.315585 =====> Closing passive DATA connection... 07:51:47.315604 Server disconnects passive DATA connection 07:51:47.315888 Server disconnected passive DATA connection 07:51:47.315919 DATA sockfilt for passive data channel quits (pid 116950) 07:51:47.316155 DATA sockfilt for passive data channel quit (pid 116950) 07:51:47.316184 =====> Closed passive DATA connection 07:51:47.316215 > "226 File transfer complete[CR][LF]" 07:51:47.361678 < "QUIT" 07:51:47.361732 > "221 bye bye baby[CR][LF]" 07:51:47.362738 MAIN sockfilt said DISC 07:51:47.362784 ====> Client disconnected 07:51:47.362875 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:47.132222 ====> Client connect 07:51:47.132630 Received DATA (on stdin) 07:51:47.132655 > 160 bytes data, server => client 07:51:47.132668 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:47.132679 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:47.132690 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:47.132764 < 16 bytes data, client => server 07:51:47.132776 'USER anonymous\r\n' 07:51:47.132982 Received DATA (on stdin) 07:51:47.132996 > 33 bytes data, server => client 07:51:47.133007 '331 We are happy you popped in!\r\n' 07:51:47.133058 < 22 bytes data, client => server 07:51:47.133069 'PASS ftp@example.com\r\n' 07:51:47.133183 Received DATA (on stdin) 07:51:47.133195 > 30 bytes data, server => client 07:51:47.133206 '230 Welcome you silly person\r\n' 07:51:47.133249 < 5 bytes data, client => server 07:51:47.133260 'PWD\r\n' 07:51:47.133368 Received DATA (on stdin) 07:51:47.133380 > 30 bytes data, server => client 07:51:47.133391 '257 "/" is current directory\r\n' 07:51:47.133447 < 6 bytes data, client => server 07:51:47.133459 'EPSV\r\n' 07:51:47.142534 Received DATA (on stdin) 07:51:47.142558 > 39 bytes data, server => client 07:51:47.142573 '229 Entering Passive Mode (|||33767|)\r\n' 07:51:47.142699 < 8 bytes data, client => server 07:51:47.142715 'TYPE I\r\n' 07:51:47.142934 Received DATA (on stdin) 07:51:47.142953 > 33 bytes data, server => client 07:51:47.142965 '200 I modify TYPE as you wanted\r\n' 07:51:47.143052 < 21 bytes data, client => server 07:51:47.143065 'SIZE verifiedserver\r\n' 07:51:47.143200 Received DATA (on stdin) 07:51:47.143216 > 8 bytes data, server => client 07:51:47.143228 '213 17\r\n' 07:51:47.143290 < 21 bytes data, client => server 07:51:47.143305 'RETR verifiedserver\r\n' 07:51:47.143554 Received DATA (on stdin) 07:51:47.143570 > 29 bytes data, server => client 07:51:47.143583 '150 Binary junk (17 bytes).\r\n' 07:51:47.144165 Received DATA (on stdin) 07:51:47.144180 > 28 bytes data, server => client 07:51:47.144193 '226 File transfer complete\r\n' 07:51:47.189422 < 6 bytes data, client => server 07:51:47.189458 'QUIT\r\n' 07:51:47.189682 Received DATA (on stdin) 07:51:47.189696 > 18 bytes data, server => client 07:51:47.189713 '221 bye bye baby\r\n' 07:51:47.190615 ====> Client disconnect 07:51:47.190822 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:47.135289 Running IPv4 version 07:51:47.135364 Listening on port 33767 07:51:47.135406 Wrote pid 116950 to log/19/server/ftp_sockdata.pid 07:51:47.135430 Received PING (on stdin) 07:51:47.140413 Received PORT (on stdin) 07:51:47.142681 ====> Client connect 07:51:47.143614 Received DATA (on stdin) 07:51:47.143632 > 17 bytes data, server => client 07:51:47.143643 'WE ROOLZ: 80634\r\n' 07:51:47.143674 Received DISC (on stdin) 07:51:47.143687 ====> Client forcibly disconnected 07:51:47.143878 Received QUIT (on stdin) 07:51:47.143892 quits 07:51:47.143954 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 766 === End of file server.cmd === Start of file stderr766 URL: ftp://127.0.0.1:44991/path/766 === End of file stderr766 === Start of file valgrind766 ==117101== ==117101== Process terminating with default action of signal 4 (SIGILL) ==117101== Illegal opcode at address 0x51D5F1F ==117101== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==117101== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==117101== by 0x51D5F1F: Curl_open (url.c:525) ==117101== by 0x514F6EF: curl_easy_init (easy.c:371) ==117101== by 0x402159E: test_lib766.lto_priv.0 (lib766.c:52) ==117101== by 0x400347F: main (first.c:280) ==117101== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==117101== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==117101== by 0x51D5EBD: Curl_open (url.c:504) ==117101== by 0x514F6EF: curl_easy_init (easy.c:371) ==117101== by 0x402159E: test_lib766.lto_priv.0 (lib766.c:52) ==117101== by 0x400347F: maCMD (33792): ../libtool --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/valgrind772 ../src/curl -q --output log/21/curl772.out --include --trace-ascii log/21/trace772 --trace-time http://127.0.0.1:45761/772 > log/21/stdout772 2> log/21/stderr772 CMD (33792): ../libtool --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/valgrind773 ../src/curl -q --output log/16/curl773.out --include --trace-ascii log/16/trace773 --trace-time http://127.0.0.1:44351/773 > log/16/stdout773 2> log/16/stderr773 CMD (33792): ../libtool --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/valgrind774 ../src/curl -q --output log/11/curl774.out --include --trace-ascii log/11/trace774 --trace-time http://127.0.0.1:38169/ -K log/11/cmd > log/11/stdout774 2> log/11/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/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 in (first.c:280) ==117101== === End of file valgrind766 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/21/valgrind772 ../src/curl -q --output log/21/curl772.out --include --trace-ascii log/21/trace772 --trace-time http://127.0.0.1:45761/772 > log/21/stdout772 2> log/21/stderr772 772: 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/ dir 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/21/valgrind772 ../src/curl -q --output log/21/curl772.out --include --trace-ascii log/21/trace772 --trace-time http://127.0.0.1:45761/772 > log/21/stdout772 2> log/21/stderr772 === End of file commands.log === Start of file http_server.log 07:51:47.253446 ====> Client connect 07:51:47.253485 accept_connection 3 returned 4 07:51:47.253505 accept_connection 3 returned 0 07:51:47.253664 Read 93 bytes 07:51:47.253681 Process 93 bytes request 07:51:47.253696 Got request: GET /verifiedserver HTTP/1.1 07:51:47.253707 Are-we-friendly question received 07:51:47.253738 Wrote request (93 bytes) input to log/21/server.input 07:51:47.253758 Identifying ourselves as friends 07:51:47.253816 Response sent (56 bytes) and written to log/21/server.response 07:51:47.253828 special request received, no persistency 07:51:47.253838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 56140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind772 ==117254== ==117254== Process terminating with default action of signal 4 (SIGILL) ==117254== Illegal opcode at address 0x4013DC0 ==117254== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117254== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117254== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117254== by 0x40037A4: main (tool_main.c:199) === End of file valgrind772 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/16/valgrind773 ../src/curl -q --output log/16/curl773.out --include --trace-ascii log/16/trace773 --trace-time http://127.0.0.1:44351/773 > log/16/stdout773 2> log/16/stderr773 773: 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/ dir 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/16/valgrind773 ../src/curl -q --output log/16/curl773.out --include --trace-ascii log/16/trace773 --trace-time http://127.0.0.1:44351/773 > log/16/stdout773 2> log/16/stderr773 === End of file commands.log === Start of file http_server.log 07:51:47.503455 ====> Client connect 07:51:47.503488 accept_connection 3 returned 4 07:51:47.503504 accept_connection 3 returned 0 07:51:47.503519 Read 93 bytes 07:51:47.503529 Process 93 bytes request 07:51:47.503543 Got request: GET /verifiedserver HTTP/1.1 07:51:47.503554 Are-we-friendly question received 07:51:47.503578 Wrote request (93 bytes) input to log/16/server.input 07:51:47.503594 Identifying ourselves as friends 07:51:47.503646 Response sent (56 bytes) and written to log/16/server.response 07:51:47.503657 special request received, no persistency 07:51:47.503666 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 40016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind773 ==117386== ==117386== Process terminating with default action of signal 4 (SIGILL) ==117386== Illegal opcode at address 0x4013DC0 ==117386== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117386== by 0x40037A4: main (tool_main.c:199) === End of file valgrind773 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/11/valgrind774 ../src/curl -q --output log/11/curl774.out --include --trace-ascii log/11/trace774 --trace-time http://127.0.0.1:38169/ -K log/11/cmd > log/11/stdout774 2> log/11/stderr774 curl returned 132, when expecting 2 774: exit FAILED == Contents of files in the log/11/ dir after test 774 === Start of file cmd --config log/11/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/11/valgrind774 ../src/curl -q --output log/11/curl774.out --include --trace-ascii log/11/trace774 --trace-time http://127.0.0.1:38169/ -K log/11/cmd > log/11/stdout774 2> log/11/stderr774 === End of file commands.log === Start of file server.cmd Testnum 774 === End of file server.cmd === Start of file valgrind774 ==117382== ==117382== Process terminating with default action of signal 4 (SIGILL) ==117382== Illegal opcode at address 0x4013DC0 ==117382== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117382== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117382== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117382== by 0x40037A4: main (tool_main.c:199) === End of file valgrind774 setenv HOME = /startdir/src/build-curl/tests/log/24 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/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/24/ dir 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/24/valgrind725 ../src/curl -q --CMD (33792): ../libtool --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/valgrind775 ../src/curl -q --output log/13/curl775.out --include --trace-ascii log/13/trace775 --trace-time http://127.0.0.1:35041/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/13/stdout775 2> log/13/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/20/valgrind776 ../src/curl -q --output log/20/curl776.out --include --trace-ascii log/20/trace776 --trace-time http://127.0.0.1:40357/776 -u user:pass --ntlm > log/20/stdout776 2> log/20/stderr776 output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 === End of file commands.log === Start of file http_server.log 07:51:43.801636 ====> Client connect 07:51:43.801661 accept_connection 3 returned 4 07:51:43.801675 accept_connection 3 returned 0 07:51:43.801686 Read 93 bytes 07:51:43.801694 Process 93 bytes request 07:51:43.801704 Got request: GET /verifiedserver HTTP/1.1 07:51:43.801712 Are-we-friendly question received 07:51:43.801730 Wrote request (93 bytes) input to log/24/server.input 07:51:43.801743 Identifying ourselves as friends 07:51:43.801783 Response sent (56 bytes) and written to log/24/server.response 07:51:43.801791 special request received, no persistency 07:51:43.801799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 37606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind725 ==113580== ==113580== Process terminating with default action of signal 4 (SIGILL) ==113580== Illegal opcode at address 0x4013DC0 ==113580== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113580== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113580== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113580== by 0x40037A4: main (tool_main.c:199) === End of file valgrind725 test 0775...[HTTP with NTLM with too long user 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/13/valgrind775 ../src/curl -q --output log/13/curl775.out --include --trace-ascii log/13/trace775 --trace-time http://127.0.0.1:35041/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/13/stdout775 2> log/13/stderr775 775: 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/ dir 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/13/valgrind775 ../src/curl -q --output log/13/curl775.out --include --trace-ascii log/13/trace775 --trace-time http://127.0.0.1:35041/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/13/stdout775 2> log/13/stderr775 === End of file commands.log === Start of file http_server.log 07:51:47.787588 ====> Client connect 07:51:47.787628 accept_connection 3 returned 4 07:51:47.787646 accept_connection 3 returned 0 07:51:47.787662 Read 93 bytes 07:51:47.787673 Process 93 bytes request 07:51:47.787687 Got request: GET /verifiedserver HTTP/1.1 07:51:47.787697 Are-we-friendly question received 07:51:47.787721 Wrote request (93 bytes) input to log/13/server.input 07:51:47.787740 Identifying ourselves as friends 07:51:47.787800 Response sent (56 bytes) and written to log/13/server.response 07:51:47.787812 special request received, no persistency 07:51:47.787821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 44462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind775 ==117531== ==117531== Process terminating with default action of signal 4 (SIGILL) ==117531== Illegal opcode at address 0x4013DC0 ==117531== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117531== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117531== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117531== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind776 ../src/curl -q --output log/20/curl776.out --include --trace-ascii log/20/trace776 --trace-time http://127.0.0.1:40357/776 -u user:pass --ntlm > log/20/stdout776 2> log/20/stderr776 776: 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/ dir 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/20/valgrind776 ../src/curl -q --output log/20/curl776.out --include --trace-ascii log/20/trace776 --trace-time http://127.0.0.1:40357/776 -u user:pass --ntlm > log/20/stdouCMD (33792): ../libtool --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/valgrind784 ../src/curl -q --output log/17/curl784.out --include --trace-ascii log/17/trace784 --trace-time http://127.0.0.1:42601/784 --variable "name[5-15]@log/17/in784" --expand-data '{{name}}' > log/17/stdout784 2> log/17/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/7/valgrind785 ../src/curl -q --output log/7/curl785.out --include --trace-ascii log/7/trace785 --trace-time http://127.0.0.1:39661/785 --variable "name[5-]@log/7/in785" --expand-data '{{name}}' > log/7/stdout785 2> log/7/stderr785 CMD (33792): ../libtool --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/valgrind786 ../src/curl -q --output log/1/curl786.out --include --trace-ascii log/1/trace786 --trace-time http://127.0.0.1:35709/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/1/stdout786 2> log/1/stderr786 t776 2> log/20/stderr776 === End of file commands.log === Start of file http_server.log 07:51:47.797036 ====> Client connect 07:51:47.797074 accept_connection 3 returned 4 07:51:47.797092 accept_connection 3 returned 0 07:51:47.797109 Read 93 bytes 07:51:47.797121 Process 93 bytes request 07:51:47.797135 Got request: GET /verifiedserver HTTP/1.1 07:51:47.797146 Are-we-friendly question received 07:51:47.797174 Wrote request (93 bytes) input to log/20/server.input 07:51:47.797192 Identifying ourselves as friends 07:51:47.797251 Response sent (56 bytes) and written to log/20/server.response 07:51:47.797262 special request received, no persistency 07:51:47.797272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 57212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind776 ==117539== ==117539== Process terminating with default action of signal 4 (SIGILL) ==117539== Illegal opcode at address 0x4013DC0 ==117539== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117539== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117539== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117539== by 0x40037A4: main (tool_main.c:199) === End of file valgrind776 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/17/valgrind784 ../src/curl -q --output log/17/curl784.out --include --trace-ascii log/17/trace784 --trace-time http://127.0.0.1:42601/784 --variable "name[5-15]@log/17/in784" --expand-data '{{name}}' > log/17/stdout784 2> log/17/stderr784 784: 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/ dir 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/17/valgrind784 ../src/curl -q --output log/17/curl784.out --include --trace-ascii log/17/trace784 --trace-time http://127.0.0.1:42601/784 --variable "name[5-15]@log/17/in784" --expand-data '{{name}}' > log/17/stdout784 2> log/17/stderr784 === End of file commands.log === Start of file http_server.log 07:51:48.868002 ====> Client connect 07:51:48.868036 accept_connection 3 returned 4 07:51:48.868051 accept_connection 3 returned 0 07:51:48.868065 Read 93 bytes 07:51:48.868075 Process 93 bytes request 07:51:48.868086 Got request: GET /verifiedserver HTTP/1.1 07:51:48.868096 Are-we-friendly question received 07:51:48.868117 Wrote request (93 bytes) input to log/17/server.input 07:51:48.868132 Identifying ourselves as friends 07:51:48.868178 Response sent (56 bytes) and written to log/17/server.response 07:51:48.868188 special request received, no persistency 07:51:48.868196 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 40028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind784 ==117618== ==117618== Process terminating with default action of signal 4 (SIGILL) ==117618== Illegal opcode at address 0x4013DC0 ==117618== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117618== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117618== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117618== by 0x40037A4: main (tool_main.c:199) === End of file valgrind784 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/7/valgrind785 ../src/curl -q --output log/7/curl785.out --include --trace-ascii log/7/trace785 --trace-time http://127.0.0.1:39661/785 --variable "name[5-]@log/7/in785" --expand-data '{{name}}' > log/7/stdout785 2> log/7/stderr785 785: 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/ dir 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/7/valgrind785 ../src/curl -q --output log/7/curl785.out --include --trace-ascii log/7/trace785 --trace-time http://127.0.0.1:39661/785 --variable "name[5-]@log/7/in785" --expand-data '{{name}}' > log/7/stdout785 2> log/7/stderr785 === End of file commands.log === Start of file http_server.log 07:51:48.982561 ====> Client connect 07:51:48.982594 accept_connection 3 returned 4 07:51:48.982613 accept_connection 3 returned 0 07:51:48.982629 Read 93 bytes 07:51:48.982640 Process 93 bytes request 07:51:48.982652 Got request: GET /verifiedserver HTTP/1.1 07:51:48.982663 Are-we-friendly question received 07:51:48.982691 Wrote request (93 bytes) input to log/7/server.input 07:51:48.982708 Identifying ourselves as friends 07:51:48.982765 Response sent (56 bytes) and written to log/7/server.response 07:51:48.982775 special request received, no persistency 07:51:48.982785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 37684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind785 ==117748== ==117748== Process terminating with default action of signal 4 (SIGILL) ==117748== Illegal opcode at address 0x4013DC0 ==117748== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117748== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117748== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117748== by 0x40037A4: main (tool_main.c:199) === End of file valgrind785 test 0786...[--variable with a file byte range, reading from stdin] ../libtooCMD (33792): ../libtool --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/valgrind787 ../src/curl -q --output log/3/curl787.out --include --trace-ascii log/3/trace787 --trace-time http://127.0.0.1:34059/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/3/stdout787 2> log/3/stderr787 CMD (33792): ../libtool --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/valgrind789 ../src/curl -q --output log/9/curl789.out --include --trace-ascii log/9/trace789 --trace-time http://127.0.0.1:42717/789 --variable "name[75-85]@log/9/in789" --expand-data '{{name}}' > log/9/stdout789 2> log/9/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/14/valgrind790 ../src/curl -q --output log/14/curl790.out --include --trace-ascii log/14/trace790 --trace-time http://127.0.0.1:34115/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/14/stdout790 2> log/14/stderr790 l --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/valgrind786 ../src/curl -q --output log/1/curl786.out --include --trace-ascii log/1/trace786 --trace-time http://127.0.0.1:35709/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/1/stdout786 2> log/1/stderr786 786: 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/ dir 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/1/valgrind786 ../src/curl -q --output log/1/curl786.out --include --trace-ascii log/1/trace786 --trace-time http://127.0.0.1:35709/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/1/stdout786 2> log/1/stderr786 === End of file commands.log === Start of file http_server.log 07:51:47.980628 ====> Client connect 07:51:47.980664 accept_connection 3 returned 4 07:51:47.980682 accept_connection 3 returned 0 07:51:47.982648 Read 93 bytes 07:51:47.982670 Process 93 bytes request 07:51:47.982682 Got request: GET /verifiedserver HTTP/1.1 07:51:47.982693 Are-we-friendly question received 07:51:47.982725 Wrote request (93 bytes) input to log/1/server.input 07:51:47.982744 Identifying ourselves as friends 07:51:47.982799 Response sent (56 bytes) and written to log/1/server.response 07:51:47.982810 special request received, no persistency 07:51:47.982820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === 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 ==117768== ==117768== Process terminating with default action of signal 4 (SIGILL) ==117768== Illegal opcode at address 0x4013DC0 ==117768== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117768== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117768== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117768== by 0x40037A4: main (tool_main.c:199) === End of file valgrind786 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/3/valgrind787 ../src/curl -q --output log/3/curl787.out --include --trace-ascii log/3/trace787 --trace-time http://127.0.0.1:34059/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/3/stdout787 2> log/3/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind787 ../src/curl -q --output log/3/curl787.out --include --trace-ascii log/3/trace787 --trace-time http://127.0.0.1:34059/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/3/stdout787 2> log/3/stderr787 === End of file commands.log === Start of file http_server.log 07:51:48.989233 ====> Client connect 07:51:48.989267 accept_connection 3 returned 4 07:51:48.989283 accept_connection 3 returned 0 07:51:48.989297 Read 93 bytes 07:51:48.989307 Process 93 bytes request 07:51:48.989318 Got request: GET /verifiedserver HTTP/1.1 07:51:48.989328 Are-we-friendly question received 07:51:48.989349 Wrote request (93 bytes) input to log/3/server.input 07:51:48.989365 Identifying ourselves as friends 07:51:48.989430 Response sent (56 bytes) and written to log/3/server.response 07:51:48.989440 special request received, no persistency 07:51:48.989449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 39166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind787 ==117772== ==117772== Process terminating with default action of signal 4 (SIGILL) ==117772== Illegal opcode at address 0x4013DC0 ==117772== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117772== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117772== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117772== by 0x40037A4: main (tool_main.c:199) === End of file valgrind787 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/9/valgrind789 ../src/curl -q --output log/9/curl789.out --include --trace-ascii log/9/trace789 --trace-time http://127.0.0.1:42717/789 --variable "name[75-85]@log/9/in789" --expand-data '{{name}}' > log/9/stdout789 2> log/9/stderr789 789: 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/ dir 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/9/valgrind789 ../src/curl -q --output log/9/curl789.out --include --trace-ascii log/9/trace789 --trace-time http://127.0.0.1:42717/789 --variable "name[75-85]@log/9/in789" --expand-data '{{name}}' > log/9/stdout789 2> log/9/stderr789 === End of file commands.log === Start of file http_server.log 07:51:48.213448 ====> Client connect 07:51:48.213483 accept_connection 3 returned 4 07:51:48.213502 accept_connection 3 returned 0 07:51:48.213517 Read 93 bytes 07:51:48.213529 Process 93 bytes request 07:51:48.213543 Got request: GET /verifiedserver HTTP/1.1 07:51:48.213554 Are-we-friendly question received 07:51:48.213580 Wrote request (93 bytes) input to log/9/server.input 07:51:48.213598 Identifying ourselves as friends 07:51:48.213656 Response sent (56 bytes) and written to log/9/server.response 07:51:48.213667 special request received, no persistency 07:51:48.213678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 36880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 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/valgrind791 ../src/curl -q --output log/18/curl791.out --include --trace-ascii log/18/trace791 --trace-time http://127.0.0.1:46763/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/18/stdout791 2> log/18/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/5/valgrind788 ../src/curl -q --output log/5/curl788.out --include --trace-ascii log/5/trace788 --trace-time http://127.0.0.1:42797/788 --variable "name[15-15]@log/5/in788" --expand-data '{{name}}' > log/5/stdout788 2> log/5/stderr788 eft intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind789 ==117988== ==117988== Process terminating with default action of signal 4 (SIGILL) ==117988== Illegal opcode at address 0x4013DC0 ==117988== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117988== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117988== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117988== by 0x40037A4: main (tool_main.c:199) === End of file valgrind789 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/14/valgrind790 ../src/curl -q --output log/14/curl790.out --include --trace-ascii log/14/trace790 --trace-time http://127.0.0.1:34115/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/14/stdout790 2> log/14/stderr790 790: 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/ dir 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/14/valgrind790 ../src/curl -q --output log/14/curl790.out --include --trace-ascii log/14/trace790 --trace-time http://127.0.0.1:34115/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/14/stdout790 2> log/14/stderr790 === End of file commands.log === Start of file http_server.log 07:51:48.242586 ====> Client connect 07:51:48.242630 accept_connection 3 returned 4 07:51:48.242649 accept_connection 3 returned 0 07:51:48.242666 Read 93 bytes 07:51:48.242678 Process 93 bytes request 07:51:48.242691 Got request: GET /verifiedserver HTTP/1.1 07:51:48.242701 Are-we-friendly question received 07:51:48.242730 Wrote request (93 bytes) input to log/14/server.input 07:51:48.242748 Identifying ourselves as friends 07:51:48.242818 Response sent (56 bytes) and written to log/14/server.response 07:51:48.242829 special request received, no persistency 07:51:48.242839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 34794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === End of file http_verify.out === Start of file server.cmd Testnum 790 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74404 === End of file server.response === Start of file valgrind790 ==118018== ==118018== Process terminating with default action of signal 4 (SIGILL) ==118018== Illegal opcode at address 0x4013DC0 ==118018== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118018== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118018== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118018== by 0x40037A4: main (tool_main.c:199) === End of file valgrind790 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/18/valgrind791 ../src/curl -q --output log/18/curl791.out --include --trace-ascii log/18/trace791 --trace-time http://127.0.0.1:46763/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/18/stdout791 2> log/18/stderr791 791: 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/ dir 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/18/valgrind791 ../src/curl -q --output log/18/curl791.out --include --trace-ascii log/18/trace791 --trace-time http://127.0.0.1:46763/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/18/stdout791 2> log/18/stderr791 === End of file commands.log === Start of file http_server.log 07:51:49.267372 ====> Client connect 07:51:49.267408 accept_connection 3 returned 4 07:51:49.267426 accept_connection 3 returned 0 07:51:49.267441 Read 93 bytes 07:51:49.267452 Process 93 bytes request 07:51:49.267465 Got request: GET /verifiedserver HTTP/1.1 07:51:49.267476 Are-we-friendly question received 07:51:49.267504 Wrote request (93 bytes) input to log/18/server.input 07:51:49.267521 Identifying ourselves as friends 07:51:49.267577 Response sent (56 bytes) and written to log/18/server.response 07:51:49.267588 special request received, no persistency 07:51:49.267598 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind791 ==118046== ==118046== Process terminating with default action of signal 4 (SIGILL) ==118046== Illegal opcode at address 0x4013DC0 ==118046== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118046== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118046== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118046== by 0x40037A4: main (tool_main.c:199) === End of file valgrind791 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/5/valgrind788 ../src/curl -q --output log/5/curl788.out --include --trace-ascii log/5/trace788 --trace-time http://127.0.0.1:42797/788 --variable "name[15-15]@log/5/in788" --expand-data '{{name}}' > log/5/stdout788 2> log/5/stderr788 788: 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/ dir 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/5/valgrind788 ../src/curl -q --output log/5/curl788.out --include --trace-ascii log/5/trace788 --trace-time http://127.0.0.1:42797/788 --variable "name[15-15]@log/5/in788" --expand-data '{{name}}' > log/5/stdout788 2> log/5/stderr788 === End of file commands.log === Start of file http_server.log 07:51:48.148594 ====> Client connect 07:51:48.148637 accept_connection 3 returned 4 07:51:48.148659 accept_connection 3 CMD (33792): ../libtool --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/valgrind794 ../src/curl -q --output log/23/curl794.out --include --trace-ascii log/23/trace794 --trace-time http://127.0.0.1:41029/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/23/stdout794 2> log/23/stderr794 returned 0 07:51:48.148676 Read 93 bytes 07:51:48.148687 Process 93 bytes request 07:51:48.148703 Got request: GET /verifiedserver HTTP/1.1 07:51:48.148738 Are-we-friendly question received 07:51:48.148771 Wrote request (93 bytes) input to log/5/server.input 07:51:48.148791 Identifying ourselves as friends 07:51:48.148861 Response sent (56 bytes) and written to log/5/server.response 07:51:48.148874 special request received, no persistency 07:51:48.148885 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 58762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind788 ==117934== ==117934== Process terminating with default action of signal 4 (SIGILL) ==117934== Illegal opcode at address 0x4013DC0 ==117934== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==117934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==117934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind788 CMD (33792): ../libtool --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/valgrind797 ../src/curl -q --output log/4/curl797.out --include --trace-ascii log/4/trace797 --trace-time http://127.0.0.1:43573/797 -X IGLOO -d moo --follow > log/4/stdout797 2> log/4/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/22/valgrind796 ../src/curl -q --output log/22/curl796.out --include --trace-ascii log/22/trace796 --trace-time http://127.0.0.1:40377/796 -X IGLOO -d moo --follow > log/22/stdout796 2> log/22/stderr796 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/23/valgrind794 ../src/curl -q --output log/23/curl794.out --include --trace-ascii log/23/trace794 --trace-time http://127.0.0.1:41029/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/23/stdout794 2> log/23/stderr794 794: stderr FAILED: --- log/23/check-expected 2025-11-07 07:51:49.677373846 +0000 +++ log/23/check-generated 2025-11-07 07:51:49.677373846 +0000 @@ -1 +0,0 @@ -Warning: --follow overrides --location[CR][LF] == Contents of files in the log/23/ dir 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/23/valgrind794 ../src/curl -q --output log/23/curl794.out --include --trace-ascii log/23/trace794 --trace-time http://127.0.0.1:41029/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/23/stdout794 2> log/23/stderr794 === End of file commands.log === Start of file http_server.log 07:51:48.432562 ====> Client connect 07:51:48.432604 accept_connection 3 returned 4 07:51:48.432626 accept_connection 3 returned 0 07:51:48.432642 Read 93 bytes 07:51:48.432654 Process 93 bytes request 07:51:48.432667 Got request: GET /verifiedserver HTTP/1.1 07:51:48.432678 Are-we-friendly question received 07:51:48.436162 Wrote request (93 bytes) input to log/23/server.input 07:51:48.436195 Identifying ourselves as friends 07:51:48.436282 Response sent (56 bytes) and written to log/23/server.response 07:51:48.436296 special request received, no persistency 07:51:48.436307 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 59628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind794 ==118268== ==118268== Process terminating with default action of signal 4 (SIGILL) ==118268== Illegal opcode at address 0x4013DC0 ==118268== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118268== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118268== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118268== by 0x40037A4: main (tool_main.c:199) === End of file valgrind794 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/4/valgrind797 ../src/curl -q --output log/4/curl797.out --include --trace-ascii log/4/trace797 --trace-time http://127.0.0.1:43573/797 -X IGLOO -d moo --follow > log/4/stdout797 2> log/4/stderr797 797: 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/ dir 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/4/valgrind797 ../src/curl -q --output log/4/curl797.out --include --trace-ascii log/4/trace797 --trace-time http://127.0.0.1:43573/797 -X IGLOO -d moo --follow > log/4/stdout797 2> log/4/stderr797 === End of file commands.log === Start of file http_server.log 07:51:49.446772 ====> Client connect 07:51:49.446808 accept_connection 3 returned 4 07:51:49.446825 accept_connection 3 returned 0 07:51:49.446841 Read 93 bytes 07:51:49.446852 Process 93 bytes request 07:51:49.446865 Got request: GET /verifiedserver HTTP/1.1 07:51:49.446876 Are-we-friendly question received 07:51:49.446901 Wrote request (93 bytes) input to log/4/server.input 07:51:49.446918 Identifying ourselves as friends 07:51:49.446972 Response sent (56 bytes) and written to log/4/server.response 07:51:49.446982 special request received, no persistency 07:51:49.446992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 35752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind797 ==118274== ==118274== Process terminating with default action of signal 4 (SIGILL) ==118274== Illegal opcode at address 0x4013DC0 ==118274== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118274== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118274== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118274== by 0x40037A4: main (tool_main.c:199) === End of file valgrind797 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/22/valgrind796 ../src/curl -q --output log/22/curl796.out --include --trace-ascii log/22/trace796 --trace-time http://127.0.0.1:40377/796 -X IGLOO -d moo --follow > log/22/stdout796 2> log/22/stderr796 796: 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/ dir 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/22/valgrind796 ../src/curl -q --output log/22/curl796.out --include --trace-ascii log/22/trace796 --trace-time http://127.0.0.1:40377/796 -X IGLOO -d moo --follow > log/22/stdout796 2> log/22/stderr796 === End of file commands.log === Start of file http_server.log 07:51:48.429605 ====> Client connect 07:51:48.429644 accept_connection 3 returned 4 07:51:48.429663 accept_connection 3 returned 0 07:51:48.429678 Read 93 bytes 07:51:48.429690 Process 93 bytes request 07:51:48.429704 Got request: GET /verifiedserver HTTP/1.1 07:51:48.429714 Are-we-friendly question received 07:51:48.429744 Wrote request (93 bytes) input to log/22/server.input 07:51:48.429763 Identifying ourselves as friends 07:51:48.429824 Response sent (56 bytes) and written to log/22/server.response 07:51:48.429844 special request received, no persistency 07:51:48.429855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.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/12/valgrind792 ../src/curl -q --output log/12/curl792.out --include --trace-ascii log/12/trace792 --trace-time --netrc --netrc-file log/12/netrc792 ftp://127.0.0.1:46141/792 > log/12/stdout792 2> log/12/stderr792 CMD (33792): ../libtool --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/valgrind793 ../src/curl -q --output log/8/curl793.out --include --trace-ascii log/8/trace793 --trace-time --netrc --netrc-file log/8/netrc793 ftp://127.0.0.1:35961/793 > log/8/stdout793 2> log/8/stderr793 ytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind796 ==118270== ==118270== Process terminating with default action of signal 4 (SIGILL) ==118270== Illegal opcode at address 0x4013DC0 ==118270== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118270== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118270== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118270== by 0x40037A4: main (tool_main.c:199) === 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/12/valgrind792 ../src/curl -q --output log/12/curl792.out --include --trace-ascii log/12/trace792 --trace-time --netrc --netrc-file log/12/netrc792 ftp://127.0.0.1:46141/792 > log/12/stdout792 2> log/12/stderr792 792: 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/ dir 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/12/valgrind792 ../src/curl -q --output log/12/curl792.out --include --trace-ascii log/12/trace792 --trace-time --netrc --netrc-file log/12/netrc792 ftp://127.0.0.1:46141/792 > log/12/stdout792 2> log/12/stderr792 === End of file commands.log === Start of file ftp_server.log 07:51:48.554695 ====> Client connect 07:51:48.554842 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:48.555356 < "USER anonymous" 07:51:48.555399 > "331 We are happy you popped in![CR][LF]" 07:51:48.556269 < "PASS ftp@example.com" 07:51:48.556310 > "230 Welcome you silly person[CR][LF]" 07:51:48.556478 < "PWD" 07:51:48.556516 > "257 "/" is current directory[CR][LF]" 07:51:48.556679 < "EPSV" 07:51:48.556704 ====> Passive DATA channel requested by client 07:51:48.556719 DATA sockfilt for passive data channel starting... 07:51:48.558968 DATA sockfilt for passive data channel started (pid 118194) 07:51:48.559074 DATA sockfilt for passive data channel listens on port 43467 07:51:48.559114 > "229 Entering Passive Mode (|||43467|)[CR][LF]" 07:51:48.559130 Client has been notified that DATA conn will be accepted on port 43467 07:51:48.559360 Client connects to port 43467 07:51:48.559389 ====> Client established passive DATA connection on port 43467 07:51:48.559468 < "TYPE I" 07:51:48.559497 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:48.559655 < "SIZE verifiedserver" 07:51:48.559691 > "213 17[CR][LF]" 07:51:48.559838 < "RETR verifiedserver" 07:51:48.559873 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:48.559953 =====> Closing passive DATA connection... 07:51:48.559968 Server disconnects passive DATA connection 07:51:48.560212 Server disconnected passive DATA connection 07:51:48.560238 DATA sockfilt for passive data channel quits (pid 118194) 07:51:48.560491 DATA sockfilt for passive data channel quit (pid 118194) 07:51:48.560513 =====> Closed passive DATA connection 07:51:48.560538 > "226 File transfer complete[CR][LF]" 07:51:48.601825 < "QUIT" 07:51:48.601892 > "221 bye bye baby[CR][LF]" 07:51:48.603595 MAIN sockfilt said DISC 07:51:48.603633 ====> Client disconnected 07:51:48.603699 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:48.382535 ====> Client connect 07:51:48.382796 Received DATA (on stdin) 07:51:48.382812 > 160 bytes data, server => client 07:51:48.382826 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:48.382838 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:48.382849 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:48.383136 < 16 bytes data, client => server 07:51:48.383156 'USER anonymous\r\n' 07:51:48.383346 Received DATA (on stdin) 07:51:48.383359 > 33 bytes data, server => client 07:51:48.383370 '331 We are happy you popped in!\r\n' 07:51:48.384082 < 22 bytes data, client => server 07:51:48.384101 'PASS ftp@example.com\r\n' 07:51:48.384256 Received DATA (on stdin) 07:51:48.384269 > 30 bytes data, server => client 07:51:48.384280 '230 Welcome you silly person\r\n' 07:51:48.384331 < 5 bytes data, client => server 07:51:48.384343 'PWD\r\n' 07:51:48.384460 Received DATA (on stdin) 07:51:48.384472 > 30 bytes data, server => client 07:51:48.384483 '257 "/" is current directory\r\n' 07:51:48.384539 < 6 bytes data, client => server 07:51:48.384551 'EPSV\r\n' 07:51:48.387077 Received DATA (on stdin) 07:51:48.387091 > 39 bytes data, server => client 07:51:48.387104 '229 Entering Passive Mode (|||43467|)\r\n' 07:51:48.387221 < 8 bytes data, client => server 07:51:48.387236 'TYPE I\r\n' 07:51:48.387440 Received DATA (on stdin) 07:51:48.387454 > 33 bytes data, server => client 07:51:48.387466 '200 I modify TYPE as you wanted\r\n' 07:51:48.387515 < 21 bytes data, client => server 07:51:48.387527 'SIZE verifiedserver\r\n' 07:51:48.387634 Received DATA (on stdin) 07:51:48.387646 > 8 bytes data, server => client 07:51:48.387657 '213 17\r\n' 07:51:48.387702 < 21 bytes data, client => server 07:51:48.387713 'RETR verifiedserver\r\n' 07:51:48.387916 Received DATA (on stdin) 07:51:48.387928 > 29 bytes data, server => client 07:51:48.387940 '150 Binary junk (17 bytes).\r\n' 07:51:48.388484 Received DATA (on stdin) 07:51:48.388498 > 28 bytes data, server => client 07:51:48.388510 '226 File transfer complete\r\n' 07:51:48.429527 < 6 bytes data, client => server 07:51:48.429601 'QUIT\r\n' 07:51:48.430373 Received DATA (on stdin) 07:51:48.430396 > 18 bytes data, server => client 07:51:48.430408 '221 bye bye baby\r\n' 07:51:48.431480 ====> Client disconnect 07:51:48.433364 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:48.386363 Running IPv4 version 07:51:48.386428 Listening on port 43467 07:51:48.386461 Wrote pid 118194 to log/12/server/ftp_sockdata.pid 07:51:48.386853 Received PING (on stdin) 07:51:48.386935 Received PORT (on stdin) 07:51:48.387259 ====> Client connect 07:51:48.387966 Received DATA (on stdin) 07:51:48.387980 > 17 bytes data, server => client 07:51:48.387996 'WE ROOLZ: 80617\r\n' 07:51:48.388021 Received DISC (on stdin) 07:51:48.388033 ====> Client forcibly disconnected 07:51:48.388189 Received QUIT (on stdin) 07:51:48.388201 quits 07:51:48.388273 ============> 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 ==118264== ==118264== Process terminating with default action of signal 4 (SIGILL) ==118264== Illegal opcode at address 0x4013DC0 ==118264== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118264== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118264== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118264== by 0x40037A4: main (tool_main.c:199) === End of file valgrind792 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/8/valgrind793 ../src/curl -q --output log/8/curl793.out --include --trace-ascii log/8/trace793 --trace-time --netrc --netrc-file log/8/netrc793 ftp://127.0.0.1:35961/793 > log/8/stdout793 2> log/8/stderr793 793: proCMD (33792): ../libtool --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/valgrind800 ../src/curl -q --output log/21/curl800.out --include --trace-ascii log/21/trace800 --trace-time 'imap://127.0.0.1:44177/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/21/stdout800 2> log/21/stderr800 tocol 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/ dir 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/8/valgrind793 ../src/curl -q --output log/8/curl793.out --include --trace-ascii log/8/trace793 --trace-time --netrc --netrc-file log/8/netrc793 ftp://127.0.0.1:35961/793 > log/8/stdout793 2> log/8/stderr793 === End of file commands.log === Start of file ftp_server.log 07:51:48.592694 ====> Client connect 07:51:48.592867 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:48.593247 < "USER anonymous" 07:51:48.593304 > "331 We are happy you popped in![CR][LF]" 07:51:48.593535 < "PASS ftp@example.com" 07:51:48.593579 > "230 Welcome you silly person[CR][LF]" 07:51:48.593770 < "PWD" 07:51:48.593813 > "257 "/" is current directory[CR][LF]" 07:51:48.594003 < "EPSV" 07:51:48.594034 ====> Passive DATA channel requested by client 07:51:48.594050 DATA sockfilt for passive data channel starting... 07:51:48.596698 DATA sockfilt for passive data channel started (pid 118239) 07:51:48.596839 DATA sockfilt for passive data channel listens on port 40675 07:51:48.596886 > "229 Entering Passive Mode (|||40675|)[CR][LF]" 07:51:48.596905 Client has been notified that DATA conn will be accepted on port 40675 07:51:48.597211 Client connects to port 40675 07:51:48.597253 ====> Client established passive DATA connection on port 40675 07:51:48.597366 < "TYPE I" 07:51:48.597402 > "200 I modify TYPE as you wanted[CR][LF]" 07:51:48.597592 < "SIZE verifiedserver" 07:51:48.597639 > "213 17[CR][LF]" 07:51:48.597820 < "RETR verifiedserver" 07:51:48.597859 > "150 Binary junk (17 bytes).[CR][LF]" 07:51:48.597973 =====> Closing passive DATA connection... 07:51:48.597992 Server disconnects passive DATA connection 07:51:48.598249 Server disconnected passive DATA connection 07:51:48.598277 DATA sockfilt for passive data channel quits (pid 118239) 07:51:48.598537 DATA sockfilt for passive data channel quit (pid 118239) 07:51:48.598563 =====> Closed passive DATA connection 07:51:48.598594 > "226 File transfer complete[CR][LF]" 07:51:48.644875 < "QUIT" 07:51:48.644932 > "221 bye bye baby[CR][LF]" 07:51:48.646271 MAIN sockfilt said DISC 07:51:48.646311 ====> Client disconnected 07:51:48.646373 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:51:48.420527 ====> Client connect 07:51:48.420834 Received DATA (on stdin) 07:51:48.420855 > 160 bytes data, server => client 07:51:48.420869 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:48.420881 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:48.420893 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:48.421005 < 16 bytes data, client => server 07:51:48.421022 'USER anonymous\r\n' 07:51:48.421261 Received DATA (on stdin) 07:51:48.421277 > 33 bytes data, server => client 07:51:48.421289 '331 We are happy you popped in!\r\n' 07:51:48.421350 < 22 bytes data, client => server 07:51:48.421363 'PASS ftp@example.com\r\n' 07:51:48.421529 Received DATA (on stdin) 07:51:48.421544 > 30 bytes data, server => client 07:51:48.421557 '230 Welcome you silly person\r\n' 07:51:48.421612 < 5 bytes data, client => server 07:51:48.421626 'PWD\r\n' 07:51:48.421760 Received DATA (on stdin) 07:51:48.421775 > 30 bytes data, server => client 07:51:48.421787 '257 "/" is current directory\r\n' 07:51:48.421852 < 6 bytes data, client => server 07:51:48.421865 'EPSV\r\n' 07:51:48.424857 Received DATA (on stdin) 07:51:48.424875 > 39 bytes data, server => client 07:51:48.424887 '229 Entering Passive Mode (|||40675|)\r\n' 07:51:48.425058 < 8 bytes data, client => server 07:51:48.425077 'TYPE I\r\n' 07:51:48.425349 Received DATA (on stdin) 07:51:48.425363 > 33 bytes data, server => client 07:51:48.425374 '200 I modify TYPE as you wanted\r\n' 07:51:48.425439 < 21 bytes data, client => server 07:51:48.425450 'SIZE verifiedserver\r\n' 07:51:48.425587 Received DATA (on stdin) 07:51:48.425600 > 8 bytes data, server => client 07:51:48.425611 '213 17\r\n' 07:51:48.425665 < 21 bytes data, client => server 07:51:48.425678 'RETR verifiedserver\r\n' 07:51:48.425940 Received DATA (on stdin) 07:51:48.425954 > 29 bytes data, server => client 07:51:48.425965 '150 Binary junk (17 bytes).\r\n' 07:51:48.426541 Received DATA (on stdin) 07:51:48.426555 > 28 bytes data, server => client 07:51:48.426566 '226 File transfer complete\r\n' 07:51:48.472615 < 6 bytes data, client => server 07:51:48.472643 'QUIT\r\n' 07:51:48.472884 Received DATA (on stdin) 07:51:48.472899 > 18 bytes data, server => client 07:51:48.472911 '221 bye bye baby\r\n' 07:51:48.473762 ====> Client disconnect 07:51:48.474317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:51:48.424151 Running IPv4 version 07:51:48.424224 Listening on port 40675 07:51:48.424258 Wrote pid 118239 to log/8/server/ftp_sockdata.pid 07:51:48.424568 Received PING (on stdin) 07:51:48.424687 Received PORT (on stdin) 07:51:48.425101 ====> Client connect 07:51:48.425995 Received DATA (on stdin) 07:51:48.426010 > 17 bytes data, server => client 07:51:48.426021 'WE ROOLZ: 80636\r\n' 07:51:48.426047 Received DISC (on stdin) 07:51:48.426060 ====> Client forcibly disconnected 07:51:48.426236 Received QUIT (on stdin) 07:51:48.426249 quits 07:51:48.426305 ============> 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 ==118454== ==118454== Process terminating with default action of signal 4 (SIGILL) ==118454== Illegal opcode at address 0x4013DC0 ==118454== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118454== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118454== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118454== by 0x40037A4: main (tool_main.c:199) === End of file valgrind793 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/21/valgrind800 ../src/curl -q --output log/21/curl800.out --include --trace-ascii log/21/trace800 --trace-time 'imap://127.0.0.1:44177/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/21/stdout800 2> log/21/stderr800 800: 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/ dir 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/21/valgrind800 ../src/curl -q --output log/21/curl800.out --include --trace-ascii log/21/trace800 --trace-time 'imap://127.0.0.1:44177/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/21/stdout800 2> log/21/stderr800 === End of file commands.log === Start of file imap_server.log 07:51:48.720813 ====> Client connect 07:51:48.721021 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:48.725559 < "A001 CAPABILITY" 07:51:48.725638 > "A001 BAD Command[CR][LF]" 07:51:48.725945 < "A002 LIST "verifiedserver" *" 07:51:48.725984 LIST_imap got "verifiedserver" * 07:51:48.726018 > "* LIST () "/" "WE ROOLZ: 110096"[CR][LF]" 07:51:48.726038 > "A002 OK LIST Completed[CR][LF]" 07:51:48.726053 return proof we are we 07:51:48.774942 < CMD (33792): ../libtool --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/valgrind807 ../src/curl -q --output log/7/curl807.out --include --trace-ascii log/7/trace807 --trace-time imap://127.0.0.1:37375 -u user:secret -X 'LSUB "807" *' > log/7/stdout807 2> log/7/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:37933/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/19/stdout799 2> log/19/stderr799 "A003 LOGOUT" 07:51:48.775008 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:48.775034 > "A003 OK LOGOUT completed[CR][LF]" 07:51:48.776172 MAIN sockfilt said DISC 07:51:48.776216 ====> Client disconnected 07:51:48.776302 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:48.548641 ====> Client connect 07:51:48.548983 Received DATA (on stdin) 07:51:48.549001 > 178 bytes data, server => client 07:51:48.549014 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:48.549025 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:48.549036 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:48.549045 'rve\r\n' 07:51:48.549127 < 17 bytes data, client => server 07:51:48.549139 'A001 CAPABILITY\r\n' 07:51:48.553600 Received DATA (on stdin) 07:51:48.553621 > 18 bytes data, server => client 07:51:48.553634 'A001 BAD Command\r\n' 07:51:48.553749 < 30 bytes data, client => server 07:51:48.553766 'A002 LIST "verifiedserver" *\r\n' 07:51:48.554001 Received DATA (on stdin) 07:51:48.554016 > 34 bytes data, server => client 07:51:48.554028 '* LIST () "/" "WE ROOLZ: 110096"\r\n' 07:51:48.554052 Received DATA (on stdin) 07:51:48.554064 > 24 bytes data, server => client 07:51:48.554076 'A002 OK LIST Completed\r\n' 07:51:48.602657 < 13 bytes data, client => server 07:51:48.602698 'A003 LOGOUT\r\n' 07:51:48.602987 Received DATA (on stdin) 07:51:48.603005 > 36 bytes data, server => client 07:51:48.603018 '* BYE curl IMAP server signing off\r\n' 07:51:48.603047 Received DATA (on stdin) 07:51:48.603060 > 26 bytes data, server => client 07:51:48.603072 'A003 OK LOGOUT completed\r\n' 07:51:48.604042 ====> Client disconnect 07:51:48.604257 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 800 === End of file server.cmd === Start of file valgrind800 ==118530== ==118530== Process terminating with default action of signal 4 (SIGILL) ==118530== Illegal opcode at address 0x4013DC0 ==118530== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118530== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118530== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118530== by 0x40037A4: main (tool_main.c:199) === End of file valgrind800 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/7/valgrind807 ../src/curl -q --output log/7/curl807.out --include --trace-ascii log/7/trace807 --trace-time imap://127.0.0.1:37375 -u user:secret -X 'LSUB "807" *' > log/7/stdout807 2> log/7/stderr807 807: 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/ dir 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/7/valgrind807 ../src/curl -q --output log/7/curl807.out --include --trace-ascii log/7/trace807 --trace-time imap://127.0.0.1:37375 -u user:secret -X 'LSUB "807" *' > log/7/stdout807 2> log/7/stderr807 === End of file commands.log === Start of file imap_server.log 07:51:49.302050 ====> Client connect 07:51:49.302200 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:49.302507 < "A001 CAPABILITY" 07:51:49.302551 > "A001 BAD Command[CR][LF]" 07:51:49.302733 < "A002 LIST "verifiedserver" *" 07:51:49.302764 LIST_imap got "verifiedserver" * 07:51:49.302789 > "* LIST () "/" "WE ROOLZ: 109783"[CR][LF]" 07:51:49.302807 > "A002 OK LIST Completed[CR][LF]" 07:51:49.302820 return proof we are we 07:51:49.346957 < "A003 LOGOUT" 07:51:49.347017 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:49.347038 > "A003 OK LOGOUT completed[CR][LF]" 07:51:49.348037 MAIN sockfilt said DISC 07:51:49.348079 ====> Client disconnected 07:51:49.348154 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.129893 ====> Client connect 07:51:49.130156 Received DATA (on stdin) 07:51:49.130172 > 178 bytes data, server => client 07:51:49.130184 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:49.130195 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:49.130206 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:49.130216 'rve\r\n' 07:51:49.130289 < 17 bytes data, client => server 07:51:49.130301 'A001 CAPABILITY\r\n' 07:51:49.130496 Received DATA (on stdin) 07:51:49.130508 > 18 bytes data, server => client 07:51:49.130519 'A001 BAD Command\r\n' 07:51:49.130581 < 30 bytes data, client => server 07:51:49.130593 'A002 LIST "verifiedserver" *\r\n' 07:51:49.130761 Received DATA (on stdin) 07:51:49.130773 > 34 bytes data, server => client 07:51:49.130783 '* LIST () "/" "WE ROOLZ: 109783"\r\n' 07:51:49.130803 Received DATA (on stdin) 07:51:49.130812 > 24 bytes data, server => client 07:51:49.130822 'A002 OK LIST Completed\r\n' 07:51:49.174698 < 13 bytes data, client => server 07:51:49.174728 'A003 LOGOUT\r\n' 07:51:49.174986 Received DATA (on stdin) 07:51:49.175001 > 36 bytes data, server => client 07:51:49.175013 '* BYE curl IMAP server signing off\r\n' 07:51:49.175038 Received DATA (on stdin) 07:51:49.175049 > 26 bytes data, server => client 07:51:49.175060 'A003 OK LOGOUT completed\r\n' 07:51:49.175907 ====> Client disconnect 07:51:49.176103 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 ==118653== ==118653== Process terminating with default action of signal 4 (SIGILL) ==118653== Illegal opcode at address 0x4013DC0 ==118653== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118653== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118653== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118653== by 0x40037A4: main (tool_main.c:199) === 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 37933 (log/19/server/imap_server.port) RUN: IMAP server is PID 118261 port 37933 * pid imap => 118261 118261 test 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:37933/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/ dir 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:37933/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 07:51:48.665044 IMAP server listens on port IPv4/37933 07:51:48.665173 logged pid 118261 in log/19/server/imap_server.pid 07:51:48.665204 Awaiting input === End of file imap_server.log === Start of file imaCMD (33792): ../libtool --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/valgrind731 ../src/curl -q --output log/2/curl731.out --include --trace-ascii log/2/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout731 2> log/2/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/8/valgrind818 ../src/curl -q --output log/8/curl818.out --include --trace-ascii log/8/trace818 --trace-time imap://127.0.0.1:36031 -X NOOP -u user:secret > log/8/stdout818 2> log/8/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/16/valgrind801 ../src/curl -q --output log/16/curl801.out --include --trace-ascii log/16/trace801 --trace-time 'imap://127.0.0.1:33983/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/16/stdout801 2> log/16/stderr801 p_sockfilt.log 07:51:48.492726 Running IPv4 version 07:51:48.492804 Listening on port 37933 07:51:48.492840 Wrote pid 118334 to log/19/server/imap_sockfilt.pid 07:51:48.492868 Wrote port 37933 to log/19/server/imap_server.port 07:51:48.492892 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 ==118725== ==118725== Process terminating with default action of signal 4 (SIGILL) ==118725== Illegal opcode at address 0x4013DC0 ==118725== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118725== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118725== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118725== by 0x40037A4: main (tool_main.c:199) === End of file valgrind799 setenv HOME = /startdir/src/build-curl/tests/log/2 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/2/valgrind731 ../src/curl -q --output log/2/curl731.out --include --trace-ascii log/2/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout731 2> log/2/stderr731 731: 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/ dir 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/2/valgrind731 ../src/curl -q --output log/2/curl731.out --include --trace-ascii log/2/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout731 2> log/2/stderr731 === End of file commands.log === Start of file http_server.log 07:51:45.714310 ====> Client connect 07:51:45.714345 accept_connection 3 returned 4 07:51:45.714363 accept_connection 3 returned 0 07:51:45.714378 Read 93 bytes 07:51:45.714389 Process 93 bytes request 07:51:45.714403 Got request: GET /verifiedserver HTTP/1.1 07:51:45.714414 Are-we-friendly question received 07:51:45.714439 Wrote request (93 bytes) input to log/2/server.input 07:51:45.714458 Identifying ourselves as friends 07:51:45.714513 Response sent (56 bytes) and written to log/2/server.response 07:51:45.714525 special request received, no persistency 07:51:45.714536 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 33094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind731 ==114698== ==114698== Process terminating with default action of signal 4 (SIGILL) ==114698== Illegal opcode at address 0x4013DC0 ==114698== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==114698== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114698== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==114698== by 0x40037A4: main (tool_main.c:199) === End of file valgrind731 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/8/valgrind818 ../src/curl -q --output log/8/curl818.out --include --trace-ascii log/8/trace818 --trace-time imap://127.0.0.1:36031 -X NOOP -u user:secret > log/8/stdout818 2> log/8/stderr818 818: 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/ dir 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/8/valgrind818 ../src/curl -q --output log/8/curl818.out --include --trace-ascii log/8/trace818 --trace-time imap://127.0.0.1:36031 -X NOOP -u user:secret > log/8/stdout818 2> log/8/stderr818 === End of file commands.log === Start of file imap_server.log 07:51:49.800893 ====> Client connect 07:51:49.801035 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:49.801301 < "A001 CAPABILITY" 07:51:49.801337 > "A001 BAD Command[CR][LF]" 07:51:49.801478 < "A002 LIST "verifiedserver" *" 07:51:49.801502 LIST_imap got "verifiedserver" * 07:51:49.801522 > "* LIST () "/" "WE ROOLZ: 111388"[CR][LF]" 07:51:49.801536 > "A002 OK LIST Completed[CR][LF]" 07:51:49.801547 return proof we are we 07:51:49.848248 < "A003 LOGOUT" 07:51:49.848310 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:49.848329 > "A003 OK LOGOUT completed[CR][LF]" 07:51:49.848919 MAIN sockfilt said DISC 07:51:49.848955 ====> Client disconnected 07:51:49.849015 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.628735 ====> Client connect 07:51:49.628984 Received DATA (on stdin) 07:51:49.628996 > 178 bytes data, server => client 07:51:49.629006 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:49.629015 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:49.629023 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:49.629031 'rve\r\n' 07:51:49.629091 < 17 bytes data, client => server 07:51:49.629102 'A001 CAPABILITY\r\n' 07:51:49.629278 Received DATA (on stdin) 07:51:49.629289 > 18 bytes data, server => client 07:51:49.629298 'A001 BAD Command\r\n' 07:51:49.629343 < 30 bytes data, client => server 07:51:49.629352 'A002 LIST "verifiedserver" *\r\n' 07:51:49.629484 Received DATA (on stdin) 07:51:49.629494 > 34 bytes data, server => client 07:51:49.629503 '* LIST () "/" "WE ROOLZ: 111388"\r\n' 07:51:49.629519 Received DATA (on stdin) 07:51:49.629527 > 24 bytes data, server => client 07:51:49.629535 'A002 OK LIST Completed\r\n' 07:51:49.675984 < 13 bytes data, client => server 07:51:49.676019 'A003 LOGOUT\r\n' 07:51:49.676275 Received DATA (on stdin) 07:51:49.676289 > 36 bytes data, server => client 07:51:49.676300 '* BYE curl IMAP server signing off\r\n' 07:51:49.676323 Received DATA (on stdin) 07:51:49.676333 > 26 bytes data, server => client 07:51:49.676343 'A003 OK LOGOUT completed\r\n' 07:51:49.676798 ====> Client disconnect 07:51:49.676956 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==118805== ==118805== Process terminating with default action of signal 4 (SIGILL) ==118805== Illegal opcode at address 0x4013DC0 ==118805== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118805== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118805== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118805== by 0x40037A4: main (tool_main.c:199) === End of file valgrind818 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 --addCMD (33792): ../libtool --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/valgrind819 ../src/curl -q --output log/21/curl819.out --include --trace-ascii log/21/trace819 --trace-time 'imap://127.0.0.1:44177/819/;MAILINDEX=1' -u user:secret > log/21/stdout819 2> log/21/stderr819 CMD (33792): ../libtool --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/valgrind802 ../src/curl -q --output log/11/curl802.out --include --trace-ascii log/11/trace802 --trace-time 'imap://127.0.0.1:45881/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/11/stdout802 2> log/11/stderr802 r "127.0.0.1" PINGPONG runs on port 33983 (log/16/server/imap_server.port) RUN: IMAP server is PID 118550 port 33983 * pid imap => 118550 118550 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/16/valgrind801 ../src/curl -q --output log/16/curl801.out --include --trace-ascii log/16/trace801 --trace-time 'imap://127.0.0.1:33983/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/16/stdout801 2> log/16/stderr801 801: 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/ dir 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/16/valgrind801 ../src/curl -q --output log/16/curl801.out --include --trace-ascii log/16/trace801 --trace-time 'imap://127.0.0.1:33983/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/16/stdout801 2> log/16/stderr801 === End of file commands.log === Start of file imap_server.log 07:51:48.932482 IMAP server listens on port IPv4/33983 07:51:48.932563 logged pid 118550 in log/16/server/imap_server.pid 07:51:48.932592 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:48.759989 Running IPv4 version 07:51:48.760097 Listening on port 33983 07:51:48.760133 Wrote pid 118568 to log/16/server/imap_sockfilt.pid 07:51:48.760159 Wrote port 33983 to log/16/server/imap_server.port 07:51:48.760332 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 ==118817== ==118817== Process terminating with default action of signal 4 (SIGILL) ==118817== Illegal opcode at address 0x4013DC0 ==118817== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118817== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118817== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118817== by 0x40037A4: main (tool_main.c:199) === End of file valgrind801 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/21/valgrind819 ../src/curl -q --output log/21/curl819.out --include --trace-ascii log/21/trace819 --trace-time 'imap://127.0.0.1:44177/819/;MAILINDEX=1' -u user:secret > log/21/stdout819 2> log/21/stderr819 819: 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/ dir 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/21/valgrind819 ../src/curl -q --output log/21/curl819.out --include --trace-ascii log/21/trace819 --trace-time 'imap://127.0.0.1:44177/819/;MAILINDEX=1' -u user:secret > log/21/stdout819 2> log/21/stderr819 === End of file commands.log === Start of file imap_server.log 07:51:49.933256 ====> Client connect 07:51:49.933404 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:49.933669 < "A001 CAPABILITY" 07:51:49.933702 > "A001 BAD Command[CR][LF]" 07:51:49.933857 < "A002 LIST "verifiedserver" *" 07:51:49.933883 LIST_imap got "verifiedserver" * 07:51:49.933905 > "* LIST () "/" "WE ROOLZ: 110096"[CR][LF]" 07:51:49.933922 > "A002 OK LIST Completed[CR][LF]" 07:51:49.933935 return proof we are we 07:51:49.974912 < "A003 LOGOUT" 07:51:49.974962 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:49.974979 > "A003 OK LOGOUT completed[CR][LF]" 07:51:49.975917 MAIN sockfilt said DISC 07:51:49.975942 ====> Client disconnected 07:51:49.976011 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.761095 ====> Client connect 07:51:49.761355 Received DATA (on stdin) 07:51:49.761370 > 178 bytes data, server => client 07:51:49.761382 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:49.761393 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:49.761404 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:49.761414 'rve\r\n' 07:51:49.761478 < 17 bytes data, client => server 07:51:49.761491 'A001 CAPABILITY\r\n' 07:51:49.761650 Received DATA (on stdin) 07:51:49.761662 > 18 bytes data, server => client 07:51:49.761672 'A001 BAD Command\r\n' 07:51:49.761721 < 30 bytes data, client => server 07:51:49.761733 'A002 LIST "verifiedserver" *\r\n' 07:51:49.761875 Received DATA (on stdin) 07:51:49.761887 > 34 bytes data, server => client 07:51:49.761897 '* LIST () "/" "WE ROOLZ: 110096"\r\n' 07:51:49.761916 Received DATA (on stdin) 07:51:49.761926 > 24 bytes data, server => client 07:51:49.761937 'A002 OK LIST Completed\r\n' 07:51:49.802663 < 13 bytes data, client => server 07:51:49.802696 'A003 LOGOUT\r\n' 07:51:49.802923 Received DATA (on stdin) 07:51:49.802935 > 36 bytes data, server => client 07:51:49.802946 '* BYE curl IMAP server signing off\r\n' 07:51:49.802969 Received DATA (on stdin) 07:51:49.802979 > 26 bytes data, server => client 07:51:49.802990 'A003 OK LOGOUT completed\r\n' 07:51:49.803812 ====> Client disconnect 07:51:49.803952 Received ACKD (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 ==118939== ==118939== Process terminating with default action of signal 4 (SIGILL) ==118939== Illegal opcode at address 0x4013DC0 ==118939== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118939== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118939== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118939== by 0x40037A4: main (tool_main.c:199) === End of file valgrind819 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 45881 (log/11/server/imap_server.port) RUN: IMAP server is PID 118578 port 45881 * pid imap => 118578 118578 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/11/valgrind802 ../src/curl -q --output log/11/curl802.out --include --trace-ascii log/11/trace802 --trace-time 'imap://127.0.0.1:45881/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/11/stdout802 2> log/11/stderr802 802: 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/ dir 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/11/valgrind802 ../src/curl -q --output log/11/curl802.out --include --trace-ascii log/11/trace802 --trace-time 'imap://127.0.0.1:45881/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/11/stdout802 2> log/11/stderr802 === End of file commands.log === Start of file imap_server.log 07:51:49.004700 IMAP server listens on port IPv4/45881 07:51:49.004807 logged pid 118578 in log/11/server/imap_server.piCMD (33792): ../libtool --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/valgrind803 ../src/curl -q --output log/24/curl803.out --include --trace-ascii log/24/trace803 --trace-time 'imap://127.0.0.1:45207/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/24/stdout803 2> log/24/stderr803 CMD (33792): ../libtool --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/valgrind804 ../src/curl -q --output log/13/curl804.out --include --trace-ascii log/13/trace804 --trace-time 'imap://127.0.0.1:37283/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:37283/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/13/stdout804 2> log/13/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/20/valgrind805 ../src/curl -q --output log/20/curl805.out --include --trace-ascii log/20/trace805 --trace-time imap://127.0.0.1:46823/805 -T log/20/upload805 -u user:secret > log/20/stdout805 2> log/20/stderr805 d 07:51:49.004836 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:48.826609 Running IPv4 version 07:51:48.826696 Listening on port 45881 07:51:48.826735 Wrote pid 118588 to log/11/server/imap_sockfilt.pid 07:51:48.826766 Wrote port 45881 to log/11/server/imap_server.port 07:51:48.832520 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 ==118918== ==118918== Process terminating with default action of signal 4 (SIGILL) ==118918== Illegal opcode at address 0x4013DC0 ==118918== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==118918== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118918== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==118918== by 0x40037A4: main (tool_main.c:199) === End of file valgrind802 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 45207 (log/24/server/imap_server.port) RUN: IMAP server is PID 118606 port 45207 * pid imap => 118606 118606 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/24/valgrind803 ../src/curl -q --output log/24/curl803.out --include --trace-ascii log/24/trace803 --trace-time 'imap://127.0.0.1:45207/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/24/stdout803 2> log/24/stderr803 803: 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/ dir 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/24/valgrind803 ../src/curl -q --output log/24/curl803.out --include --trace-ascii log/24/trace803 --trace-time 'imap://127.0.0.1:45207/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/24/stdout803 2> log/24/stderr803 === End of file commands.log === Start of file imap_server.log 07:51:49.084974 IMAP server listens on port IPv4/45207 07:51:49.085060 logged pid 118606 in log/24/server/imap_server.pid 07:51:49.085128 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.912517 Running IPv4 version 07:51:49.912594 Listening on port 45207 07:51:49.912632 Wrote pid 118611 to log/24/server/imap_sockfilt.pid 07:51:49.912662 Wrote port 45207 to log/24/server/imap_server.port 07:51:49.912820 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 ==119018== ==119018== Process terminating with default action of signal 4 (SIGILL) ==119018== Illegal opcode at address 0x4013DC0 ==119018== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119018== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119018== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119018== by 0x40037A4: main (tool_main.c:199) === End of file valgrind803 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 37283 (log/13/server/imap_server.port) RUN: IMAP server is PID 118612 port 37283 * pid imap => 118612 118612 test 0804...[IMAP doesn't 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/13/valgrind804 ../src/curl -q --output log/13/curl804.out --include --trace-ascii log/13/trace804 --trace-time 'imap://127.0.0.1:37283/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:37283/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/13/stdout804 2> log/13/stderr804 804: 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/ dir 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/13/valgrind804 ../src/curl -q --output log/13/curl804.out --include --trace-ascii log/13/trace804 --trace-time 'imap://127.0.0.1:37283/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:37283/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/13/stdout804 2> log/13/stderr804 === End of file commands.log === Start of file imap_server.log 07:51:49.189600 IMAP server listens on port IPv4/37283 07:51:49.189684 logged pid 118612 in log/13/server/imap_server.pid 07:51:49.189713 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.017217 Running IPv4 version 07:51:49.017325 Listening on port 37283 07:51:49.017369 Wrote pid 118614 to log/13/server/imap_sockfilt.pid 07:51:49.017401 Wrote port 37283 to log/13/server/imap_server.port 07:51:49.017428 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 ==119069== ==119069== Process terminating with default action of signal 4 (SIGILL) ==119069== Illegal opcode at address 0x4013DC0 ==119069== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119069== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119069== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119069== by 0x40037A4: main (tool_main.c:199) === End of file valgrind804 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/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 46823 (log/20/server/imap_server.port) RUN: IMAP server is PID 118613 port 46823 * pid imap => 118613 118613 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/20/valgrind805 ../src/curl -q --output log/20/curl805.out --include --trace-ascii log/20/trace805 --trace-time imap://127.0.0.1:46823/805 -T log/20/upload805 -u user:secret > log/20/stdout805 2> log/20/stderr805 805: 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/ dir 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/20/valgrind805 ../src/curl -q --output log/20/curl805.out --include --trace-ascii log/20/trace805 --trace-time imap://127.0.0.1:46823/805 -T log/20/upload805 -u user:secret > log/20/stdout805 2> log/20/stderr805 === End of file commands.log === Start of file imap_server.log 07:51:49.195934 IMAP server listens on port IPv4/46823 07:51:49.196016 logged pid 118613 in log/20/server/imap_server.pid 07:51:49.196043 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.023603 Running IPv4 version 07:51:49.023689 Listening on port 46823 07:51:49.023726 Wrote pid 118615 to log/20/server/imap_sockfilt.pid 07:51:49.023756 Wrote portCMD (33792): ../libtool --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/valgrind806 ../src/curl -q --output log/17/curl806.out --include --trace-ascii log/17/trace806 --trace-time imap://127.0.0.1:36269/806 -u user:secret > log/17/stdout806 2> log/17/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/7/valgrind820 ../src/curl -q --output log/7/curl820.out --include --trace-ascii log/7/trace820 --trace-time 'imap://127.0.0.1:37375/820/;MAILINDEX=1' -u user:secret > log/7/stdout820 2> log/7/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/1/valgrind808 ../src/curl -q --output log/1/curl808.out --include --trace-ascii log/1/trace808 --trace-time imap://127.0.0.1:43587 -u user:secret -X 'EXAMINE 808' > log/1/stdout808 2> log/1/stderr808 46823 to log/20/server/imap_server.port 07:51:49.023779 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 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 upload805 === Start of file valgrind805 ==119084== ==119084== Process terminating with default action of signal 4 (SIGILL) ==119084== Illegal opcode at address 0x4013DC0 ==119084== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119084== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119084== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119084== by 0x40037A4: main (tool_main.c:199) === End of file valgrind805 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 36269 (log/17/server/imap_server.port) RUN: IMAP server is PID 118623 port 36269 * pid imap => 118623 118623 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/17/valgrind806 ../src/curl -q --output log/17/curl806.out --include --trace-ascii log/17/trace806 --trace-time imap://127.0.0.1:36269/806 -u user:secret > log/17/stdout806 2> log/17/stderr806 806: 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/ dir 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/17/valgrind806 ../src/curl -q --output log/17/curl806.out --include --trace-ascii log/17/trace806 --trace-time imap://127.0.0.1:36269/806 -u user:secret > log/17/stdout806 2> log/17/stderr806 === End of file commands.log === Start of file imap_server.log 07:51:49.286795 IMAP server listens on port IPv4/36269 07:51:49.286874 logged pid 118623 in log/17/server/imap_server.pid 07:51:49.286901 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.113935 Running IPv4 version 07:51:49.114021 Listening on port 36269 07:51:49.114596 Wrote pid 118633 to log/17/server/imap_sockfilt.pid 07:51:49.114634 Wrote port 36269 to log/17/server/imap_server.port 07:51:49.114657 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 ==119188== ==119188== Process terminating with default action of signal 4 (SIGILL) ==119188== Illegal opcode at address 0x4013DC0 ==119188== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119188== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119188== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119188== by 0x40037A4: main (tool_main.c:199) === End of file valgrind806 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/7/valgrind820 ../src/curl -q --output log/7/curl820.out --include --trace-ascii log/7/trace820 --trace-time 'imap://127.0.0.1:37375/820/;MAILINDEX=1' -u user:secret > log/7/stdout820 2> log/7/stderr820 820: 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/ dir 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/7/valgrind820 ../src/curl -q --output log/7/curl820.out --include --trace-ascii log/7/trace820 --trace-time 'imap://127.0.0.1:37375/820/;MAILINDEX=1' -u user:secret > log/7/stdout820 2> log/7/stderr820 === End of file commands.log === Start of file imap_server.log 07:51:50.201151 ====> Client connect 07:51:50.201314 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:50.201637 < "A001 CAPABILITY" 07:51:50.201672 > "A001 BAD Command[CR][LF]" 07:51:50.201839 < "A002 LIST "verifiedserver" *" 07:51:50.201865 LIST_imap got "verifiedserver" * 07:51:50.201889 > "* LIST () "/" "WE ROOLZ: 109783"[CR][LF]" 07:51:50.201907 > "A002 OK LIST Completed[CR][LF]" 07:51:50.201921 return proof we are we 07:51:50.248367 < "A003 LOGOUT" 07:51:50.248427 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:50.248447 > "A003 OK LOGOUT completed[CR][LF]" 07:51:50.249555 MAIN sockfilt said DISC 07:51:50.249597 ====> Client disconnected 07:51:50.249672 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.028979 ====> Client connect 07:51:50.029271 Received DATA (on stdin) 07:51:50.029288 > 178 bytes data, server => client 07:51:50.029302 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:50.029314 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:50.029325 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:50.029335 'rve\r\n' 07:51:50.029428 < 17 bytes data, client => server 07:51:50.029445 'A001 CAPABILITY\r\n' 07:51:50.029617 Received DATA (on stdin) 07:51:50.029630 > 18 bytes data, server => client 07:51:50.029641 'A001 BAD Command\r\n' 07:51:50.029696 < 30 bytes data, client => server 07:51:50.029709 'A002 LIST "verifiedserver" *\r\n' 07:51:50.029863 Received DATA (on stdin) 07:51:50.029875 > 34 bytes data, server => client 07:51:50.029887 '* LIST () "/" "WE ROOLZ: 109783"\r\n' 07:51:50.029906 Received DATA (on stdin) 07:51:50.029917 > 24 bytes data, server => client 07:51:50.029929 'A002 OK LIST Completed\r\n' 07:51:50.076135 < 13 bytes data, client => server 07:51:50.076162 'A003 LOGOUT\r\n' 07:51:50.076399 Received DATA (on stdin) 07:51:50.076421 > 36 bytes data, server => client 07:51:50.076434 '* BYE curl IMAP server signing off\r\n' 07:51:50.076480 Received DATA (on stdin) 07:51:50.076491 > 26 bytes data, server => client 07:51:50.076502 'A003 OK LOGOUT completed\r\n' 07:51:50.077434 ====> Client disconnect 07:51:50.077616 Received ACKD (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 ==119194== ==119194== Process terminating with default action of signal 4 (SIGILL) ==119194== Illegal opcode at address 0x4013DC0 ==119194== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119194== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119194== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119194== by 0x40037A4: main (tool_main.c:199) === End of file valgrind820 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 43587 (log/1/server/imap_server.port) RUN: IMAP server is PID 118640 port 43587 * pid imap => 118640 118640 test 0808...[IMAP EXAMINE mailbox (CUSTOMREQUEST)] ../libtool --mode=CMD (33792): ../libtool --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/valgrind809 ../src/curl -q --output log/3/curl809.out --include --trace-ascii log/3/trace809 --trace-time imap://127.0.0.1:34027 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/3/stdout809 2> log/3/stderr809 CMD (33792): ../libtool --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/valgrind811 ../src/curl -q --output log/14/curl811.out --include --trace-ascii log/14/trace811 --trace-time imap://127.0.0.1:40859 -u user:secret -X 'CREATE 811' > log/14/stdout811 2> log/14/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/9/valgrind810 ../src/curl -q --output log/9/curl810.out --include --trace-ascii log/9/trace810 --trace-time imap://127.0.0.1:42083/810?NEW -u user:secret > log/9/stdout810 2> log/9/stderr810 execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind808 ../src/curl -q --output log/1/curl808.out --include --trace-ascii log/1/trace808 --trace-time imap://127.0.0.1:43587 -u user:secret -X 'EXAMINE 808' > log/1/stdout808 2> log/1/stderr808 808: 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/ dir 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/1/valgrind808 ../src/curl -q --output log/1/curl808.out --include --trace-ascii log/1/trace808 --trace-time imap://127.0.0.1:43587 -u user:secret -X 'EXAMINE 808' > log/1/stdout808 2> log/1/stderr808 === End of file commands.log === Start of file imap_server.log 07:51:49.327758 IMAP server listens on port IPv4/43587 07:51:49.327839 logged pid 118640 in log/1/server/imap_server.pid 07:51:49.327868 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.155402 Running IPv4 version 07:51:49.155515 Listening on port 43587 07:51:49.155556 Wrote pid 118649 to log/1/server/imap_sockfilt.pid 07:51:49.155586 Wrote port 43587 to log/1/server/imap_server.port 07:51:49.155611 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 ==119284== ==119284== Process terminating with default action of signal 4 (SIGILL) ==119284== Illegal opcode at address 0x4013DC0 ==119284== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119284== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119284== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119284== by 0x40037A4: main (tool_main.c:199) === End of file valgrind808 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 34027 (log/3/server/imap_server.port) RUN: IMAP server is PID 118647 port 34027 * pid imap => 118647 118647 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/3/valgrind809 ../src/curl -q --output log/3/curl809.out --include --trace-ascii log/3/trace809 --trace-time imap://127.0.0.1:34027 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/3/stdout809 2> log/3/stderr809 809: 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/ dir 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/3/valgrind809 ../src/curl -q --output log/3/curl809.out --include --trace-ascii log/3/trace809 --trace-time imap://127.0.0.1:34027 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/3/stdout809 2> log/3/stderr809 === End of file commands.log === Start of file imap_server.log 07:51:49.338637 IMAP server listens on port IPv4/34027 07:51:49.338713 logged pid 118647 in log/3/server/imap_server.pid 07:51:49.338741 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.165807 Running IPv4 version 07:51:49.166389 Listening on port 34027 07:51:49.166429 Wrote pid 118650 to log/3/server/imap_sockfilt.pid 07:51:49.166464 Wrote port 34027 to log/3/server/imap_server.port 07:51:49.166487 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 ==119299== ==119299== Process terminating with default action of signal 4 (SIGILL) ==119299== Illegal opcode at address 0x4013DC0 ==119299== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119299== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119299== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119299== by 0x40037A4: main (tool_main.c:199) === End of file valgrind809 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 40859 (log/14/server/imap_server.port) RUN: IMAP server is PID 118712 port 40859 * pid imap => 118712 118712 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/14/valgrind811 ../src/curl -q --output log/14/curl811.out --include --trace-ascii log/14/trace811 --trace-time imap://127.0.0.1:40859 -u user:secret -X 'CREATE 811' > log/14/stdout811 2> log/14/stderr811 811: 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/ dir 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/14/valgrind811 ../src/curl -q --output log/14/curl811.out --include --trace-ascii log/14/trace811 --trace-time imap://127.0.0.1:40859 -u user:secret -X 'CREATE 811' > log/14/stdout811 2> log/14/stderr811 === End of file commands.log === Start of file imap_server.log 07:51:49.552403 IMAP server listens on port IPv4/40859 07:51:49.552479 logged pid 118712 in log/14/server/imap_server.pid 07:51:49.552510 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.380110 Running IPv4 version 07:51:49.380169 Listening on port 40859 07:51:49.380208 Wrote pid 118719 to log/14/server/imap_sockfilt.pid 07:51:49.380236 Wrote port 40859 to log/14/server/imap_server.port 07:51:49.380258 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 ==119421== ==119421== Process terminating with default action of signal 4 (SIGILL) ==119421== Illegal opcode at address 0x4013DC0 ==119421== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119421== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119421== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119421== by 0x40037A4: main (tool_main.c:199) === End of file valgrind811 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 42083 (log/9/server/imap_server.port) RUN: IMAP server is PID 118710 port 42083 * pid imap => 118710 118710 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/9/valgrind810 ../src/curl -q --output log/9/curl810.out --include --trace-ascii log/9/trace810 --trace-time imap://127.0.0.1:42083/810?NEW -u user:secret > log/9/stdout810 2> log/9/stderr810 810: protocol FAILED! There was no content at all in the file log/9/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/18/valgrind812 ../src/curl -q --output log/18/curl812.out --include --trace-ascii log/18/trace812 --trace-time imap://127.0.0.1:46263 -u user:secret -X 'DELETE 812' > log/18/stdout812 2> log/18/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/19/valgrind821 ../src/curl -q --output log/19/curl821.out --include --trace-ascii log/19/trace821 --trace-time 'imap://127.0.0.1:37933/821/;MAILINDEX=1' -u user:secret > log/19/stdout821 2> log/19/stderr821 of files in the log/9/ dir 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/9/valgrind810 ../src/curl -q --output log/9/curl810.out --include --trace-ascii log/9/trace810 --trace-time imap://127.0.0.1:42083/810?NEW -u user:secret > log/9/stdout810 2> log/9/stderr810 === End of file commands.log === Start of file imap_server.log 07:51:49.553089 IMAP server listens on port IPv4/42083 07:51:49.553186 logged pid 118710 in log/9/server/imap_server.pid 07:51:49.553222 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.380744 Running IPv4 version 07:51:49.380813 Listening on port 42083 07:51:49.380858 Wrote pid 118720 to log/9/server/imap_sockfilt.pid 07:51:49.380895 Wrote port 42083 to log/9/server/imap_server.port 07:51:49.380920 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 ==119415== ==119415== Process terminating with default action of signal 4 (SIGILL) ==119415== Illegal opcode at address 0x4013DC0 ==119415== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119415== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119415== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119415== by 0x40037A4: main (tool_main.c:199) === End of file valgrind810 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 46263 (log/18/server/imap_server.port) RUN: IMAP server is PID 118713 port 46263 * pid imap => 118713 118713 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/18/valgrind812 ../src/curl -q --output log/18/curl812.out --include --trace-ascii log/18/trace812 --trace-time imap://127.0.0.1:46263 -u user:secret -X 'DELETE 812' > log/18/stdout812 2> log/18/stderr812 812: 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/ dir 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/18/valgrind812 ../src/curl -q --output log/18/curl812.out --include --trace-ascii log/18/trace812 --trace-time imap://127.0.0.1:46263 -u user:secret -X 'DELETE 812' > log/18/stdout812 2> log/18/stderr812 === End of file commands.log === Start of file imap_server.log 07:51:49.551090 IMAP server listens on port IPv4/46263 07:51:49.551149 logged pid 118713 in log/18/server/imap_server.pid 07:51:49.551171 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.378800 Running IPv4 version 07:51:49.378886 Listening on port 46263 07:51:49.378918 Wrote pid 118718 to log/18/server/imap_sockfilt.pid 07:51:49.378942 Wrote port 46263 to log/18/server/imap_server.port 07:51:49.378958 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 ==119438== ==119438== Process terminating with default action of signal 4 (SIGILL) ==119438== Illegal opcode at address 0x4013DC0 ==119438== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119438== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119438== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119438== by 0x40037A4: main (tool_main.c:199) === 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/19/valgrind821 ../src/curl -q --output log/19/curl821.out --include --trace-ascii log/19/trace821 --trace-time 'imap://127.0.0.1:37933/821/;MAILINDEX=1' -u user:secret > log/19/stdout821 2> log/19/stderr821 821: 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/ dir 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/19/valgrind821 ../src/curl -q --output log/19/curl821.out --include --trace-ascii log/19/trace821 --trace-time 'imap://127.0.0.1:37933/821/;MAILINDEX=1' -u user:secret > log/19/stdout821 2> log/19/stderr821 === End of file commands.log === Start of file imap_server.log 07:51:50.470735 ====> Client connect 07:51:50.470884 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:50.471182 < "A001 CAPABILITY" 07:51:50.471224 > "A001 BAD Command[CR][LF]" 07:51:50.471419 < "A002 LIST "verifiedserver" *" 07:51:50.471450 LIST_imap got "verifiedserver" * 07:51:50.471473 > "* LIST () "/" "WE ROOLZ: 118261"[CR][LF]" 07:51:50.471490 > "A002 OK LIST Completed[CR][LF]" 07:51:50.471503 return proof we are we 07:51:50.521532 < "A003 LOGOUT" 07:51:50.521585 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:50.521605 > "A003 OK LOGOUT completed[CR][LF]" 07:51:50.522497 MAIN sockfilt said DISC 07:51:50.522534 ====> Client disconnected 07:51:50.522606 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.298578 ====> Client connect 07:51:50.298837 Received DATA (on stdin) 07:51:50.298853 > 178 bytes data, server => client 07:51:50.298866 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:50.298876 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:50.298887 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:50.298896 'rve\r\n' 07:51:50.298972 < 17 bytes data, client => server 07:51:50.298984 'A001 CAPABILITY\r\n' 07:51:50.299188 Received DATA (on stdin) 07:51:50.299201 > 18 bytes data, server => client 07:51:50.299212 'A001 BAD Command\r\n' 07:51:50.299267 < 30 bytes data, client => server 07:51:50.299278 'A002 LIST "verifiedserver" *\r\n' 07:51:50.299445 Received DATA (on stdin) 07:51:50.299456 > 34 bytes data, server => client 07:51:50.299467 '* LIST () "/" "WE ROOLZ: 118261"\r\n' 07:51:50.299486 Received DATA (on stdin) 07:51:50.299496 > 24 bytes data, server => client 07:51:50.299506 'A002 OK LIST Completed\r\n' 07:51:50.348993 < 13 bytes data, client => server 07:51:50.349015 'A003 LOGOUT\r\n' 07:51:50.349553 Received DATA (on stdin) 07:51:50.349570 > 36 bytes data, server => client 07:51:50.349582 '* BYE curl IMAP server signing off\r\n' 07:51:50.349608 Received DATA (on stdin) 07:51:50.349619 > 26 bytes data, server => client 07:51:50.349629 'A003 OK LOGOUT completed\r\n' 07:51:50.350375 ====> Client disconnect 07:51:50.350553 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 ==119420== ==119420== Process terminating with default action of signal 4 (SIGILL) ==119420== Illegal opcode at address 0x4013DC0 ==119420== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119420== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119420== by 0x40CMD (33792): ../libtool --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/valgrind813 ../src/curl -q --output log/5/curl813.out --include --trace-ascii log/5/trace813 --trace-time imap://127.0.0.1:33443 -u user:secret -X 'RENAME 666 813' > log/5/stdout813 2> log/5/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/22/valgrind816 ../src/curl -q --output log/22/curl816.out --include --trace-ascii log/22/trace816 --trace-time imap://127.0.0.1:45485/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:45485/816 -X EXPUNGE -u user:secret > log/22/stdout816 2> log/22/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/23/valgrind814 ../src/curl -q --output log/23/curl814.out --include --trace-ascii log/23/trace814 --trace-time imap://127.0.0.1:39993/814 -u user:secret -X 'CHECK' > log/23/stdout814 2> log/23/stderr814 CMD (33792): ../libtool --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/valgrind815 ../src/curl -q --output log/4/curl815.out --include --trace-ascii log/4/trace815 --trace-time imap://127.0.0.1:43341/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43341/815 -X CLOSE -u user:secret > log/4/stdout815 2> log/4/stderr815 037A4: UnknownInlinedFun (tool_operate.c:2234) ==119420== by 0x40037A4: main (tool_main.c:199) === End of file valgrind821 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 33443 (log/5/server/imap_server.port) RUN: IMAP server is PID 118715 port 33443 * pid imap => 118715 118715 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/5/valgrind813 ../src/curl -q --output log/5/curl813.out --include --trace-ascii log/5/trace813 --trace-time imap://127.0.0.1:33443 -u user:secret -X 'RENAME 666 813' > log/5/stdout813 2> log/5/stderr813 813: 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/ dir 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/5/valgrind813 ../src/curl -q --output log/5/curl813.out --include --trace-ascii log/5/trace813 --trace-time imap://127.0.0.1:33443 -u user:secret -X 'RENAME 666 813' > log/5/stdout813 2> log/5/stderr813 === End of file commands.log === Start of file imap_server.log 07:51:49.562321 IMAP server listens on port IPv4/33443 07:51:49.562376 logged pid 118715 in log/5/server/imap_server.pid 07:51:49.562396 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.390067 Running IPv4 version 07:51:49.390124 Listening on port 33443 07:51:49.390153 Wrote pid 118721 to log/5/server/imap_sockfilt.pid 07:51:49.390175 Wrote port 33443 to log/5/server/imap_server.port 07:51:49.390192 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==119458== ==119458== Process terminating with default action of signal 4 (SIGILL) ==119458== Illegal opcode at address 0x4013DC0 ==119458== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119458== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119458== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119458== by 0x40037A4: main (tool_main.c:199) === End of file valgrind813 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 45485 (log/22/server/imap_server.port) RUN: IMAP server is PID 118778 port 45485 * pid imap => 118778 118778 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/22/valgrind816 ../src/curl -q --output log/22/curl816.out --include --trace-ascii log/22/trace816 --trace-time imap://127.0.0.1:45485/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:45485/816 -X EXPUNGE -u user:secret > log/22/stdout816 2> log/22/stderr816 816: 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/ dir 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/22/valgrind816 ../src/curl -q --output log/22/curl816.out --include --trace-ascii log/22/trace816 --trace-time imap://127.0.0.1:45485/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:45485/816 -X EXPUNGE -u user:secret > log/22/stdout816 2> log/22/stderr816 === End of file commands.log === Start of file imap_server.log 07:51:49.723419 IMAP server listens on port IPv4/45485 07:51:49.723492 logged pid 118778 in log/22/server/imap_server.pid 07:51:49.723520 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.550959 Running IPv4 version 07:51:49.551035 Listening on port 45485 07:51:49.551076 Wrote pid 118782 to log/22/server/imap_sockfilt.pid 07:51:49.551105 Wrote port 45485 to log/22/server/imap_server.port 07:51:49.551277 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 ==119683== ==119683== Process terminating with default action of signal 4 (SIGILL) ==119683== Illegal opcode at address 0x4013DC0 ==119683== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119683== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119683== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119683== by 0x40037A4: main (tool_main.c:199) === End of file valgrind816 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 39993 (log/23/server/imap_server.port) RUN: IMAP server is PID 118776 port 39993 * pid imap => 118776 118776 test 0814...[IMAP CHECK 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/23/valgrind814 ../src/curl -q --output log/23/curl814.out --include --trace-ascii log/23/trace814 --trace-time imap://127.0.0.1:39993/814 -u user:secret -X 'CHECK' > log/23/stdout814 2> log/23/stderr814 814: 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/ dir 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/23/valgrind814 ../src/curl -q --output log/23/curl814.out --include --trace-ascii log/23/trace814 --trace-time imap://127.0.0.1:39993/814 -u user:secret -X 'CHECK' > log/23/stdout814 2> log/23/stderr814 === End of file commands.log === Start of file imap_server.log 07:51:49.712932 IMAP server listens on port IPv4/39993 07:51:49.713019 logged pid 118776 in log/23/server/imap_server.pid 07:51:49.713053 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.540458 Running IPv4 version 07:51:49.540542 Listening on port 39993 07:51:49.540584 Wrote pid 118780 to log/23/server/imap_sockfilt.pid 07:51:49.540613 Wrote port 39993 to log/23/server/imap_server.port 07:51:49.540779 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 ==119666== ==119666== Process terminating with default action of signal 4 (SIGILL) ==119666== Illegal opcode at address 0x4013DC0 ==119666== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119666== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119666== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119666== by 0x40037A4: main (tool_main.c:199) === End of file valgrind814 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 "CMD (33792): ../libtool --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/valgrind817 ../src/curl -q --output log/12/curl817.out --include --trace-ascii log/12/trace817 --trace-time imap://127.0.0.1:46113 -u user:secret -X 'COPY 123 817' > log/12/stdout817 2> log/12/stderr817 CMD (33792): ../libtool --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/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-time 'imap://127.0.0.1:36031/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 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 43341 (log/4/server/imap_server.port) RUN: IMAP server is PID 118777 port 43341 * pid imap => 118777 118777 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/4/valgrind815 ../src/curl -q --output log/4/curl815.out --include --trace-ascii log/4/trace815 --trace-time imap://127.0.0.1:43341/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43341/815 -X CLOSE -u user:secret > log/4/stdout815 2> log/4/stderr815 815: 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/ dir 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/4/valgrind815 ../src/curl -q --output log/4/curl815.out --include --trace-ascii log/4/trace815 --trace-time imap://127.0.0.1:43341/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43341/815 -X CLOSE -u user:secret > log/4/stdout815 2> log/4/stderr815 === End of file commands.log === Start of file imap_server.log 07:51:49.720629 IMAP server listens on port IPv4/43341 07:51:49.720713 logged pid 118777 in log/4/server/imap_server.pid 07:51:49.720738 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.548304 Running IPv4 version 07:51:49.548388 Listening on port 43341 07:51:49.548427 Wrote pid 118781 to log/4/server/imap_sockfilt.pid 07:51:49.548462 Wrote port 43341 to log/4/server/imap_server.port 07:51:49.548486 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==119668== ==119668== Process terminating with default action of signal 4 (SIGILL) ==119668== Illegal opcode at address 0x4013DC0 ==119668== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119668== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119668== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119668== by 0x40037A4: main (tool_main.c:199) === End of file valgrind815 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 46113 (log/12/server/imap_server.port) RUN: IMAP server is PID 118779 port 46113 * pid imap => 118779 118779 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/12/valgrind817 ../src/curl -q --output log/12/curl817.out --include --trace-ascii log/12/trace817 --trace-time imap://127.0.0.1:46113 -u user:secret -X 'COPY 123 817' > log/12/stdout817 2> log/12/stderr817 817: 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/ dir 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/12/valgrind817 ../src/curl -q --output log/12/curl817.out --include --trace-ascii log/12/trace817 --trace-time imap://127.0.0.1:46113 -u user:secret -X 'COPY 123 817' > log/12/stdout817 2> log/12/stderr817 === End of file commands.log === Start of file imap_server.log 07:51:49.729635 IMAP server listens on port IPv4/46113 07:51:49.729699 logged pid 118779 in log/12/server/imap_server.pid 07:51:49.729722 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:49.557360 Running IPv4 version 07:51:49.557419 Listening on port 46113 07:51:49.557447 Wrote pid 118783 to log/12/server/imap_sockfilt.pid 07:51:49.557469 Wrote port 46113 to log/12/server/imap_server.port 07:51:49.557487 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 ==119692== ==119692== Process terminating with default action of signal 4 (SIGILL) ==119692== Illegal opcode at address 0x4013DC0 ==119692== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119692== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119692== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119692== by 0x40037A4: main (tool_main.c:199) === End of file valgrind817 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/8/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-time 'imap://127.0.0.1:36031/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 824: 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/ dir 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/8/valgrind824 ../src/curl -q --output log/8/curl824.out --include --trace-ascii log/8/trace824 --trace-time 'imap://127.0.0.1:36031/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout824 2> log/8/stderr824 === End of file commands.log === Start of file imap_server.log 07:51:50.764412 ====> Client connect 07:51:50.764563 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:50.764887 < "A001 CAPABILITY" 07:51:50.764928 > "A001 BAD Command[CR][LF]" 07:51:50.765668 < "A002 LIST "verifiedserver" *" 07:51:50.765701 LIST_imap got "verifiedserver" * 07:51:50.765728 > "* LIST () "/" "WE ROOLZ: 111388"[CR][LF]" 07:51:50.765744 > "A002 OK LIST Completed[CR][LF]" 07:51:50.765757 return proof we are we 07:51:50.811612 < "A003 LOGOUT" 07:51:50.811672 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:50.811691 > "A003 OK LOGOUT completed[CR][LF]" 07:51:50.813051 MAIN sockfilt said DISC 07:51:50.813095 ====> Client disconnected 07:51:50.813169 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.592233 ====> Client connect 07:51:50.592531 Received DATA (on stdin) 07:51:50.592548 > 178 bytes data, server => client 07:51:50.592561 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:50.592572 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:50.592582 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:50.592591 'rve\r\n' 07:51:50.592675 < 17 bytes data, client => server 07:51:50.592688 'A001 CAPABILITY\r\n' 07:51:50.593408 Received DATA (on stdin) 07:51:50.593426 > 18 bytes data, server => client 07:51:50.593437 'A001 BAD Command\r\n' 07:51:50.593499 < 30 bytes data, client => server 07:51:50.593510 'A002 LIST "verifiedserver" *\r\n' 07:51:50.593700 Received DATA (on stdin) 07:51:50.593711 > 34 bytes data, server => client 07:51:50.593722 '* LIST () "/" "WE ROOLZ: 111388"\r\n' 07:51:50.593742 Received DATA (on stdin) 07:51:50.593752 > 24 bytes data, server => client 07:51:50.593762 'A002 OK LIST Completed\r\n' 07:51CMD (33792): ../libtool --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/valgrind825 ../src/curl -q --output log/16/curl825.out --include --trace-ascii log/16/trace825 --trace-time 'imap://127.0.0.1:33983/825/;MAILINDEX=1' -u user:secret > log/16/stdout825 2> log/16/stderr825 CMD (33792): ../libtool --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/valgrind826 ../src/curl -q --output log/21/curl826.out --include --trace-ascii log/21/trace826 --trace-time 'imap://127.0.0.1:44177/826/;MAILINDEX=1' -u user:secret > log/21/stdout826 2> log/21/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/11/valgrind827 ../src/curl -q --output log/11/curl827.out --include --trace-ascii log/11/trace827 --trace-time 'imap://127.0.0.1:45881/827/;MAILINDEX=1' -u testuser:testpass > log/11/stdout827 2> log/11/stderr827 :50.639312 < 13 bytes data, client => server 07:51:50.639344 'A003 LOGOUT\r\n' 07:51:50.639641 Received DATA (on stdin) 07:51:50.639656 > 36 bytes data, server => client 07:51:50.639668 '* BYE curl IMAP server signing off\r\n' 07:51:50.639695 Received DATA (on stdin) 07:51:50.639706 > 26 bytes data, server => client 07:51:50.639717 'A003 OK LOGOUT completed\r\n' 07:51:50.640930 ====> Client disconnect 07:51:50.641113 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 ==119876== ==119876== Process terminating with default action of signal 4 (SIGILL) ==119876== Illegal opcode at address 0x4013DC0 ==119876== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119876== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119876== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119876== by 0x40037A4: main (tool_main.c:199) === End of file valgrind824 test 0825...[IMAP 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/16/valgrind825 ../src/curl -q --output log/16/curl825.out --include --trace-ascii log/16/trace825 --trace-time 'imap://127.0.0.1:33983/825/;MAILINDEX=1' -u user:secret > log/16/stdout825 2> log/16/stderr825 825: 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/ dir 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/16/valgrind825 ../src/curl -q --output log/16/curl825.out --include --trace-ascii log/16/trace825 --trace-time 'imap://127.0.0.1:33983/825/;MAILINDEX=1' -u user:secret > log/16/stdout825 2> log/16/stderr825 === End of file commands.log === Start of file imap_server.log 07:51:50.815934 ====> Client connect 07:51:50.816096 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:50.816409 < "A001 CAPABILITY" 07:51:50.816453 > "A001 BAD Command[CR][LF]" 07:51:50.816632 < "A002 LIST "verifiedserver" *" 07:51:50.816664 LIST_imap got "verifiedserver" * 07:51:50.816690 > "* LIST () "/" "WE ROOLZ: 118550"[CR][LF]" 07:51:50.816708 > "A002 OK LIST Completed[CR][LF]" 07:51:50.816722 return proof we are we 07:51:50.861617 < "A003 LOGOUT" 07:51:50.861682 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:50.861704 > "A003 OK LOGOUT completed[CR][LF]" 07:51:50.862885 MAIN sockfilt said DISC 07:51:50.862937 ====> Client disconnected 07:51:50.863494 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.643766 ====> Client connect 07:51:50.644054 Received DATA (on stdin) 07:51:50.644071 > 178 bytes data, server => client 07:51:50.644084 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:50.644095 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:50.644105 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:50.644115 'rve\r\n' 07:51:50.644190 < 17 bytes data, client => server 07:51:50.644203 'A001 CAPABILITY\r\n' 07:51:50.644398 Received DATA (on stdin) 07:51:50.644411 > 18 bytes data, server => client 07:51:50.644422 'A001 BAD Command\r\n' 07:51:50.644476 < 30 bytes data, client => server 07:51:50.644489 'A002 LIST "verifiedserver" *\r\n' 07:51:50.644664 Received DATA (on stdin) 07:51:50.644676 > 34 bytes data, server => client 07:51:50.644687 '* LIST () "/" "WE ROOLZ: 118550"\r\n' 07:51:50.644707 Received DATA (on stdin) 07:51:50.644718 > 24 bytes data, server => client 07:51:50.644729 'A002 OK LIST Completed\r\n' 07:51:50.689338 < 13 bytes data, client => server 07:51:50.689377 'A003 LOGOUT\r\n' 07:51:50.689652 Received DATA (on stdin) 07:51:50.689666 > 36 bytes data, server => client 07:51:50.689679 '* BYE curl IMAP server signing off\r\n' 07:51:50.689705 Received DATA (on stdin) 07:51:50.689717 > 26 bytes data, server => client 07:51:50.689729 'A003 OK LOGOUT completed\r\n' 07:51:50.690754 ====> Client disconnect 07:51:50.691347 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 ==119921== ==119921== Process terminating with default action of signal 4 (SIGILL) ==119921== Illegal opcode at address 0x4013DC0 ==119921== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==119921== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119921== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==119921== by 0x40037A4: main (tool_main.c:199) === End of file valgrind825 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/21/valgrind826 ../src/curl -q --output log/21/curl826.out --include --trace-ascii log/21/trace826 --trace-time 'imap://127.0.0.1:44177/826/;MAILINDEX=1' -u user:secret > log/21/stdout826 2> log/21/stderr826 826: 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/ dir 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/21/valgrind826 ../src/curl -q --output log/21/curl826.out --include --trace-ascii log/21/trace826 --trace-time 'imap://127.0.0.1:44177/826/;MAILINDEX=1' -u user:secret > log/21/stdout826 2> log/21/stderr826 === End of file commands.log === Start of file imap_server.log 07:51:50.966786 ====> Client connect 07:51:50.966950 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:50.967271 < "A001 CAPABILITY" 07:51:50.967315 > "A001 BAD Command[CR][LF]" 07:51:50.967502 < "A002 LIST "verifiedserver" *" 07:51:50.967533 LIST_imap got "verifiedserver" * 07:51:50.967559 > "* LIST () "/" "WE ROOLZ: 110096"[CR][LF]" 07:51:50.967578 > "A002 OK LIST Completed[CR][LF]" 07:51:50.967592 return proof we are we 07:51:51.011643 < "A003 LOGOUT" 07:51:51.011723 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.011746 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.013187 MAIN sockfilt said DISC 07:51:51.013224 ====> Client disconnected 07:51:51.013303 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.794613 ====> Client connect 07:51:50.794910 Received DATA (on stdin) 07:51:50.794928 > 178 bytes data, server => client 07:51:50.794942 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:50.794954 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:50.794966 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:50.794976 'rve\r\n' 07:51:50.795056 < 17 bytes data, client => server 07:51:50.795070 'A001 CAPABILITY\r\n' 07:51:50.795263 Received DATA (on stdin) 07:51:50.795277 > 18 bytes data, server => client 07:51:50.795288 'A001 BAD Command\r\n' 07:51:50.795346 < 30 bytes data, client => server 07:51:50.795360 'A002 LIST "verifiedserver" *\r\n' 07:51:50.795535 Received DATA (on stdin) 07:51:50.795548 > 34 bytes data, server => client 07:51:50.795560 '* LIST ()CMD (33792): ../libtool --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/valgrind724 ../src/curl -q --output log/10/curl724.out --include --trace-ascii log/10/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout724 2> log/10/stderr724 "/" "WE ROOLZ: 110096"\r\n' 07:51:50.795582 Received DATA (on stdin) 07:51:50.795593 > 24 bytes data, server => client 07:51:50.795604 'A002 OK LIST Completed\r\n' 07:51:50.839383 < 13 bytes data, client => server 07:51:50.839410 'A003 LOGOUT\r\n' 07:51:50.839969 Received DATA (on stdin) 07:51:50.839989 > 36 bytes data, server => client 07:51:50.840002 '* BYE curl IMAP server signing off\r\n' 07:51:50.840027 Received DATA (on stdin) 07:51:50.840038 > 26 bytes data, server => client 07:51:50.840049 'A003 OK LOGOUT completed\r\n' 07:51:50.841074 ====> Client disconnect 07:51:50.841250 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 ==120046== ==120046== Process terminating with default action of signal 4 (SIGILL) ==120046== Illegal opcode at address 0x4013DC0 ==120046== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120046== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120046== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120046== by 0x40037A4: main (tool_main.c:199) === End of file valgrind826 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/11/valgrind827 ../src/curl -q --output log/11/curl827.out --include --trace-ascii log/11/trace827 --trace-time 'imap://127.0.0.1:45881/827/;MAILINDEX=1' -u testuser:testpass > log/11/stdout827 2> log/11/stderr827 827: 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/ dir 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/11/valgrind827 ../src/curl -q --output log/11/curl827.out --include --trace-ascii log/11/trace827 --trace-time 'imap://127.0.0.1:45881/827/;MAILINDEX=1' -u testuser:testpass > log/11/stdout827 2> log/11/stderr827 === End of file commands.log === Start of file imap_server.log 07:51:51.032344 ====> Client connect 07:51:51.032511 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.032823 < "A001 CAPABILITY" 07:51:51.032870 > "A001 BAD Command[CR][LF]" 07:51:51.033054 < "A002 LIST "verifiedserver" *" 07:51:51.033090 LIST_imap got "verifiedserver" * 07:51:51.033119 > "* LIST () "/" "WE ROOLZ: 118578"[CR][LF]" 07:51:51.033137 > "A002 OK LIST Completed[CR][LF]" 07:51:51.033152 return proof we are we 07:51:51.078488 < "A003 LOGOUT" 07:51:51.078551 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.078573 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.079580 MAIN sockfilt said DISC 07:51:51.079624 ====> Client disconnected 07:51:51.079700 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.860173 ====> Client connect 07:51:50.860468 Received DATA (on stdin) 07:51:50.860483 > 178 bytes data, server => client 07:51:50.860496 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:50.860507 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:50.860517 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:50.860526 'rve\r\n' 07:51:50.860604 < 17 bytes data, client => server 07:51:50.860616 'A001 CAPABILITY\r\n' 07:51:50.860816 Received DATA (on stdin) 07:51:50.860828 > 18 bytes data, server => client 07:51:50.860839 'A001 BAD Command\r\n' 07:51:50.860894 < 30 bytes data, client => server 07:51:50.860906 'A002 LIST "verifiedserver" *\r\n' 07:51:50.861095 Received DATA (on stdin) 07:51:50.861107 > 34 bytes data, server => client 07:51:50.861118 '* LIST () "/" "WE ROOLZ: 118578"\r\n' 07:51:50.861138 Received DATA (on stdin) 07:51:50.861148 > 24 bytes data, server => client 07:51:50.861159 'A002 OK LIST Completed\r\n' 07:51:50.906243 < 13 bytes data, client => server 07:51:50.906269 'A003 LOGOUT\r\n' 07:51:50.906521 Received DATA (on stdin) 07:51:50.906535 > 36 bytes data, server => client 07:51:50.906547 '* BYE curl IMAP server signing off\r\n' 07:51:50.906570 Received DATA (on stdin) 07:51:50.906581 > 26 bytes data, server => client 07:51:50.906592 'A003 OK LOGOUT completed\r\n' 07:51:50.907453 ====> Client disconnect 07:51:50.907649 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 ==120078== ==120078== Process terminating with default action of signal 4 (SIGILL) ==120078== Illegal opcode at address 0x4013DC0 ==120078== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120078== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120078== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120078== by 0x40037A4: main (tool_main.c:199) === End of file valgrind827 setenv HOME = /startdir/src/build-curl/tests/log/10 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/10/valgrind724 ../src/curl -q --output log/10/curl724.out --include --trace-ascii log/10/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout724 2> log/10/stderr724 724: 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/ dir 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/10/valgrind724 ../src/curl -q --output log/10/curl724.out --include --trace-ascii log/10/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout724 2> log/10/stderr724 === End of file commands.log === Start of file http_server.log 07:51:43.800826 ====> Client connect 07:51:43.800858 accept_connection 3 returned 4 07:51:43.800874 accept_connection 3 returned 0 07:51:43.800887 Read 93 bytes 07:51:43.800897 Process 93 bytes request 07:51:43.800908 Got request: GET /verifiedserver HTTP/1.1 07:51:43.800917 Are-we-friendly question received 07:51:43.800938 Wrote request (93 bytes) input to log/10/server.input 07:51:43.800953 Identifying ourselves as friends 07:51:43.801005 Response sent (56 bytes) and written to log/10/server.response 07:51:43.801014 special request received, no persistency 07:51:43.801023 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 35014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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/24/valgrind828 ../src/curl -q --output log/24/curl828.out --include --trace-ascii log/24/trace828 --trace-time 'imap://127.0.0.1:45207/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/24/stdout828 2> log/24/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/13/valgrind829 ../src/curl -q --output log/13/curl829.out --include --trace-ascii log/13/trace829 --trace-time imap://127.0.0.1:37283/%0d%0a/829 > log/13/stdout829 2> log/13/stderr829 nd 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: 74555 === End of file server.response === Start of file valgrind724 ==113589== ==113589== Process terminating with default action of signal 4 (SIGILL) ==113589== Illegal opcode at address 0x4013DC0 ==113589== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==113589== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113589== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==113589== by 0x40037A4: main (tool_main.c:199) === End of file valgrind724 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/24/valgrind828 ../src/curl -q --output log/24/curl828.out --include --trace-ascii log/24/trace828 --trace-time 'imap://127.0.0.1:45207/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/24/stdout828 2> log/24/stderr828 828: 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/ dir 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/24/valgrind828 ../src/curl -q --output log/24/curl828.out --include --trace-ascii log/24/trace828 --trace-time 'imap://127.0.0.1:45207/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/24/stdout828 2> log/24/stderr828 === End of file commands.log === Start of file imap_server.log 07:51:51.064038 ====> Client connect 07:51:51.064209 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.064526 < "A001 CAPABILITY" 07:51:51.064568 > "A001 BAD Command[CR][LF]" 07:51:51.064762 < "A002 LIST "verifiedserver" *" 07:51:51.064792 LIST_imap got "verifiedserver" * 07:51:51.064820 > "* LIST () "/" "WE ROOLZ: 118606"[CR][LF]" 07:51:51.064838 > "A002 OK LIST Completed[CR][LF]" 07:51:51.064852 return proof we are we 07:51:51.108333 < "A003 LOGOUT" 07:51:51.108394 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.108415 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.109245 MAIN sockfilt said DISC 07:51:51.109284 ====> Client disconnected 07:51:51.109355 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.891876 ====> Client connect 07:51:51.892165 Received DATA (on stdin) 07:51:51.892180 > 178 bytes data, server => client 07:51:51.892193 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.892204 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.892214 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.892223 'rve\r\n' 07:51:51.892305 < 17 bytes data, client => server 07:51:51.892318 'A001 CAPABILITY\r\n' 07:51:51.892525 Received DATA (on stdin) 07:51:51.892538 > 18 bytes data, server => client 07:51:51.892548 'A001 BAD Command\r\n' 07:51:51.892606 < 30 bytes data, client => server 07:51:51.892618 'A002 LIST "verifiedserver" *\r\n' 07:51:51.892794 Received DATA (on stdin) 07:51:51.892809 > 34 bytes data, server => client 07:51:51.892820 '* LIST () "/" "WE ROOLZ: 118606"\r\n' 07:51:51.892840 Received DATA (on stdin) 07:51:51.892850 > 24 bytes data, server => client 07:51:51.892860 'A002 OK LIST Completed\r\n' 07:51:51.936090 < 13 bytes data, client => server 07:51:51.936114 'A003 LOGOUT\r\n' 07:51:51.936362 Received DATA (on stdin) 07:51:51.936376 > 36 bytes data, server => client 07:51:51.936387 '* BYE curl IMAP server signing off\r\n' 07:51:51.936409 Received DATA (on stdin) 07:51:51.936419 > 26 bytes data, server => client 07:51:51.936430 'A003 OK LOGOUT completed\r\n' 07:51:51.937122 ====> Client disconnect 07:51:51.937299 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 ==120109== ==120109== Process terminating with default action of signal 4 (SIGILL) ==120109== Illegal opcode at address 0x4013DC0 ==120109== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120109== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120109== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120109== by 0x40037A4: main (tool_main.c:199) === End of file valgrind828 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/13/valgrind829 ../src/curl -q --output log/13/curl829.out --include --trace-ascii log/13/trace829 --trace-time imap://127.0.0.1:37283/%0d%0a/829 > log/13/stdout829 2> log/13/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/13/ dir 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/13/valgrind829 ../src/curl -q --output log/13/curl829.out --include --trace-ascii log/13/trace829 --trace-time imap://127.0.0.1:37283/%0d%0a/829 > log/13/stdout829 2> log/13/stderr829 === End of file commands.log === Start of file imap_server.log 07:51:51.215652 ====> Client connect 07:51:51.215834 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.216172 < "A001 CAPABILITY" 07:51:51.216221 > "A001 BAD Command[CR][LF]" 07:51:51.216404 < "A002 LIST "verifiedserver" *" 07:51:51.216435 LIST_imap got "verifiedserver" * 07:51:51.216461 > "* LIST () "/" "WE ROOLZ: 118612"[CR][LF]" 07:51:51.216478 > "A002 OK LIST Completed[CR][LF]" 07:51:51.216492 return proof we are we 07:51:51.263772 < "A003 LOGOUT" 07:51:51.263833 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.263854 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.271359 MAIN sockfilt said DISC 07:51:51.271417 ====> Client disconnected 07:51:51.271498 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.043450 ====> Client connect 07:51:51.043789 Received DATA (on stdin) 07:51:51.043806 > 178 bytes data, server => client 07:51:51.043818 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.043829 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.043839 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.043849 'rve\r\n' 07:51:51.043932 < 17 bytes data, client => server 07:51:51.043944 'A001 CAPABILITY\r\n' 07:51:51.044166 Received DATA (on stdin) 07:51:51.044179 > 18 bytes data, server => client 07:51:51.044190 'A001 BAD Command\r\n' 07:51:51.044247 < 30 bytes data, client => server 07:51:51.044258 'A002 LIST "verifiedserver" *\r\n' 07:51:51.044434 Received DATA (on stdin) 07:51:51.044446 > 34 bytes data, server => client 07:51:51.044457 '* LIST () "/" "WE ROOLZ: 118612"\r\n' 07:51:51.044476 Received DATA (on stdin) 07:51:51.044486 > 24 bytes data, server => client 07:51:51.044496 'A002 OK LIST Completed\r\n' 07:51:51.090771 < 13 bytes data, client => server 07:51:51.090804 'A003 LOGOUT\r\n' 07:51:51.091813 Received DATA (on stdin) 07:51:51.091829 > 36 bytes data, server => client 07:51:51.091842 '* BYE curl IMAP server signing off\r\n' 07:51:51.091871 Received DATA (on stdin) 07:51:51.091882 > 26 bytes data, server => client 07:51:51.091894 'A003 OK LOGOUT completeCMD (33792): ../libtool --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/valgrind830 ../src/curl -q --output log/20/curl830.out --include --trace-ascii log/20/trace830 --trace-time 'imap://127.0.0.1:46823/830/;MAILINDEX=1' -u user:secret > log/20/stdout830 2> log/20/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/1/valgrind834 ../src/curl -q --output log/1/curl834.out --include --trace-ascii log/1/trace834 --trace-time 'imap://127.0.0.1:43587/834/;MAILINDEX=1' -u user:secret > log/1/stdout834 2> log/1/stderr834 d\r\n' 07:51:51.099210 ====> Client disconnect 07:51:51.099445 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 ==120289== ==120289== Process terminating with default action of signal 4 (SIGILL) ==120289== Illegal opcode at address 0x4013DC0 ==120289== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120289== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120289== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120289== by 0x40037A4: main (tool_main.c:199) === End of file valgrind829 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/20/valgrind830 ../src/curl -q --output log/20/curl830.out --include --trace-ascii log/20/trace830 --trace-time 'imap://127.0.0.1:46823/830/;MAILINDEX=1' -u user:secret > log/20/stdout830 2> log/20/stderr830 830: 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/ dir 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/20/valgrind830 ../src/curl -q --output log/20/curl830.out --include --trace-ascii log/20/trace830 --trace-time 'imap://127.0.0.1:46823/830/;MAILINDEX=1' -u user:secret > log/20/stdout830 2> log/20/stderr830 === End of file commands.log === Start of file imap_server.log 07:51:51.246344 ====> Client connect 07:51:51.246579 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.254789 < "A001 CAPABILITY" 07:51:51.254846 > "A001 BAD Command[CR][LF]" 07:51:51.255094 < "A002 LIST "verifiedserver" *" 07:51:51.255128 LIST_imap got "verifiedserver" * 07:51:51.255157 > "* LIST () "/" "WE ROOLZ: 118613"[CR][LF]" 07:51:51.255175 > "A002 OK LIST Completed[CR][LF]" 07:51:51.255190 return proof we are we 07:51:51.301731 < "A003 LOGOUT" 07:51:51.301789 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.301810 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.316080 MAIN sockfilt said DISC 07:51:51.316130 ====> Client disconnected 07:51:51.316202 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.074160 ====> Client connect 07:51:51.074735 Received DATA (on stdin) 07:51:51.074757 > 178 bytes data, server => client 07:51:51.074771 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.074783 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.074795 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.074806 'rve\r\n' 07:51:51.079517 < 17 bytes data, client => server 07:51:51.079538 'A001 CAPABILITY\r\n' 07:51:51.082799 Received DATA (on stdin) 07:51:51.082817 > 18 bytes data, server => client 07:51:51.082829 'A001 BAD Command\r\n' 07:51:51.082921 < 30 bytes data, client => server 07:51:51.082935 'A002 LIST "verifiedserver" *\r\n' 07:51:51.083153 Received DATA (on stdin) 07:51:51.083167 > 34 bytes data, server => client 07:51:51.083179 '* LIST () "/" "WE ROOLZ: 118613"\r\n' 07:51:51.083200 Received DATA (on stdin) 07:51:51.083211 > 24 bytes data, server => client 07:51:51.083222 'A002 OK LIST Completed\r\n' 07:51:51.129474 < 13 bytes data, client => server 07:51:51.129503 'A003 LOGOUT\r\n' 07:51:51.143034 Received DATA (on stdin) 07:51:51.143065 > 36 bytes data, server => client 07:51:51.143078 '* BYE curl IMAP server signing off\r\n' 07:51:51.143124 Received DATA (on stdin) 07:51:51.143135 > 26 bytes data, server => client 07:51:51.143146 'A003 OK LOGOUT completed\r\n' 07:51:51.143947 ====> Client disconnect 07:51:51.144151 Received ACKD (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 ==120276== ==120276== Process terminating with default action of signal 4 (SIGILL) ==120276== Illegal opcode at address 0x4013DC0 ==120276== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120276== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120276== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120276== by 0x40037A4: main (tool_main.c:199) === End of file valgrind830 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/1/valgrind834 ../src/curl -q --output log/1/curl834.out --include --trace-ascii log/1/trace834 --trace-time 'imap://127.0.0.1:43587/834/;MAILINDEX=1' -u user:secret > log/1/stdout834 2> log/1/stderr834 834: 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/ dir 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/1/valgrind834 ../src/curl -q --output log/1/curl834.out --include --trace-ascii log/1/trace834 --trace-time 'imap://127.0.0.1:43587/834/;MAILINDEX=1' -u user:secret > log/1/stdout834 2> log/1/stderr834 === End of file commands.log === Start of file imap_server.log 07:51:51.404346 ====> Client connect 07:51:51.404530 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.408091 < "A001 CAPABILITY" 07:51:51.408142 > "A001 BAD Command[CR][LF]" 07:51:51.408355 < "A002 LIST "verifiedserver" *" 07:51:51.408389 LIST_imap got "verifiedserver" * 07:51:51.408420 > "* LIST () "/" "WE ROOLZ: 118640"[CR][LF]" 07:51:51.408440 > "A002 OK LIST Completed[CR][LF]" 07:51:51.408455 return proof we are we 07:51:51.454909 < "A003 LOGOUT" 07:51:51.454975 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.455000 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.456164 MAIN sockfilt said DISC 07:51:51.456207 ====> Client disconnected 07:51:51.456292 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.232157 ====> Client connect 07:51:51.232489 Received DATA (on stdin) 07:51:51.232544 > 178 bytes data, server => client 07:51:51.232557 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.232569 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.232580 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.232590 'rve\r\n' 07:51:51.232683 < 17 bytes data, client => server 07:51:51.232697 'A001 CAPABILITY\r\n' 07:51:51.236091 Received DATA (on stdin) 07:51:51.236106 > 18 bytes data, server => client 07:51:51.236118 'A001 BAD Command\r\n' 07:51:51.236189 < 30 bytes data, client => server 07:51:51.236201 'A002 LIST "verifiedserver" *\r\n' 07:51:51.236397 Received DATA (on stdin) 07:51:51.236409 > 34 bytes data, server => client 07:51:51.236421 '* LIST () "/" "WE ROOLZ: 118640"\r\n' 07:51:51.236444 Received DATA (on stdin) 07:51:51.236454 > 24 bytes data, server => client 07:51:51.236465 'A002 OK LIST Completed\r\n' 07:51:51.282631 < 13 bytes data, client => server 07:51:51.282673 'A003 LOGOUT\r\n' 07:51:51.282952 Received DATA (on stdin) 07:51:51.282968 > 36 bytes data, server => client 07:51:51.282982 '* BYE curl IMAP server signing off\r\n' 07:51:51.283010 Received DATA (on stdin) 07:51:51.283022 > 26 bytes 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/2/valgrind822 ../src/curl -q --output log/2/curl822.out --include --trace-ascii log/2/trace822 --trace-time 'imap://127.0.0.1:40709/822/;MAILINDEX=1' -u testuser:testpass > log/2/stdout822 2> log/2/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/17/valgrind831 ../src/curl -q --output log/17/curl831.out --include --trace-ascii log/17/trace831 --trace-time 'imap://127.0.0.1:36269/831/;MAILINDEX=1' -u testuser:testpass > log/17/stdout831 2> log/17/stderr831 server => client 07:51:51.283035 'A003 OK LOGOUT completed\r\n' 07:51:51.284033 ====> Client disconnect 07:51:51.284240 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 ==120401== ==120401== Process terminating with default action of signal 4 (SIGILL) ==120401== Illegal opcode at address 0x4013DC0 ==120401== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120401== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120401== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120401== by 0x40037A4: main (tool_main.c:199) === End of file valgrind834 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 40709 (log/2/server/imap_server.port) RUN: IMAP server is PID 119409 port 40709 * pid imap => 119409 119409 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/2/valgrind822 ../src/curl -q --output log/2/curl822.out --include --trace-ascii log/2/trace822 --trace-time 'imap://127.0.0.1:40709/822/;MAILINDEX=1' -u testuser:testpass > log/2/stdout822 2> log/2/stderr822 822: 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/ dir 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/2/valgrind822 ../src/curl -q --output log/2/curl822.out --include --trace-ascii log/2/trace822 --trace-time 'imap://127.0.0.1:40709/822/;MAILINDEX=1' -u testuser:testpass > log/2/stdout822 2> log/2/stderr822 === End of file commands.log === Start of file imap_server.log 07:51:50.513883 IMAP server listens on port IPv4/40709 07:51:50.513961 logged pid 119409 in log/2/server/imap_server.pid 07:51:50.513986 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:50.341563 Running IPv4 version 07:51:50.341644 Listening on port 40709 07:51:50.341685 Wrote pid 119412 to log/2/server/imap_sockfilt.pid 07:51:50.341716 Wrote port 40709 to log/2/server/imap_server.port 07:51:50.341736 Received PING (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 ==120444== ==120444== Process terminating with default action of signal 4 (SIGILL) ==120444== Illegal opcode at address 0x4013DC0 ==120444== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120444== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120444== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120444== by 0x40037A4: main (tool_main.c:199) === End of file valgrind822 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/17/valgrind831 ../src/curl -q --output log/17/curl831.out --include --trace-ascii log/17/trace831 --trace-time 'imap://127.0.0.1:36269/831/;MAILINDEX=1' -u testuser:testpass > log/17/stdout831 2> log/17/stderr831 831: 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/ dir 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/17/valgrind831 ../src/curl -q --output log/17/curl831.out --include --trace-ascii log/17/trace831 --trace-time 'imap://127.0.0.1:36269/831/;MAILINDEX=1' -u testuser:testpass > log/17/stdout831 2> log/17/stderr831 === End of file commands.log === Start of file imap_server.log 07:51:51.356334 ====> Client connect 07:51:51.356517 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.356863 < "A001 CAPABILITY" 07:51:51.356911 > "A001 BAD Command[CR][LF]" 07:51:51.357108 < "A002 LIST "verifiedserver" *" 07:51:51.357143 LIST_imap got "verifiedserver" * 07:51:51.357172 > "* LIST () "/" "WE ROOLZ: 118623"[CR][LF]" 07:51:51.357192 > "A002 OK LIST Completed[CR][LF]" 07:51:51.357208 return proof we are we 07:51:51.404884 < "A003 LOGOUT" 07:51:51.404941 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.404961 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.406572 MAIN sockfilt said DISC 07:51:51.406608 ====> Client disconnected 07:51:51.406677 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.184145 ====> Client connect 07:51:51.184478 Received DATA (on stdin) 07:51:51.184496 > 178 bytes data, server => client 07:51:51.184510 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.184526 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.184538 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.184548 'rve\r\n' 07:51:51.184636 < 17 bytes data, client => server 07:51:51.184651 'A001 CAPABILITY\r\n' 07:51:51.184857 Received DATA (on stdin) 07:51:51.184871 > 18 bytes data, server => client 07:51:51.184883 'A001 BAD Command\r\n' 07:51:51.184946 < 30 bytes data, client => server 07:51:51.184959 'A002 LIST "verifiedserver" *\r\n' 07:51:51.185152 Received DATA (on stdin) 07:51:51.185166 > 34 bytes data, server => client 07:51:51.185178 '* LIST () "/" "WE ROOLZ: 118623"\r\n' 07:51:51.185202 Received DATA (on stdin) 07:51:51.185214 > 24 bytes data, server => client 07:51:51.185226 'A002 OK LIST Completed\r\n' 07:51:51.232650 < 13 bytes data, client => server 07:51:51.232677 'A003 LOGOUT\r\n' 07:51:51.232907 Received DATA (on stdin) 07:51:51.232920 > 36 bytes data, server => client 07:51:51.232931 '* BYE curl IMAP server signing off\r\n' 07:51:51.232955 Received DATA (on stdin) 07:51:51.232966 > 26 bytes data, server => client 07:51:51.232978 'A003 OK LOGOUT completed\r\n' 07:51:51.233970 ====> Client disconnect 07:51:51.234621 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 ==120411== ==120411== Process terminating with default action of signal 4 (SIGILL) ==120411== Illegal opcode at address 0x4013DC0 ==120411== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120411== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120411== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120411CMD (33792): ../libtool --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/valgrind837 ../src/curl -q --output log/3/curl837.out --include --trace-ascii log/3/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:34027/837/;MAILINDEX=1' > log/3/stdout837 2> log/3/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/7/valgrind833 ../src/curl -q --output log/7/curl833.out --include --trace-ascii log/7/trace833 --trace-time 'imap://127.0.0.1:37375/833/;MAILINDEX=1' -u user:secret > log/7/stdout833 2> log/7/stderr833 == by 0x40037A4: main (tool_main.c:199) === End of file valgrind831 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/3/valgrind837 ../src/curl -q --output log/3/curl837.out --include --trace-ascii log/3/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:34027/837/;MAILINDEX=1' > log/3/stdout837 2> log/3/stderr837 837: 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/ dir 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/3/valgrind837 ../src/curl -q --output log/3/curl837.out --include --trace-ascii log/3/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:34027/837/;MAILINDEX=1' > log/3/stdout837 2> log/3/stderr837 === End of file commands.log === Start of file imap_server.log 07:51:51.431429 ====> Client connect 07:51:51.431615 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.431991 < "A001 CAPABILITY" 07:51:51.432042 > "A001 BAD Command[CR][LF]" 07:51:51.432250 < "A002 LIST "verifiedserver" *" 07:51:51.432285 LIST_imap got "verifiedserver" * 07:51:51.432315 > "* LIST () "/" "WE ROOLZ: 118647"[CR][LF]" 07:51:51.432340 > "A002 OK LIST Completed[CR][LF]" 07:51:51.432356 return proof we are we 07:51:51.478211 < "A003 LOGOUT" 07:51:51.478275 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.478299 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.479440 MAIN sockfilt said DISC 07:51:51.479483 ====> Client disconnected 07:51:51.479561 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.259135 ====> Client connect 07:51:51.259577 Received DATA (on stdin) 07:51:51.259596 > 178 bytes data, server => client 07:51:51.259611 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.259624 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.259636 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.259648 'rve\r\n' 07:51:51.259742 < 17 bytes data, client => server 07:51:51.259758 'A001 CAPABILITY\r\n' 07:51:51.259991 Received DATA (on stdin) 07:51:51.260006 > 18 bytes data, server => client 07:51:51.260018 'A001 BAD Command\r\n' 07:51:51.260082 < 30 bytes data, client => server 07:51:51.260096 'A002 LIST "verifiedserver" *\r\n' 07:51:51.260302 Received DATA (on stdin) 07:51:51.260316 > 34 bytes data, server => client 07:51:51.260328 '* LIST () "/" "WE ROOLZ: 118647"\r\n' 07:51:51.260351 Received DATA (on stdin) 07:51:51.260362 > 24 bytes data, server => client 07:51:51.260374 'A002 OK LIST Completed\r\n' 07:51:51.305958 < 13 bytes data, client => server 07:51:51.305992 'A003 LOGOUT\r\n' 07:51:51.306249 Received DATA (on stdin) 07:51:51.306267 > 36 bytes data, server => client 07:51:51.306279 '* BYE curl IMAP server signing off\r\n' 07:51:51.306305 Received DATA (on stdin) 07:51:51.306316 > 26 bytes data, server => client 07:51:51.306329 'A003 OK LOGOUT completed\r\n' 07:51:51.307311 ====> Client disconnect 07:51:51.307509 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 ==120445== ==120445== Process terminating with default action of signal 4 (SIGILL) ==120445== Illegal opcode at address 0x4013DC0 ==120445== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120445== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120445== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120445== by 0x40037A4: main (tool_main.c:199) === End of file valgrind837 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/7/valgrind833 ../src/curl -q --output log/7/curl833.out --include --trace-ascii log/7/trace833 --trace-time 'imap://127.0.0.1:37375/833/;MAILINDEX=1' -u user:secret > log/7/stdout833 2> log/7/stderr833 833: 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/ dir 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/7/valgrind833 ../src/curl -q --output log/7/curl833.out --include --trace-ascii log/7/trace833 --trace-time 'imap://127.0.0.1:37375/833/;MAILINDEX=1' -u user:secret > log/7/stdout833 2> log/7/stderr833 === End of file commands.log === Start of file imap_server.log 07:51:51.374607 ====> Client connect 07:51:51.374747 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.375073 < "A001 CAPABILITY" 07:51:51.375114 > "A001 BAD Command[CR][LF]" 07:51:51.375300 < "A002 LIST "verifiedserver" *" 07:51:51.375329 LIST_imap got "verifiedserver" * 07:51:51.375354 > "* LIST () "/" "WE ROOLZ: 109783"[CR][LF]" 07:51:51.375373 > "A002 OK LIST Completed[CR][LF]" 07:51:51.375387 return proof we are we 07:51:51.419282 < "A003 LOGOUT" 07:51:51.419344 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.419364 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.424809 MAIN sockfilt said DISC 07:51:51.424862 ====> Client disconnected 07:51:51.424941 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.198336 ====> Client connect 07:51:51.202709 Received DATA (on stdin) 07:51:51.202730 > 178 bytes data, server => client 07:51:51.202743 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.202756 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.202767 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.202777 'rve\r\n' 07:51:51.202863 < 17 bytes data, client => server 07:51:51.202878 'A001 CAPABILITY\r\n' 07:51:51.203060 Received DATA (on stdin) 07:51:51.203074 > 18 bytes data, server => client 07:51:51.203085 'A001 BAD Command\r\n' 07:51:51.203143 < 30 bytes data, client => server 07:51:51.203156 'A002 LIST "verifiedserver" *\r\n' 07:51:51.203332 Received DATA (on stdin) 07:51:51.203345 > 34 bytes data, server => client 07:51:51.203356 '* LIST () "/" "WE ROOLZ: 109783"\r\n' 07:51:51.203378 Received DATA (on stdin) 07:51:51.203391 > 24 bytes data, server => client 07:51:51.203405 'A002 OK LIST Completed\r\n' 07:51:51.247001 < 13 bytes data, client => server 07:51:51.247028 'A003 LOGOUT\r\n' 07:51:51.247314 Received DATA (on stdin) 07:51:51.247329 > 36 bytes data, server => client 07:51:51.247341 '* BYE curl IMAP server signing off\r\n' 07:51:51.247368 Received DATA (on stdin) 07:51:51.247379 > 26 bytes data, server => client 07:51:51.247390 'A003 OK LOGOUT completed\r\n' 07:51:51.248175 ====> Client disconnect 07:51:51.252895 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 ==120446== ==120446== Process terminating with default action of signal 4 (SIGILL) ==120446== Illegal opcode at address 0x401CMD (33792): ../libtool --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/valgrind838 ../src/curl -q --output log/14/curl838.out --include --trace-ascii log/14/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40859/838/;MAILINDEX=1' > log/14/stdout838 2> log/14/stderr838 CMD (33792): ../libtool --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/valgrind842 ../src/curl -q --output log/5/curl842.out --include --trace-ascii log/5/trace842 --trace-time 'imap://127.0.0.1:33443/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout842 2> log/5/stderr842 3DC0 ==120446== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120446== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120446== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120446== by 0x40037A4: main (tool_main.c:199) === End of file valgrind833 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/14/valgrind838 ../src/curl -q --output log/14/curl838.out --include --trace-ascii log/14/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40859/838/;MAILINDEX=1' > log/14/stdout838 2> log/14/stderr838 838: 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/ dir 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/14/valgrind838 ../src/curl -q --output log/14/curl838.out --include --trace-ascii log/14/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:40859/838/;MAILINDEX=1' > log/14/stdout838 2> log/14/stderr838 === End of file commands.log === Start of file imap_server.log 07:51:51.699057 ====> Client connect 07:51:51.699248 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.699599 < "A001 CAPABILITY" 07:51:51.699643 > "A001 BAD Command[CR][LF]" 07:51:51.699831 < "A002 LIST "verifiedserver" *" 07:51:51.699865 LIST_imap got "verifiedserver" * 07:51:51.699892 > "* LIST () "/" "WE ROOLZ: 118712"[CR][LF]" 07:51:51.699912 > "A002 OK LIST Completed[CR][LF]" 07:51:51.699926 return proof we are we 07:51:51.748200 < "A003 LOGOUT" 07:51:51.748254 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.748275 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.749958 MAIN sockfilt said DISC 07:51:51.750004 ====> Client disconnected 07:51:51.750074 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.526865 ====> Client connect 07:51:51.527206 Received DATA (on stdin) 07:51:51.527224 > 178 bytes data, server => client 07:51:51.527238 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.527250 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.527261 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.527270 'rve\r\n' 07:51:51.527354 < 17 bytes data, client => server 07:51:51.527369 'A001 CAPABILITY\r\n' 07:51:51.527590 Received DATA (on stdin) 07:51:51.527603 > 18 bytes data, server => client 07:51:51.527615 'A001 BAD Command\r\n' 07:51:51.527672 < 30 bytes data, client => server 07:51:51.527685 'A002 LIST "verifiedserver" *\r\n' 07:51:51.527868 Received DATA (on stdin) 07:51:51.527881 > 34 bytes data, server => client 07:51:51.527893 '* LIST () "/" "WE ROOLZ: 118712"\r\n' 07:51:51.527914 Received DATA (on stdin) 07:51:51.527925 > 24 bytes data, server => client 07:51:51.527936 'A002 OK LIST Completed\r\n' 07:51:51.575976 < 13 bytes data, client => server 07:51:51.576003 'A003 LOGOUT\r\n' 07:51:51.576221 Received DATA (on stdin) 07:51:51.576234 > 36 bytes data, server => client 07:51:51.576246 '* BYE curl IMAP server signing off\r\n' 07:51:51.576270 Received DATA (on stdin) 07:51:51.576280 > 26 bytes data, server => client 07:51:51.576291 'A003 OK LOGOUT completed\r\n' 07:51:51.577348 ====> Client disconnect 07:51:51.578020 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY = A002 OK AUTHENTICATE completed Testnum 838 === End of file server.cmd === Start of file valgrind838 ==120783== ==120783== Process terminating with default action of signal 4 (SIGILL) ==120783== Illegal opcode at address 0x4013DC0 ==120783== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120783== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120783== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120783== by 0x40037A4: main (tool_main.c:199) === End of file valgrind838 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/5/valgrind842 ../src/curl -q --output log/5/curl842.out --include --trace-ascii log/5/trace842 --trace-time 'imap://127.0.0.1:33443/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout842 2> log/5/stderr842 842: 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/ dir 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/5/valgrind842 ../src/curl -q --output log/5/curl842.out --include --trace-ascii log/5/trace842 --trace-time 'imap://127.0.0.1:33443/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/5/stdout842 2> log/5/stderr842 === End of file commands.log === Start of file imap_server.log 07:51:51.774698 ====> Client connect 07:51:51.781291 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.784946 < "A001 CAPABILITY" 07:51:51.784998 > "A001 BAD Command[CR][LF]" 07:51:51.785214 < "A002 LIST "verifiedserver" *" 07:51:51.785248 LIST_imap got "verifiedserver" * 07:51:51.785280 > "* LIST () "/" "WE ROOLZ: 118715"[CR][LF]" 07:51:51.785300 > "A002 OK LIST Completed[CR][LF]" 07:51:51.785316 return proof we are we 07:51:51.831577 < "A003 LOGOUT" 07:51:51.831637 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.831658 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.832705 MAIN sockfilt said DISC 07:51:51.832745 ====> Client disconnected 07:51:51.832825 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.602528 ====> Client connect 07:51:51.605854 Received DATA (on stdin) 07:51:51.605889 > 178 bytes data, server => client 07:51:51.612520 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.612548 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.612561 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.612571 'rve\r\n' 07:51:51.612691 < 17 bytes data, client => server 07:51:51.612708 'A001 CAPABILITY\r\n' 07:51:51.612949 Received DATA (on stdin) 07:51:51.612965 > 18 bytes data, server => client 07:51:51.612977 'A001 BAD Command\r\n' 07:51:51.613048 < 30 bytes data, client => server 07:51:51.613062 'A002 LIST "verifiedserver" *\r\n' 07:51:51.613262 Received DATA (on stdin) 07:51:51.613275 > 34 bytes data, server => client 07:51:51.613287 '* LIST () "/" "WE ROOLZ: 118715"\r\n' 07:51:51.613311 Received DATA (on stdin) 07:51:51.613322 > 24 bytes data, server => client 07:51:51.613334 'A002 OK LIST Completed\r\n' 07:51:51.659341 < 13 bytes data, client => server 07:51:51.659375 'A003 LOGOUT\r\n' 07:51:51.659606 Received DATA (on stdin) 07:51:51.659621 > 36 bytes data, server => client 07:51:51.659632 '* BYE curl IMAP server signing off\r\n' 07:51:51.659658 Received DATA (on stdin) 07:51:51.659669 > 26 bytes data, server => client 07:51:51.659680 'A003 OK LOGOUT completed\r\n' 07:51:51.660573 ====> Client disconnect 07:51:51.662027 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzM0NDMBYXV0aD1CZWFyZXIgbUZfOS5CMD (33792): ../libtool --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/valgrind841 ../src/curl -q --output log/19/curl841.out --include --trace-ascii log/19/trace841 --trace-time imap://127.0.0.1:37933/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/19/stdout841 2> log/19/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/18/valgrind840 ../src/curl -q --output log/18/curl840.out --include --trace-ascii log/18/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:46263/840/;MAILINDEX=1' > log/18/stdout840 2> log/18/stderr840 CMD (33792): ../libtool --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/valgrind839 ../src/curl -q --output log/9/curl839.out --include --trace-ascii log/9/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42083/839/;MAILINDEX=1' > log/9/stdout839 2> log/9/stderr839 CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==120802== ==120802== Process terminating with default action of signal 4 (SIGILL) ==120802== Illegal opcode at address 0x4013DC0 ==120802== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120802== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120802== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120802== by 0x40037A4: main (tool_main.c:199) === End of file valgrind842 test 0841...[IMAP custom request doesn't 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/19/valgrind841 ../src/curl -q --output log/19/curl841.out --include --trace-ascii log/19/trace841 --trace-time imap://127.0.0.1:37933/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/19/stdout841 2> log/19/stderr841 841: 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/ dir 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/19/valgrind841 ../src/curl -q --output log/19/curl841.out --include --trace-ascii log/19/trace841 --trace-time imap://127.0.0.1:37933/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/19/stdout841 2> log/19/stderr841 === End of file commands.log === Start of file imap_server.log 07:51:51.751639 ====> Client connect 07:51:51.751780 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.752098 < "A001 CAPABILITY" 07:51:51.752139 > "A001 BAD Command[CR][LF]" 07:51:51.752322 < "A002 LIST "verifiedserver" *" 07:51:51.752349 LIST_imap got "verifiedserver" * 07:51:51.752374 > "* LIST () "/" "WE ROOLZ: 118261"[CR][LF]" 07:51:51.752392 > "A002 OK LIST Completed[CR][LF]" 07:51:51.752405 return proof we are we 07:51:51.799302 < "A003 LOGOUT" 07:51:51.799354 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.799372 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.800397 MAIN sockfilt said DISC 07:51:51.800441 ====> Client disconnected 07:51:51.800513 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.579466 ====> Client connect 07:51:51.579738 Received DATA (on stdin) 07:51:51.579755 > 178 bytes data, server => client 07:51:51.579768 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.579780 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.579791 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.579801 'rve\r\n' 07:51:51.579882 < 17 bytes data, client => server 07:51:51.579897 'A001 CAPABILITY\r\n' 07:51:51.580085 Received DATA (on stdin) 07:51:51.580103 > 18 bytes data, server => client 07:51:51.580114 'A001 BAD Command\r\n' 07:51:51.580172 < 30 bytes data, client => server 07:51:51.580185 'A002 LIST "verifiedserver" *\r\n' 07:51:51.580348 Received DATA (on stdin) 07:51:51.580361 > 34 bytes data, server => client 07:51:51.580373 '* LIST () "/" "WE ROOLZ: 118261"\r\n' 07:51:51.580393 Received DATA (on stdin) 07:51:51.580405 > 24 bytes data, server => client 07:51:51.580416 'A002 OK LIST Completed\r\n' 07:51:51.627057 < 13 bytes data, client => server 07:51:51.627084 'A003 LOGOUT\r\n' 07:51:51.627318 Received DATA (on stdin) 07:51:51.627330 > 36 bytes data, server => client 07:51:51.627341 '* BYE curl IMAP server signing off\r\n' 07:51:51.627364 Received DATA (on stdin) 07:51:51.627374 > 26 bytes data, server => client 07:51:51.627384 'A003 OK LOGOUT completed\r\n' 07:51:51.628265 ====> Client disconnect 07:51:51.628468 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 ==120772== ==120772== Process terminating with default action of signal 4 (SIGILL) ==120772== Illegal opcode at address 0x4013DC0 ==120772== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120772== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120772== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120772== by 0x40037A4: main (tool_main.c:199) === End of file valgrind841 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/18/valgrind840 ../src/curl -q --output log/18/curl840.out --include --trace-ascii log/18/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:46263/840/;MAILINDEX=1' > log/18/stdout840 2> log/18/stderr840 840: 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/ dir after test 840 === Start of file commands.log ../libtool --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/valgrind840 ../src/curl -q --output log/18/curl840.out --include --trace-ascii log/18/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:46263/840/;MAILINDEX=1' > log/18/stdout840 2> log/18/stderr840 === End of file commands.log === Start of file imap_server.log 07:51:51.737952 ====> Client connect 07:51:51.738168 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.741624 < "A001 CAPABILITY" 07:51:51.741667 > "A001 BAD Command[CR][LF]" 07:51:51.741851 < "A002 LIST "verifiedserver" *" 07:51:51.741881 LIST_imap got "verifiedserver" * 07:51:51.741906 > "* LIST () "/" "WE ROOLZ: 118713"[CR][LF]" 07:51:51.741925 > "A002 OK LIST Completed[CR][LF]" 07:51:51.741939 return proof we are we 07:51:51.788170 < "A003 LOGOUT" 07:51:51.788227 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.788249 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.789249 MAIN sockfilt said DISC 07:51:51.789288 ====> Client disconnected 07:51:51.789361 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.562531 ====> Client connect 07:51:51.569184 Received DATA (on stdin) 07:51:51.569218 > 178 bytes data, server => client 07:51:51.569232 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.569243 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.569254 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.569264 'rve\r\n' 07:51:51.569388 < 17 bytes data, client => server 07:51:51.569402 'A001 CAPABILITY\r\n' 07:51:51.569614 Received DATA (on stdin) 07:51:51.569628 > 18 bytes data, server => client 07:51:51.569639 'A001 BAD Command\r\n' 07:51:51.569700 < 30 bytes data, client => server 07:51:51.569712 'A002 LIST "verifiedserver" *\r\n' 07:51:51.569882 Received DATA (on stdin) 07:51:51.569894 > 34 bytes data, server => client 07:51:51.569905 '* LIST () "/" "WE ROOLZ: 118713"\r\n' 07:51:51.569926 Received DATA (on stdin) 07:51:51.569936 > 24 bytes data, server => client 07:51:51.569947 'A002 OK LIST Completed\r\n' 07:51:51.615946 < 13 bytes data, client => server 07:51:51.615973 'A003 LOGOUT\r\n' 07:51:51.616195 Received DATA (on stdin) 07:51:51.616209 > 36 bytes data, server => client 07:51:51.616220 '* BYE curl IMAP server signing off\r\n' 07:51:51.616243 Received DATA (on stdin) 07:51:51.616254 > 26 bytes data, server => client 07:51:51.616265 'A003 OK LOGOUT completed\r\n' 07:51:51.617126 ====> Client disconnect 07:51:51.617308 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/22/valgrind843 ../src/curl -q --output log/22/curl843.out --include --trace-ascii log/22/trace843 --trace-time 'imap://127.0.0.1:45485/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout843 2> log/22/stderr843 n) === 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 ==120762== ==120762== Process terminating with default action of signal 4 (SIGILL) ==120762== Illegal opcode at address 0x4013DC0 ==120762== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120762== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120762== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120762== by 0x40037A4: main (tool_main.c:199) === End of file valgrind840 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/9/valgrind839 ../src/curl -q --output log/9/curl839.out --include --trace-ascii log/9/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42083/839/;MAILINDEX=1' > log/9/stdout839 2> log/9/stderr839 839: 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/ dir 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/valgrind.supp --num-callers=16 --log-file=log/9/valgrind839 ../src/curl -q --output log/9/curl839.out --include --trace-ascii log/9/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42083/839/;MAILINDEX=1' > log/9/stdout839 2> log/9/stderr839 === End of file commands.log === Start of file imap_server.log 07:51:51.712331 ====> Client connect 07:51:51.712508 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.712825 < "A001 CAPABILITY" 07:51:51.712866 > "A001 BAD Command[CR][LF]" 07:51:51.713039 < "A002 LIST "verifiedserver" *" 07:51:51.713070 LIST_imap got "verifiedserver" * 07:51:51.713096 > "* LIST () "/" "WE ROOLZ: 118710"[CR][LF]" 07:51:51.713116 > "A002 OK LIST Completed[CR][LF]" 07:51:51.713129 return proof we are we 07:51:51.761446 < "A003 LOGOUT" 07:51:51.761506 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.761525 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.762512 MAIN sockfilt said DISC 07:51:51.762553 ====> Client disconnected 07:51:51.762631 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.540162 ====> Client connect 07:51:51.540464 Received DATA (on stdin) 07:51:51.540480 > 178 bytes data, server => client 07:51:51.540492 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.540508 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.540519 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.540529 'rve\r\n' 07:51:51.540609 < 17 bytes data, client => server 07:51:51.540622 'A001 CAPABILITY\r\n' 07:51:51.540809 Received DATA (on stdin) 07:51:51.540821 > 18 bytes data, server => client 07:51:51.540832 'A001 BAD Command\r\n' 07:51:51.540884 < 30 bytes data, client => server 07:51:51.540896 'A002 LIST "verifiedserver" *\r\n' 07:51:51.541071 Received DATA (on stdin) 07:51:51.541082 > 34 bytes data, server => client 07:51:51.541094 '* LIST () "/" "WE ROOLZ: 118710"\r\n' 07:51:51.541114 Received DATA (on stdin) 07:51:51.541125 > 24 bytes data, server => client 07:51:51.541135 'A002 OK LIST Completed\r\n' 07:51:51.589200 < 13 bytes data, client => server 07:51:51.589229 'A003 LOGOUT\r\n' 07:51:51.589472 Received DATA (on stdin) 07:51:51.589486 > 36 bytes data, server => client 07:51:51.589498 '* BYE curl IMAP server signing off\r\n' 07:51:51.589526 Received DATA (on stdin) 07:51:51.589536 > 26 bytes data, server => client 07:51:51.589547 'A003 OK LOGOUT completed\r\n' 07:51:51.590388 ====> Client disconnect 07:51:51.590575 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 ==120752== ==120752== Process terminating with default action of signal 4 (SIGILL) ==120752== Illegal opcode at address 0x4013DC0 ==120752== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==120752== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120752== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==120752== by 0x40037A4: main (tool_main.c:199) === End of file valgrind839 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/22/valgrind843 ../src/curl -q --output log/22/curl843.out --include --trace-ascii log/22/trace843 --trace-time 'imap://127.0.0.1:45485/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout843 2> log/22/stderr843 843: 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/ dir 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/22/valgrind843 ../src/curl -q --output log/22/curl843.out --include --trace-ascii log/22/trace843 --trace-time 'imap://127.0.0.1:45485/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout843 2> log/22/stderr843 === End of file commands.log === Start of file imap_server.log 07:51:51.941709 ====> Client connect 07:51:51.941898 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.942260 < "A001 CAPABILITY" 07:51:51.942307 > "A001 BAD Command[CR][LF]" 07:51:51.942886 < "A002 LIST "verifiedserver" *" 07:51:51.942926 LIST_imap got "verifiedserver" * 07:51:51.942957 > "* LIST () "/" "WE ROOLZ: 118778"[CR][LF]" 07:51:51.942978 > "A002 OK LIST Completed[CR][LF]" 07:51:51.942993 return proof we are we 07:51:51.989987 < "A003 LOGOUT" 07:51:51.990045 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:51.990064 > "A003 OK LOGOUT completed[CR][LF]" 07:51:51.991164 MAIN sockfilt said DISC 07:51:51.991208 ====> Client disconnected 07:51:51.991975 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.769537 ====> Client connect 07:51:51.769861 Received DATA (on stdin) 07:51:51.769880 > 178 bytes data, server => client 07:51:51.769895 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.769911 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.769923 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.769935 'rve\r\n' 07:51:51.770023 < 17 bytes data, client => server 07:51:51.770037 'A001 CAPABILITY\r\n' 07:51:51.770602 Received DATA (on stdin) 07:51:51.770622 > 18 bytes data, server => client 07:51:51.770635 'A001 BAD Command\r\n' 07:51:51.770705 < 30 bytes data, client => server 07:51:51.770719 'A002 LIST "verifiedserver" *\r\n' 07:51:51.770937 Received DATA (on stdin) 07:51:51.770951 > 34 bytes data, server => client 07:51:51.770964 '* LIST () "/" "WE ROOLZ: 118778"\r\n' 07:51:51.770987 Received DATA (on stdin) 07:51:51.770999 > 24 bytes data, server => client 07:51:51.771010 'A002 OK LIST Completed\r\n' 07:51:51.817727 < 13 bytes data, client => server 07:51:51.817760 'A003 LOGOUT\r\n' 07:51:51.818011 Received DATA (on stdin) 07:51:51.818024 > 36 bytes data, server => client 07:51:51.818036 '* BYE curl IMAP server signing off\r\n' 07:51:51.818063 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/23/valgrind844 ../src/curl -q --output log/23/curl844.out --include --trace-ascii log/23/trace844 --trace-time 'imap://127.0.0.1:39993/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout844 2> log/23/stderr844 CMD (33792): ../libtool --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/valgrind845 ../src/curl -q --output log/4/curl845.out --include --trace-ascii log/4/trace845 --trace-time 'imap://127.0.0.1:43341/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout845 2> log/4/stderr845 d DATA (on stdin) 07:51:51.818074 > 26 bytes data, server => client 07:51:51.818085 'A003 OK LOGOUT completed\r\n' 07:51:51.819039 ====> Client disconnect 07:51:51.819800 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 ==121053== ==121053== Process terminating with default action of signal 4 (SIGILL) ==121053== Illegal opcode at address 0x4013DC0 ==121053== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121053== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121053== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121053== by 0x40037A4: main (tool_main.c:199) === End of file valgrind843 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/23/valgrind844 ../src/curl -q --output log/23/curl844.out --include --trace-ascii log/23/trace844 --trace-time 'imap://127.0.0.1:39993/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout844 2> log/23/stderr844 844: 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/ dir after test 844 === Start of file commands.log ../libtool --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/valgrind844 ../src/curl -q --output log/23/curl844.out --include --trace-ascii log/23/trace844 --trace-time 'imap://127.0.0.1:39993/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout844 2> log/23/stderr844 === End of file commands.log === Start of file imap_server.log 07:51:51.981372 ====> Client connect 07:51:51.981545 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.982971 < "A001 CAPABILITY" 07:51:51.983007 > "A001 BAD Command[CR][LF]" 07:51:51.983174 < "A002 LIST "verifiedserver" *" 07:51:51.983205 LIST_imap got "verifiedserver" * 07:51:51.983229 > "* LIST () "/" "WE ROOLZ: 118776"[CR][LF]" 07:51:51.983247 > "A002 OK LIST Completed[CR][LF]" 07:51:51.983261 return proof we are we 07:51:52.030312 < "A003 LOGOUT" 07:51:52.030363 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:52.030384 > "A003 OK LOGOUT completed[CR][LF]" 07:51:52.031853 MAIN sockfilt said DISC 07:51:52.031894 ====> Client disconnected 07:51:52.031955 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.809199 ====> Client connect 07:51:51.809500 Received DATA (on stdin) 07:51:51.809515 > 178 bytes data, server => client 07:51:51.809528 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.809540 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.809556 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.809566 'rve\r\n' 07:51:51.810743 < 17 bytes data, client => server 07:51:51.810763 'A001 CAPABILITY\r\n' 07:51:51.810952 Received DATA (on stdin) 07:51:51.810964 > 18 bytes data, server => client 07:51:51.810975 'A001 BAD Command\r\n' 07:51:51.811028 < 30 bytes data, client => server 07:51:51.811040 'A002 LIST "verifiedserver" *\r\n' 07:51:51.811201 Received DATA (on stdin) 07:51:51.811213 > 34 bytes data, server => client 07:51:51.811224 '* LIST () "/" "WE ROOLZ: 118776"\r\n' 07:51:51.811243 Received DATA (on stdin) 07:51:51.811253 > 24 bytes data, server => client 07:51:51.811264 'A002 OK LIST Completed\r\n' 07:51:51.857126 < 13 bytes data, client => server 07:51:51.857146 'A003 LOGOUT\r\n' 07:51:51.858335 Received DATA (on stdin) 07:51:51.858352 > 36 bytes data, server => client 07:51:51.858364 '* BYE curl IMAP server signing off\r\n' 07:51:51.858387 Received DATA (on stdin) 07:51:51.858397 > 26 bytes data, server => client 07:51:51.858407 'A003 OK LOGOUT completed\r\n' 07:51:51.859727 ====> Client disconnect 07:51:51.859899 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzk5OTMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==121125== ==121125== Process terminating with default action of signal 4 (SIGILL) ==121125== Illegal opcode at address 0x4013DC0 ==121125== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121125== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121125== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121125== by 0x40037A4: main (tool_main.c:199) === End of file valgrind844 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/4/valgrind845 ../src/curl -q --output log/4/curl845.out --include --trace-ascii log/4/trace845 --trace-time 'imap://127.0.0.1:43341/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout845 2> log/4/stderr845 845: 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/ dir 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/4/valgrind845 ../src/curl -q --output log/4/curl845.out --include --trace-ascii log/4/trace845 --trace-time 'imap://127.0.0.1:43341/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout845 2> log/4/stderr845 === End of file commands.log === Start of file imap_server.log 07:51:51.995641 ====> Client connect 07:51:51.995786 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:51.996064 < "A001 CAPABILITY" 07:51:51.996103 > "A001 BAD Command[CR][LF]" 07:51:52.001680 < "A002 LIST "verifiedserver" *" 07:51:52.001724 LIST_imap got "verifiedserver" * 07:51:52.001757 > "* LIST () "/" "WE ROOLZ: 118777"[CR][LF]" 07:51:52.001775 > "A002 OK LIST Completed[CR][LF]" 07:51:52.001788 return proof we are we 07:51:52.052009 < "A003 LOGOUT" 07:51:52.052082 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:52.052103 > "A003 OK LOGOUT completed[CR][LF]" 07:51:52.053127 MAIN sockfilt said DISC 07:51:52.053156 ====> Client disconnected 07:51:52.053227 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.823481 ====> Client connect 07:51:51.823738 Received DATA (on stdin) 07:51:51.823752 > 178 bytes data, server => client 07:51:51.823764 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.823774 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.823783 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.823792 'rve\r\n' 07:51:51.823859 < 17 bytes data, client => server 07:51:51.823871 'A001 CAPABILITY\r\n' 07:51:51.824046 Received DATA (on stdin) 07:51:51.824057 > 18 bytes data, server => client 07:51:51.824066 'A001 BAD Command\r\n' 07:51:51.824114 < 30 bytes data, client => server 07:51:51.824124 'A002 LIST "verifiedserver" *\r\n' 07:51:51.830185 Received DATA (on stdin) 07:51:51.830206 > 34 bytes data, server => client 07:51:51.830217 '* LIST () "/" "WE ROOLZ: 118777"\r\n' 07:51:51.830245 Received DATA (on stdin) 07:51:51.830254 > CMD (33792): ../libtool --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/valgrind846 ../src/curl -q --output log/12/curl846.out --include --trace-ascii log/12/trace846 --trace-time 'imap://127.0.0.1:46113/846/;MAILINDEX=1' -u notused:still-provided > log/12/stdout846 2> log/12/stderr846 CMD (33792): ../libtool --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/valgrind847 ../src/curl -q --output log/8/curl847.out --include --trace-ascii log/8/trace847 --trace-time 'imap://127.0.0.1:36031/847/;UID=1' -u '"user:sec"ret{' > log/8/stdout847 2> log/8/stderr847 24 bytes data, server => client 07:51:51.830264 'A002 OK LIST Completed\r\n' 07:51:51.879740 < 13 bytes data, client => server 07:51:51.879765 'A003 LOGOUT\r\n' 07:51:51.880048 Received DATA (on stdin) 07:51:51.880061 > 36 bytes data, server => client 07:51:51.880073 '* BYE curl IMAP server signing off\r\n' 07:51:51.880101 Received DATA (on stdin) 07:51:51.880113 > 26 bytes data, server => client 07:51:51.880124 'A003 OK LOGOUT completed\r\n' 07:51:51.881010 ====> Client disconnect 07:51:51.881170 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 ==121109== ==121109== Process terminating with default action of signal 4 (SIGILL) ==121109== Illegal opcode at address 0x4013DC0 ==121109== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121109== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121109== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121109== by 0x40037A4: main (tool_main.c:199) === End of file valgrind845 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/12/valgrind846 ../src/curl -q --output log/12/curl846.out --include --trace-ascii log/12/trace846 --trace-time 'imap://127.0.0.1:46113/846/;MAILINDEX=1' -u notused:still-provided > log/12/stdout846 2> log/12/stderr846 846: 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/ dir 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/12/valgrind846 ../src/curl -q --output log/12/curl846.out --include --trace-ascii log/12/trace846 --trace-time 'imap://127.0.0.1:46113/846/;MAILINDEX=1' -u notused:still-provided > log/12/stdout846 2> log/12/stderr846 === End of file commands.log === Start of file imap_server.log 07:51:52.029261 ====> Client connect 07:51:52.029438 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:52.029762 < "A001 CAPABILITY" 07:51:52.029806 > "A001 BAD Command[CR][LF]" 07:51:52.029991 < "A002 LIST "verifiedserver" *" 07:51:52.030026 LIST_imap got "verifiedserver" * 07:51:52.030053 > "* LIST () "/" "WE ROOLZ: 118779"[CR][LF]" 07:51:52.030070 > "A002 OK LIST Completed[CR][LF]" 07:51:52.030085 return proof we are we 07:51:52.081380 < "A003 LOGOUT" 07:51:52.081442 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:52.081462 > "A003 OK LOGOUT completed[CR][LF]" 07:51:52.088310 MAIN sockfilt said DISC 07:51:52.088359 ====> Client disconnected 07:51:52.088425 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.857030 ====> Client connect 07:51:51.857399 Received DATA (on stdin) 07:51:51.857416 > 178 bytes data, server => client 07:51:51.857428 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.857439 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.857449 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.857458 'rve\r\n' 07:51:51.857531 < 17 bytes data, client => server 07:51:51.857544 'A001 CAPABILITY\r\n' 07:51:51.857751 Received DATA (on stdin) 07:51:51.857765 > 18 bytes data, server => client 07:51:51.857776 'A001 BAD Command\r\n' 07:51:51.857832 < 30 bytes data, client => server 07:51:51.857843 'A002 LIST "verifiedserver" *\r\n' 07:51:51.858027 Received DATA (on stdin) 07:51:51.858039 > 34 bytes data, server => client 07:51:51.858050 '* LIST () "/" "WE ROOLZ: 118779"\r\n' 07:51:51.858071 Received DATA (on stdin) 07:51:51.858081 > 24 bytes data, server => client 07:51:51.858092 'A002 OK LIST Completed\r\n' 07:51:51.905864 < 13 bytes data, client => server 07:51:51.905894 'A003 LOGOUT\r\n' 07:51:51.909414 Received DATA (on stdin) 07:51:51.909432 > 36 bytes data, server => client 07:51:51.909443 '* BYE curl IMAP server signing off\r\n' 07:51:51.909472 Received DATA (on stdin) 07:51:51.909482 > 26 bytes data, server => client 07:51:51.909493 'A003 OK LOGOUT completed\r\n' 07:51:51.915891 ====> Client disconnect 07:51:51.916371 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 ==121122== ==121122== Process terminating with default action of signal 4 (SIGILL) ==121122== Illegal opcode at address 0x4013DC0 ==121122== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121122== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121122== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121122== by 0x40037A4: main (tool_main.c:199) === End of file valgrind846 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/8/valgrind847 ../src/curl -q --output log/8/curl847.out --include --trace-ascii log/8/trace847 --trace-time 'imap://127.0.0.1:36031/847/;UID=1' -u '"user:sec"ret{' > log/8/stdout847 2> log/8/stderr847 847: 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/ dir 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/8/valgrind847 ../src/curl -q --output log/8/curl847.out --include --trace-ascii log/8/trace847 --trace-time 'imap://127.0.0.1:36031/847/;UID=1' -u '"user:sec"ret{' > log/8/stdout847 2> log/8/stderr847 === End of file commands.log === Start of file imap_server.log 07:51:52.104716 ====> Client connect 07:51:52.104864 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:52.108360 < "A001 CAPABILITY" 07:51:52.108409 > "A001 BAD Command[CR][LF]" 07:51:52.108600 < "A002 LIST "verifiedserver" *" 07:51:52.108629 LIST_imap got "verifiedserver" * 07:51:52.108655 > "* LIST () "/" "WE ROOLZ: 111388"[CR][LF]" 07:51:52.108673 > "A002 OK LIST Completed[CR][LF]" 07:51:52.108687 return proof we are we 07:51:52.154930 < "A003 LOGOUT" 07:51:52.154992 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:52.155011 > "A003 OK LOGOUT completed[CR][LF]" 07:51:52.156425 MAIN sockfilt said DISC 07:51:52.156471 ====> Client disconnected 07:51:52.156540 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:51.932529 ====> Client connect 07:51:51.932822 Received DATA (on stdin) 07:51:51.932839 > 178 bytes data, server => client 07:51:51.932851 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:51.932863 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:51.932874 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:51.932883 'rve\r\n' 07:51:51.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/16/valgrind848 ../src/curl -q --output log/16/curl848.out --include --trace-ascii log/16/trace848 --trace-time 'imap://127.0.0.1:33983/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/16/stdout848 2> log/16/stderr848 CMD (33792): ../libtool --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/valgrind849 ../src/curl -q --output log/21/curl849.out --include --trace-ascii log/21/trace849 --trace-time 'imap://127.0.0.1:44177/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/21/stdout849 2> log/21/stderr849 6109 < 17 bytes data, client => server 07:51:51.936135 'A001 CAPABILITY\r\n' 07:51:51.936358 Received DATA (on stdin) 07:51:51.936372 > 18 bytes data, server => client 07:51:51.936384 'A001 BAD Command\r\n' 07:51:51.936444 < 30 bytes data, client => server 07:51:51.936457 'A002 LIST "verifiedserver" *\r\n' 07:51:51.936630 Received DATA (on stdin) 07:51:51.936643 > 34 bytes data, server => client 07:51:51.936655 '* LIST () "/" "WE ROOLZ: 111388"\r\n' 07:51:51.936677 Received DATA (on stdin) 07:51:51.936688 > 24 bytes data, server => client 07:51:51.936699 'A002 OK LIST Completed\r\n' 07:51:51.982640 < 13 bytes data, client => server 07:51:51.982677 'A003 LOGOUT\r\n' 07:51:51.982959 Received DATA (on stdin) 07:51:51.982973 > 36 bytes data, server => client 07:51:51.982984 '* BYE curl IMAP server signing off\r\n' 07:51:51.983009 Received DATA (on stdin) 07:51:51.983019 > 26 bytes data, server => client 07:51:51.983030 'A003 OK LOGOUT completed\r\n' 07:51:51.983894 ====> Client disconnect 07:51:51.984484 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 ==121259== ==121259== Process terminating with default action of signal 4 (SIGILL) ==121259== Illegal opcode at address 0x4013DC0 ==121259== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121259== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121259== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121259== by 0x40037A4: main (tool_main.c:199) === 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/16/valgrind848 ../src/curl -q --output log/16/curl848.out --include --trace-ascii log/16/trace848 --trace-time 'imap://127.0.0.1:33983/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/16/stdout848 2> log/16/stderr848 848: 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/ dir 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/16/valgrind848 ../src/curl -q --output log/16/curl848.out --include --trace-ascii log/16/trace848 --trace-time 'imap://127.0.0.1:33983/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/16/stdout848 2> log/16/stderr848 === End of file commands.log === Start of file imap_server.log 07:51:52.254729 ====> Client connect 07:51:52.254922 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:52.255281 < "A001 CAPABILITY" 07:51:52.255324 > "A001 BAD Command[CR][LF]" 07:51:52.255515 < "A002 LIST "verifiedserver" *" 07:51:52.255544 LIST_imap got "verifiedserver" * 07:51:52.255571 > "* LIST () "/" "WE ROOLZ: 118550"[CR][LF]" 07:51:52.255587 > "A002 OK LIST Completed[CR][LF]" 07:51:52.255601 return proof we are we 07:51:52.304895 < "A003 LOGOUT" 07:51:52.304950 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:52.304968 > "A003 OK LOGOUT completed[CR][LF]" 07:51:52.306088 MAIN sockfilt said DISC 07:51:52.306131 ====> Client disconnected 07:51:52.306206 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:52.082535 ====> Client connect 07:51:52.082872 Received DATA (on stdin) 07:51:52.082889 > 178 bytes data, server => client 07:51:52.082902 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:52.082913 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:52.082924 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:52.082934 'rve\r\n' 07:51:52.083047 < 17 bytes data, client => server 07:51:52.083061 'A001 CAPABILITY\r\n' 07:51:52.083270 Received DATA (on stdin) 07:51:52.083283 > 18 bytes data, server => client 07:51:52.083294 'A001 BAD Command\r\n' 07:51:52.083358 < 30 bytes data, client => server 07:51:52.083371 'A002 LIST "verifiedserver" *\r\n' 07:51:52.083542 Received DATA (on stdin) 07:51:52.083553 > 34 bytes data, server => client 07:51:52.083564 '* LIST () "/" "WE ROOLZ: 118550"\r\n' 07:51:52.083585 Received DATA (on stdin) 07:51:52.083595 > 24 bytes data, server => client 07:51:52.083605 'A002 OK LIST Completed\r\n' 07:51:52.132635 < 13 bytes data, client => server 07:51:52.132664 'A003 LOGOUT\r\n' 07:51:52.132916 Received DATA (on stdin) 07:51:52.132930 > 36 bytes data, server => client 07:51:52.132941 '* BYE curl IMAP server signing off\r\n' 07:51:52.132966 Received DATA (on stdin) 07:51:52.132977 > 26 bytes data, server => client 07:51:52.132988 'A003 OK LOGOUT completed\r\n' 07:51:52.133971 ====> Client disconnect 07:51:52.134154 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 ==121337== ==121337== Process terminating with default action of signal 4 (SIGILL) ==121337== Illegal opcode at address 0x4013DC0 ==121337== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121337== by 0x40037A4: main (tool_main.c:199) === End of file valgrind848 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/21/valgrind849 ../src/curl -q --output log/21/curl849.out --include --trace-ascii log/21/trace849 --trace-time 'imap://127.0.0.1:44177/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/21/stdout849 2> log/21/stderr849 849: 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/ dir 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/21/valgrind849 ../src/curl -q --output log/21/curl849.out --include --trace-ascii log/21/trace849 --trace-time 'imap://127.0.0.1:44177/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/21/stdout849 2> log/21/stderr849 === End of file commands.log === Start of file imap_server.log 07:51:52.373365 ====> Client connect 07:51:52.373508 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:52.373839 < "A001 CAPABILITY" 07:51:52.373886 > "A001 BAD Command[CR][LF]" 07:51:52.374105 < "A002 LIST "verifiedserver" *" 07:51:52.374139 LIST_imap got "verifiedserver" * 07:51:52.374171 > "* LIST () "/" "WE ROOLZ: 110096"[CR][LF]" 07:51:52.374192 > "A002 OK LIST Completed[CR][LF]" 07:51:52.374206 return proof we are we 07:51:52.420259 < "A003 LOGOUT" 07:51:52.420313 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:52.420332 > "A003 OK LOGOUT completed[CR][LF]" 07:51:52.424603 MAIN sockfilt said DISC 07:51:52.424646 ====> Client disconnected 07:51:52.424728 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:52.201185 ====> Client connect 07:51:52.201471 Received DATA (on stdin) 07:51:52.201491 > 178 bytes data, server => client 07:51:52.201505 ' _ _ ____ _ \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/11/valgrind850 ../src/curl -q --output log/11/curl850.out --include --trace-ascii log/11/trace850 --trace-time pop3://127.0.0.1:41225/850 -u user:secret > log/11/stdout850 2> log/11/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/6/valgrind740 ../src/curl -q --output log/6/curl740.out --include --trace-ascii log/6/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout740 2> log/6/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/24/valgrind852 ../src/curl -q --output log/24/curl852.out --include --trace-ascii log/24/trace852 --trace-time pop3://127.0.0.1:38919/852 -l -u user:secret > log/24/stdout852 2> log/24/stderr852 | _ \| | \r\n ' 07:51:52.201518 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:52.201530 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:52.201541 'rve\r\n' 07:51:52.201622 < 17 bytes data, client => server 07:51:52.201639 'A001 CAPABILITY\r\n' 07:51:52.201836 Received DATA (on stdin) 07:51:52.201851 > 18 bytes data, server => client 07:51:52.201864 'A001 BAD Command\r\n' 07:51:52.201931 < 30 bytes data, client => server 07:51:52.201948 'A002 LIST "verifiedserver" *\r\n' 07:51:52.202151 Received DATA (on stdin) 07:51:52.202166 > 34 bytes data, server => client 07:51:52.202179 '* LIST () "/" "WE ROOLZ: 110096"\r\n' 07:51:52.202202 Received DATA (on stdin) 07:51:52.202216 > 24 bytes data, server => client 07:51:52.202228 'A002 OK LIST Completed\r\n' 07:51:52.248027 < 13 bytes data, client => server 07:51:52.248057 'A003 LOGOUT\r\n' 07:51:52.248276 Received DATA (on stdin) 07:51:52.248289 > 36 bytes data, server => client 07:51:52.248301 '* BYE curl IMAP server signing off\r\n' 07:51:52.248323 Received DATA (on stdin) 07:51:52.248334 > 26 bytes data, server => client 07:51:52.248345 'A003 OK LOGOUT completed\r\n' 07:51:52.249267 ====> Client disconnect 07:51:52.252681 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 ==121409== ==121409== Process terminating with default action of signal 4 (SIGILL) ==121409== Illegal opcode at address 0x4013DC0 ==121409== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121409== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121409== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121409== by 0x40037A4: main (tool_main.c:199) === End of file valgrind849 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 41225 (log/11/server/pop3_server.port) RUN: POP3 server is PID 121318 port 41225 * pid pop3 => 121318 121318 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/11/valgrind850 ../src/curl -q --output log/11/curl850.out --include --trace-ascii log/11/trace850 --trace-time pop3://127.0.0.1:41225/850 -u user:secret > log/11/stdout850 2> log/11/stderr850 850: 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/ dir 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/11/valgrind850 ../src/curl -q --output log/11/curl850.out --include --trace-ascii log/11/trace850 --trace-time pop3://127.0.0.1:41225/850 -u user:secret > log/11/stdout850 2> log/11/stderr850 === End of file commands.log === Start of file pop3_server.log 07:51:52.352530 POP3 server listens on port IPv4/41225 07:51:52.352616 logged pid 121318 in log/11/server/pop3_server.pid 07:51:52.352643 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.180050 Running IPv4 version 07:51:52.180143 Listening on port 41225 07:51:52.180181 Wrote pid 121357 to log/11/server/pop3_sockfilt.pid 07:51:52.180210 Wrote port 41225 to log/11/server/pop3_server.port 07:51:52.180380 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 ==121555== ==121555== Process terminating with default action of signal 4 (SIGILL) ==121555== Illegal opcode at address 0x4013DC0 ==121555== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121555== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121555== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121555== by 0x40037A4: main (tool_main.c:199) === End of file valgrind850 setenv HOME = /startdir/src/build-curl/tests/log/6 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/6/valgrind740 ../src/curl -q --output log/6/curl740.out --include --trace-ascii log/6/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout740 2> log/6/stderr740 740: 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/ dir 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/6/valgrind740 ../src/curl -q --output log/6/curl740.out --include --trace-ascii log/6/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout740 2> log/6/stderr740 === End of file commands.log === Start of file http_server.log 07:51:45.520985 ====> Client connect 07:51:45.521018 accept_connection 3 returned 4 07:51:45.521033 accept_connection 3 returned 0 07:51:45.521047 Read 93 bytes 07:51:45.521057 Process 93 bytes request 07:51:45.521068 Got request: GET /verifiedserver HTTP/1.1 07:51:45.521078 Are-we-friendly question received 07:51:45.521109 Wrote request (93 bytes) input to log/6/server.input 07:51:45.521124 Identifying ourselves as friends 07:51:45.521173 Response sent (56 bytes) and written to log/6/server.response 07:51:45.521182 special request received, no persistency 07:51:45.521191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 53052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind740 ==115313== ==115313== Process terminating with default action of signal 4 (SIGILL) ==115313== Illegal opcode at address 0x4013DC0 ==115313== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115313== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115313== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115313== by 0x40037A4: main (tool_main.c:199) === End of file valgrind740 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 38919 (log/24/server/pop3_server.port) RUN: POP3 server is PID 121382 port 38919 * pid pop3 => 121382 121382 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/24/valgrind852 ../src/curl -q --output log/24/curl852.out --include --trace-ascii 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/10/valgrind851 ../src/curl -q --output log/10/curl851.out --include --trace-ascii log/10/trace851 --trace-time pop3://127.0.0.1:35537/851 -l -u user:secret > log/10/stdout851 2> log/10/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/valgrind872 ../src/curl -q --output log/21/curl872.out --include --trace-ascii log/21/trace872 --trace-time pop3://127.0.0.1:45325/872 -u user:secret --sasl-ir > log/21/stdout872 2> log/21/stderr872 g/24/trace852 --trace-time pop3://127.0.0.1:38919/852 -l -u user:secret > log/24/stdout852 2> log/24/stderr852 852: 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/ dir 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/24/valgrind852 ../src/curl -q --output log/24/curl852.out --include --trace-ascii log/24/trace852 --trace-time pop3://127.0.0.1:38919/852 -l -u user:secret > log/24/stdout852 2> log/24/stderr852 === End of file commands.log === Start of file pop3_server.log 07:51:52.431491 POP3 server listens on port IPv4/38919 07:51:52.431585 logged pid 121382 in log/24/server/pop3_server.pid 07:51:52.431616 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.253562 Running IPv4 version 07:51:52.253635 Listening on port 38919 07:51:52.253679 Wrote pid 121400 to log/24/server/pop3_sockfilt.pid 07:51:52.253710 Wrote port 38919 to log/24/server/pop3_server.port 07:51:52.259320 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 ==121649== ==121649== Process terminating with default action of signal 4 (SIGILL) ==121649== Illegal opcode at address 0x4013DC0 ==121649== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121649== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121649== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121649== by 0x40037A4: main (tool_main.c:199) === End of file valgrind852 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 35537 (log/10/server/pop3_server.port) RUN: POP3 server is PID 121367 port 35537 * pid pop3 => 121367 121367 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/10/valgrind851 ../src/curl -q --output log/10/curl851.out --include --trace-ascii log/10/trace851 --trace-time pop3://127.0.0.1:35537/851 -l -u user:secret > log/10/stdout851 2> log/10/stderr851 851: 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/ dir 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/10/valgrind851 ../src/curl -q --output log/10/curl851.out --include --trace-ascii log/10/trace851 --trace-time pop3://127.0.0.1:35537/851 -l -u user:secret > log/10/stdout851 2> log/10/stderr851 === End of file commands.log === Start of file pop3_server.log 07:51:52.414727 POP3 server listens on port IPv4/35537 07:51:52.414837 logged pid 121367 in log/10/server/pop3_server.pid 07:51:52.414868 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.236874 Running IPv4 version 07:51:52.236986 Listening on port 35537 07:51:52.237027 Wrote pid 121390 to log/10/server/pop3_sockfilt.pid 07:51:52.237058 Wrote port 35537 to log/10/server/pop3_server.port 07:51:52.242521 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 ==121608== ==121608== Process terminating with default action of signal 4 (SIGILL) ==121608== Illegal opcode at address 0x4013DC0 ==121608== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121608== by 0x40037A4: main (tool_main.c:199) === End of file valgrind851 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/21/valgrind872 ../src/curl -q --output log/21/curl872.out --include --trace-ascii log/21/trace872 --trace-time pop3://127.0.0.1:45325/872 -u user:secret --sasl-ir > log/21/stdout872 2> log/21/stderr872 872: 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/ dir 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/21/valgrind872 ../src/curl -q --output log/21/curl872.out --include --trace-ascii log/21/trace872 --trace-time pop3://127.0.0.1:45325/872 -u user:secret --sasl-ir > log/21/stdout872 2> log/21/stderr872 === End of file commands.log === Start of file pop3_server.log 07:51:53.528688 ====> Client connect 07:51:53.528847 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:53.529135 < "CAPA" 07:51:53.529182 > "-ERR Unrecognized command[CR][LF]" 07:51:53.529348 < "RETR verifiedserver" 07:51:53.529375 return proof we are we 07:51:53.529395 > "+OK Mail transfer starts[CR][LF]" 07:51:53.529412 > "WE ROOLZ: 102002[CR][LF]" 07:51:53.529428 > ".[CR][LF]" 07:51:53.571659 < "QUIT" 07:51:53.571709 > "+OK curl POP3 server signing off[CR][LF]" 07:51:53.572435 MAIN sockfilt said DISC 07:51:53.572457 ====> Client disconnected 07:51:53.572528 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.356520 ====> Client connect 07:51:53.356804 Received DATA (on stdin) 07:51:53.356819 > 178 bytes data, server => client 07:51:53.356830 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:53.356841 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:53.356851 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:53.356860 've \r\n' 07:51:53.356930 < 6 bytes data, client => server 07:51:53.356942 'CAPA\r\n' 07:51:53.357125 Received DATA (on stdin) 07:51:53.357138 > 27 bytes data, server => client 07:51:53.357148 '-ERR Unrecognized command\r\n' 07:51:53.357198 < 21 bytes data, client => server 07:51:53.357209 'RETR verifiedserver\r\n' 07:51:53.357369 Received DATA (on stdin) 07:51:53.357381 > 26 bytes data, server => client 07:51:53.357391 '+OK Mail transfer starts\r\n' 07:51:53.357410 Received DATA (on stdin) 07:51:53.357419 > 18 bytes data, server => client 07:51:53.357429 'WE ROOLZ: 102002\r\n' 07:51:53.357441 Received DATA (on stdin) 07:51:53.357450 > 3 bytes data, server => client 07:51:53.357460 '.\r\n' 07:51:53.399391 < 6 bytes data, client => server 07:51:53.399440 'QUIT\r\n' 07:51:53.399650 Received DATA (on stdin) 07:51:53.399660 > 34 bytes data, server => client 07:51:53.399669 '+OK curl POP3 server signing off\r\n' 07:51:53.400326 ====> Client disconnect 07:51:53.400465 Received ACKD (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 ==121726== ==121726== Process terminating with default action of signal 4 (SIGILL) ==121726== Illegal opcode at address 0x4013DC0 ==121726== at 0x4013DC0: 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/13/valgrind853 ../src/curl -q --output log/13/curl853.out --include --trace-ascii log/13/trace853 --trace-time pop3://127.0.0.1:33271/ -u user:secret > log/13/stdout853 2> log/13/stderr853 CMD (33792): ../libtool --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/valgrind854 ../src/curl -q --output log/20/curl854.out --include --trace-ascii log/20/trace854 --trace-time pop3://127.0.0.1:46815/ -u user:secret > log/20/stdout854 2> log/20/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/17/valgrind857 ../src/curl -q --output log/17/curl857.out --include --trace-ascii log/17/trace857 --trace-time pop3://127.0.0.1:40547/857 -u user:secret > log/17/stdout857 2> log/17/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/1/valgrind855 ../src/curl -q --output log/1/curl855.out --include --trace-ascii log/1/trace855 --trace-time pop3://127.0.0.1:34957/855 -u user:secret > log/1/stdout855 2> log/1/stderr855 parameter (tool_getparam.c:2846) ==121726== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121726== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121726== by 0x40037A4: main (tool_main.c:199) === End of file valgrind872 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 33271 (log/13/server/pop3_server.port) RUN: POP3 server is PID 121481 port 33271 * pid pop3 => 121481 121481 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/13/valgrind853 ../src/curl -q --output log/13/curl853.out --include --trace-ascii log/13/trace853 --trace-time pop3://127.0.0.1:33271/ -u user:secret > log/13/stdout853 2> log/13/stderr853 853: 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/ dir 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/13/valgrind853 ../src/curl -q --output log/13/curl853.out --include --trace-ascii log/13/trace853 --trace-time pop3://127.0.0.1:33271/ -u user:secret > log/13/stdout853 2> log/13/stderr853 === End of file commands.log === Start of file pop3_server.log 07:51:52.636195 POP3 server listens on port IPv4/33271 07:51:52.636292 logged pid 121481 in log/13/server/pop3_server.pid 07:51:52.636324 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.463728 Running IPv4 version 07:51:52.463815 Listening on port 33271 07:51:52.463860 Wrote pid 121497 to log/13/server/pop3_sockfilt.pid 07:51:52.463893 Wrote port 33271 to log/13/server/pop3_server.port 07:51:52.464043 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 ==121756== ==121756== Process terminating with default action of signal 4 (SIGILL) ==121756== Illegal opcode at address 0x4013DC0 ==121756== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121756== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121756== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121756== by 0x40037A4: main (tool_main.c:199) === End of file valgrind853 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 46815 (log/20/server/pop3_server.port) RUN: POP3 server is PID 121498 port 46815 * pid pop3 => 121498 121498 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/20/valgrind854 ../src/curl -q --output log/20/curl854.out --include --trace-ascii log/20/trace854 --trace-time pop3://127.0.0.1:46815/ -u user:secret > log/20/stdout854 2> log/20/stderr854 854: 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/ dir 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/20/valgrind854 ../src/curl -q --output log/20/curl854.out --include --trace-ascii log/20/trace854 --trace-time pop3://127.0.0.1:46815/ -u user:secret > log/20/stdout854 2> log/20/stderr854 === End of file commands.log === Start of file pop3_server.log 07:51:52.686215 POP3 server listens on port IPv4/46815 07:51:52.686307 logged pid 121498 in log/20/server/pop3_server.pid 07:51:52.686340 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.513658 Running IPv4 version 07:51:52.513770 Listening on port 46815 07:51:52.513811 Wrote pid 121500 to log/20/server/pop3_sockfilt.pid 07:51:52.513843 Wrote port 46815 to log/20/server/pop3_server.port 07:51:52.514042 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 ==121822== ==121822== Process terminating with default action of signal 4 (SIGILL) ==121822== Illegal opcode at address 0x4013DC0 ==121822== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121822== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121822== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121822== by 0x40037A4: main (tool_main.c:199) === End of file valgrind854 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 40547 (log/17/server/pop3_server.port) RUN: POP3 server is PID 121503 port 40547 * pid pop3 => 121503 121503 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/17/valgrind857 ../src/curl -q --output log/17/curl857.out --include --trace-ascii log/17/trace857 --trace-time pop3://127.0.0.1:40547/857 -u user:secret > log/17/stdout857 2> log/17/stderr857 857: 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/ dir 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/17/valgrind857 ../src/curl -q --output log/17/curl857.out --include --trace-ascii log/17/trace857 --trace-time pop3://127.0.0.1:40547/857 -u user:secret > log/17/stdout857 2> log/17/stderr857 === End of file commands.log === Start of file pop3_server.log 07:51:52.739113 POP3 server listens on port IPv4/40547 07:51:52.739200 logged pid 121503 in log/17/server/pop3_server.pid 07:51:52.739228 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.566586 Running IPv4 version 07:51:52.566650 Listening on port 40547 07:51:52.566692 Wrote pid 121510 to log/17/server/pop3_sockfilt.pid 07:51:52.566725 Wrote port 40547 to log/17/server/pop3_server.port 07:51:52.566950 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 ==121934== ==121934== Process terminating with default action of signal 4 (SIGILL) ==121934== Illegal opcode at address 0x4013DC0 ==121934== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind857 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" --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/2/valgrind856 ../src/curl -q --output log/2/curl856.out --include --trace-ascii log/2/trace856 --trace-time pop3://127.0.0.1:44919/856 -u user:wrong > log/2/stdout856 2> log/2/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/3/valgrind858 ../src/curl -q --output log/3/curl858.out --include --trace-ascii log/3/trace858 --trace-time pop3://127.0.0.1:34601/858 -u user:secret -X DELE -I > log/3/stdout858 2> log/3/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/7/valgrind859 ../src/curl -q --output log/7/curl859.out --include --trace-ascii log/7/trace859 --trace-time pop3://127.0.0.1:42525 -u user:secret -X STAT -I > log/7/stdout859 2> log/7/stderr859 roto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34957 (log/1/server/pop3_server.port) RUN: POP3 server is PID 121499 port 34957 * pid pop3 => 121499 121499 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/1/valgrind855 ../src/curl -q --output log/1/curl855.out --include --trace-ascii log/1/trace855 --trace-time pop3://127.0.0.1:34957/855 -u user:secret > log/1/stdout855 2> log/1/stderr855 855: 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/ dir 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/1/valgrind855 ../src/curl -q --output log/1/curl855.out --include --trace-ascii log/1/trace855 --trace-time pop3://127.0.0.1:34957/855 -u user:secret > log/1/stdout855 2> log/1/stderr855 === End of file commands.log === Start of file pop3_server.log 07:51:52.709238 POP3 server listens on port IPv4/34957 07:51:52.709320 logged pid 121499 in log/1/server/pop3_server.pid 07:51:52.709346 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.536757 Running IPv4 version 07:51:52.536845 Listening on port 34957 07:51:52.536882 Wrote pid 121506 to log/1/server/pop3_sockfilt.pid 07:51:52.536909 Wrote port 34957 to log/1/server/pop3_server.port 07:51:52.537083 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 ==121843== ==121843== Process terminating with default action of signal 4 (SIGILL) ==121843== Illegal opcode at address 0x4013DC0 ==121843== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121843== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121843== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121843== by 0x40037A4: main (tool_main.c:199) === End of file valgrind855 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 44919 (log/2/server/pop3_server.port) RUN: POP3 server is PID 121502 port 44919 * pid pop3 => 121502 121502 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/2/valgrind856 ../src/curl -q --output log/2/curl856.out --include --trace-ascii log/2/trace856 --trace-time pop3://127.0.0.1:44919/856 -u user:wrong > log/2/stdout856 2> log/2/stderr856 856: 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/ dir 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/2/valgrind856 ../src/curl -q --output log/2/curl856.out --include --trace-ascii log/2/trace856 --trace-time pop3://127.0.0.1:44919/856 -u user:wrong > log/2/stdout856 2> log/2/stderr856 === End of file commands.log === Start of file pop3_server.log 07:51:52.723590 POP3 server listens on port IPv4/44919 07:51:52.723667 logged pid 121502 in log/2/server/pop3_server.pid 07:51:52.723693 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.551174 Running IPv4 version 07:51:52.551249 Listening on port 44919 07:51:52.551289 Wrote pid 121508 to log/2/server/pop3_sockfilt.pid 07:51:52.551318 Wrote port 44919 to log/2/server/pop3_server.port 07:51:52.551446 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 ==121896== ==121896== Process terminating with default action of signal 4 (SIGILL) ==121896== Illegal opcode at address 0x4013DC0 ==121896== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121896== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121896== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121896== by 0x40037A4: main (tool_main.c:199) === End of file valgrind856 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 34601 (log/3/server/pop3_server.port) RUN: POP3 server is PID 121505 port 34601 * pid pop3 => 121505 121505 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/3/valgrind858 ../src/curl -q --output log/3/curl858.out --include --trace-ascii log/3/trace858 --trace-time pop3://127.0.0.1:34601/858 -u user:secret -X DELE -I > log/3/stdout858 2> log/3/stderr858 858: 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/ dir 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/3/valgrind858 ../src/curl -q --output log/3/curl858.out --include --trace-ascii log/3/trace858 --trace-time pop3://127.0.0.1:34601/858 -u user:secret -X DELE -I > log/3/stdout858 2> log/3/stderr858 === End of file commands.log === Start of file pop3_server.log 07:51:52.738729 POP3 server listens on port IPv4/34601 07:51:52.738813 logged pid 121505 in log/3/server/pop3_server.pid 07:51:52.738840 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.566253 Running IPv4 version 07:51:52.566348 Listening on port 34601 07:51:52.566395 Wrote pid 121511 to log/3/server/pop3_sockfilt.pid 07:51:52.566429 Wrote port 34601 to log/3/server/pop3_server.port 07:51:52.566580 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 ==121964== ==121964== Process terminating with default action of signal 4 (SIGILL) ==121964== Illegal opcode at address 0x4013DC0 ==121964== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==121964== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121964== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==121964== by 0x40037A4: main (tool_main.c:199) === End of file valgrind858 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 42525 (log/7/server/pop3_server.port) RUN: POP3 server is PID 121518 port 42525 * pid pop3 => 121518 121518 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/7/valgrind859 ../src/curl -q --output log/7/curl859.out --include --trace-ascii log/7/trace859 --trace-time pop3://127.0.0.1:42525 -u user:secret -X STAT -I > log/7/stdout859 CMD (33792): ../libtool --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/valgrind860 ../src/curl -q --output log/14/curl860.out --include --trace-ascii log/14/trace860 --trace-time pop3://127.0.0.1:40803 -u user:secret -X NOOP -I > log/14/stdout860 2> log/14/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/19/valgrind862 ../src/curl -q --output log/19/curl862.out --include --trace-ascii log/19/trace862 --trace-time pop3://127.0.0.1:41381 -u user:secret -X 'TOP 862 0' > log/19/stdout862 2> log/19/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/5/valgrind861 ../src/curl -q --output log/5/curl861.out --include --trace-ascii log/5/trace861 --trace-time pop3://127.0.0.1:45371 -u user:secret -X UIDL > log/5/stdout861 2> log/5/stderr861 2> log/7/stderr859 859: 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/ dir 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/7/valgrind859 ../src/curl -q --output log/7/curl859.out --include --trace-ascii log/7/trace859 --trace-time pop3://127.0.0.1:42525 -u user:secret -X STAT -I > log/7/stdout859 2> log/7/stderr859 === End of file commands.log === Start of file pop3_server.log 07:51:52.839404 POP3 server listens on port IPv4/42525 07:51:52.839537 logged pid 121518 in log/7/server/pop3_server.pid 07:51:52.839573 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:52.666888 Running IPv4 version 07:51:52.666988 Listening on port 42525 07:51:52.667034 Wrote pid 121521 to log/7/server/pop3_sockfilt.pid 07:51:52.667070 Wrote port 42525 to log/7/server/pop3_server.port 07:51:52.667239 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 ==122072== ==122072== Process terminating with default action of signal 4 (SIGILL) ==122072== Illegal opcode at address 0x4013DC0 ==122072== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind859 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 40803 (log/14/server/pop3_server.port) RUN: POP3 server is PID 121534 port 40803 * pid pop3 => 121534 121534 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/14/valgrind860 ../src/curl -q --output log/14/curl860.out --include --trace-ascii log/14/trace860 --trace-time pop3://127.0.0.1:40803 -u user:secret -X NOOP -I > log/14/stdout860 2> log/14/stderr860 860: 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/ dir 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/14/valgrind860 ../src/curl -q --output log/14/curl860.out --include --trace-ascii log/14/trace860 --trace-time pop3://127.0.0.1:40803 -u user:secret -X NOOP -I > log/14/stdout860 2> log/14/stderr860 === End of file commands.log === Start of file pop3_server.log 07:51:53.114116 POP3 server listens on port IPv4/40803 07:51:53.114232 logged pid 121534 in log/14/server/pop3_server.pid 07:51:53.114288 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.941769 Running IPv4 version 07:51:53.941841 Listening on port 40803 07:51:53.941884 Wrote pid 121542 to log/14/server/pop3_sockfilt.pid 07:51:53.941920 Wrote port 40803 to log/14/server/pop3_server.port 07:51:53.941942 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==122134== ==122134== Process terminating with default action of signal 4 (SIGILL) ==122134== Illegal opcode at address 0x4013DC0 ==122134== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122134== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122134== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122134== by 0x40037A4: main (tool_main.c:199) === End of file valgrind860 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 45371 (log/5/server/pop3_server.port) RUN: POP3 server is PID 121536 port 45371 * pid pop3 => 121536 121536 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/5/valgrind861 ../src/curl -q --output log/5/curl861.out --include --trace-ascii log/5/trace861 --trace-time pop3://127.0.0.1:45371 -u user:secret -X UIDL > log/5/stdout861 2> log/5/stderr861 861: 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/ dir 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/5/valgrind861 ../src/curl -q --output log/5/curl861.out --include --trace-ascii log/5/trace861 --trace-time pop3://127.0.0.1:45371 -u user:secret -X UIDL > log/5/stdout861 2> log/5/stderr861 === End of file commands.log === Start of file pop3_server.log 07:51:53.130262 POP3 server listens on port IPv4/45371 07:51:53.130335 logged pid 121536 in log/5/server/pop3_server.pid 07:51:53.130357 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.957932 Running IPv4 version 07:51:53.958026 Listening on port 45371 07:51:53.958069 Wrote pid 121543 to log/5/server/pop3_sockfilt.pid 07:51:53.958099 Wrote port 45371 to log/5/server/pop3_server.port 07:51:53.958121 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 ==122146== ==122146== Process terminating with default action of signal 4 (SIGILL) ==122146== Illegal opcode at address 0x4013DC0 ==122146== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122146== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122146== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122146== by 0x40037A4: main (tool_main.c:199) === End of file valgrind861 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 41381 (log/19/server/pop3_server.port) RUN: POP3 server is PID 121538 port 41381 * pid pop3 => 121538 121538 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/19/valgrind862 ../src/curl -q --output log/19/curl862.out --include --trace-ascii log/19/trace862 --trace-time pop3://127.0.0.1:41381 -u user:secret -X 'TOP 862 0' > log/19/stdout862 2> log/19/stderr862 862: 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/ dir 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/19/valgrind862 ../src/curl -q --output log/19/curl862.out --include --trace-ascii log/19/trace862 --trace-time pop3://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/18/valgrind863 ../src/curl -q --output log/18/curl863.out --include --trace-ascii log/18/trace863 --trace-time pop3://127.0.0.1:33925 -u user:secret -X RSET -I > log/18/stdout863 2> log/18/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/9/valgrind864 ../src/curl -q --output log/9/curl864.out --include --trace-ascii log/9/trace864 --trace-time pop3://127.0.0.1:45187/864 -u user:secret > log/9/stdout864 2> log/9/stderr864 CMD (33792): ../libtool --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/valgrind865 ../src/curl -q --output log/22/curl865.out --include --trace-ascii log/22/trace865 --trace-time pop3://127.0.0.1:35039/865 -u user:secret > log/22/stdout865 2> log/22/stderr865 41381 -u user:secret -X 'TOP 862 0' > log/19/stdout862 2> log/19/stderr862 === End of file commands.log === Start of file pop3_server.log 07:51:53.130806 POP3 server listens on port IPv4/41381 07:51:53.130865 logged pid 121538 in log/19/server/pop3_server.pid 07:51:53.130886 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.958542 Running IPv4 version 07:51:53.958601 Listening on port 41381 07:51:53.958630 Wrote pid 121544 to log/19/server/pop3_sockfilt.pid 07:51:53.958654 Wrote port 41381 to log/19/server/pop3_server.port 07:51:53.958671 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 ==122170== ==122170== Process terminating with default action of signal 4 (SIGILL) ==122170== Illegal opcode at address 0x4013DC0 ==122170== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122170== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122170== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122170== by 0x40037A4: main (tool_main.c:199) === End of file valgrind862 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 33925 (log/18/server/pop3_server.port) RUN: POP3 server is PID 121540 port 33925 * pid pop3 => 121540 121540 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/18/valgrind863 ../src/curl -q --output log/18/curl863.out --include --trace-ascii log/18/trace863 --trace-time pop3://127.0.0.1:33925 -u user:secret -X RSET -I > log/18/stdout863 2> log/18/stderr863 863: 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/ dir 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/18/valgrind863 ../src/curl -q --output log/18/curl863.out --include --trace-ascii log/18/trace863 --trace-time pop3://127.0.0.1:33925 -u user:secret -X RSET -I > log/18/stdout863 2> log/18/stderr863 === End of file commands.log === Start of file pop3_server.log 07:51:53.143930 POP3 server listens on port IPv4/33925 07:51:53.144030 logged pid 121540 in log/18/server/pop3_server.pid 07:51:53.144066 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.971547 Running IPv4 version 07:51:53.971645 Listening on port 33925 07:51:53.971690 Wrote pid 121545 to log/18/server/pop3_sockfilt.pid 07:51:53.971726 Wrote port 33925 to log/18/server/pop3_server.port 07:51:53.971752 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 ==122196== ==122196== Process terminating with default action of signal 4 (SIGILL) ==122196== Illegal opcode at address 0x4013DC0 ==122196== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122196== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122196== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122196== by 0x40037A4: main (tool_main.c:199) === End of file valgrind863 startnew: /usr/bin/perl -I. -I/startdir/src/curl/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 45187 (log/9/server/pop3_server.port) RUN: POP3 server is PID 121541 port 45187 * pid pop3 => 121541 121541 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/9/valgrind864 ../src/curl -q --output log/9/curl864.out --include --trace-ascii log/9/trace864 --trace-time pop3://127.0.0.1:45187/864 -u user:secret > log/9/stdout864 2> log/9/stderr864 864: 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/ dir 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/9/valgrind864 ../src/curl -q --output log/9/curl864.out --include --trace-ascii log/9/trace864 --trace-time pop3://127.0.0.1:45187/864 -u user:secret > log/9/stdout864 2> log/9/stderr864 === End of file commands.log === Start of file pop3_server.log 07:51:53.146884 POP3 server listens on port IPv4/45187 07:51:53.146971 logged pid 121541 in log/9/server/pop3_server.pid 07:51:53.147000 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.974452 Running IPv4 version 07:51:53.974518 Listening on port 45187 07:51:53.974560 Wrote pid 121546 to log/9/server/pop3_sockfilt.pid 07:51:53.974591 Wrote port 45187 to log/9/server/pop3_server.port 07:51:53.974733 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 ==122187== ==122187== Process terminating with default action of signal 4 (SIGILL) ==122187== Illegal opcode at address 0x4013DC0 ==122187== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122187== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122187== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122187== by 0x40037A4: main (tool_main.c:199) === End of file valgrind864 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 35039 (log/22/server/pop3_server.port) RUN: POP3 server is PID 121547 port 35039 * pid pop3 => 121547 121547 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/22/valgrind865 ../src/curl -q --output log/22/curl865.out --include --trace-ascii log/22/trace865 --trace-time pop3://127.0.0.1:35039/865 -u user:secret > log/22/stdout865 2> log/22/stderr865 865: 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/ dir 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/22/valgrind865 ../src/curl -q --output log/22/curl865.out --include --trace-ascii log/22/trace865 --trace-time pop3://127.0.0.1:35039/865 -u user:secret > log/22/stdout865 2> log/22/stderr865 === End of file commands.log === Start of file pop3_server.log 07:51:53.188090 POP3 server listens on port IPv4/35039 07:51:53.188182 logged pid 121547 in log/22/server/pop3_server.pid 07:51:53.188214 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.015679 Running IPv4 version 07:51:53.015793 Listening on port 35039 07:51:53.015848 Wrote pid 121549 to log/22/server/poCMD (33792): ../libtool --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/valgrind873 ../src/curl -q --output log/11/curl873.out --include --trace-ascii log/11/trace873 --trace-time pop3://127.0.0.1:41225/873 -u testuser:testpass --sasl-ir > log/11/stdout873 2> log/11/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/24/valgrind875 ../src/curl -q --output log/24/curl875.out --include --trace-ascii log/24/trace875 --trace-time pop3://127.0.0.1:38919/%0d%0a/875 > log/24/stdout875 2> log/24/stderr875 p3_sockfilt.pid 07:51:53.015881 Wrote port 35039 to log/22/server/pop3_server.port 07:51:53.015908 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 ==122351== ==122351== Process terminating with default action of signal 4 (SIGILL) ==122351== Illegal opcode at address 0x4013DC0 ==122351== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122351== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122351== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122351== by 0x40037A4: main (tool_main.c:199) === End of file valgrind865 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/11/valgrind873 ../src/curl -q --output log/11/curl873.out --include --trace-ascii log/11/trace873 --trace-time pop3://127.0.0.1:41225/873 -u testuser:testpass --sasl-ir > log/11/stdout873 2> log/11/stderr873 873: 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/ dir 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/11/valgrind873 ../src/curl -q --output log/11/curl873.out --include --trace-ascii log/11/trace873 --trace-time pop3://127.0.0.1:41225/873 -u testuser:testpass --sasl-ir > log/11/stdout873 2> log/11/stderr873 === End of file commands.log === Start of file pop3_server.log 07:51:54.193489 ====> Client connect 07:51:54.193661 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.193994 < "CAPA" 07:51:54.194051 > "-ERR Unrecognized command[CR][LF]" 07:51:54.194237 < "RETR verifiedserver" 07:51:54.194264 return proof we are we 07:51:54.194287 > "+OK Mail transfer starts[CR][LF]" 07:51:54.194306 > "WE ROOLZ: 121318[CR][LF]" 07:51:54.194324 > ".[CR][LF]" 07:51:54.241452 < "QUIT" 07:51:54.241508 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.242460 MAIN sockfilt said DISC 07:51:54.242499 ====> Client disconnected 07:51:54.242575 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.021310 ====> Client connect 07:51:54.021618 Received DATA (on stdin) 07:51:54.021634 > 178 bytes data, server => client 07:51:54.021647 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.021658 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.021669 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.021678 've \r\n' 07:51:54.021768 < 6 bytes data, client => server 07:51:54.021779 'CAPA\r\n' 07:51:54.021998 Received DATA (on stdin) 07:51:54.022012 > 27 bytes data, server => client 07:51:54.022025 '-ERR Unrecognized command\r\n' 07:51:54.022088 < 21 bytes data, client => server 07:51:54.022101 'RETR verifiedserver\r\n' 07:51:54.022265 Received DATA (on stdin) 07:51:54.022277 > 26 bytes data, server => client 07:51:54.022289 '+OK Mail transfer starts\r\n' 07:51:54.022309 Received DATA (on stdin) 07:51:54.022320 > 18 bytes data, server => client 07:51:54.022331 'WE ROOLZ: 121318\r\n' 07:51:54.022344 Received DATA (on stdin) 07:51:54.022354 > 3 bytes data, server => client 07:51:54.022364 '.\r\n' 07:51:54.069196 < 6 bytes data, client => server 07:51:54.069230 'QUIT\r\n' 07:51:54.069455 Received DATA (on stdin) 07:51:54.069468 > 34 bytes data, server => client 07:51:54.069480 '+OK curl POP3 server signing off\r\n' 07:51:54.070337 ====> Client disconnect 07:51:54.070518 Received ACKD (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 ==122456== ==122456== Process terminating with default action of signal 4 (SIGILL) ==122456== Illegal opcode at address 0x4013DC0 ==122456== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122456== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122456== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122456== by 0x40037A4: main (tool_main.c:199) === End of file valgrind873 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/24/valgrind875 ../src/curl -q --output log/24/curl875.out --include --trace-ascii log/24/trace875 --trace-time pop3://127.0.0.1:38919/%0d%0a/875 > log/24/stdout875 2> log/24/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/24/ dir 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/24/valgrind875 ../src/curl -q --output log/24/curl875.out --include --trace-ascii log/24/trace875 --trace-time pop3://127.0.0.1:38919/%0d%0a/875 > log/24/stdout875 2> log/24/stderr875 === End of file commands.log === Start of file pop3_server.log 07:51:54.332591 ====> Client connect 07:51:54.332779 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.333179 < "CAPA" 07:51:54.333228 > "-ERR Unrecognized command[CR][LF]" 07:51:54.333422 < "RETR verifiedserver" 07:51:54.333454 return proof we are we 07:51:54.333479 > "+OK Mail transfer starts[CR][LF]" 07:51:54.333501 > "WE ROOLZ: 121382[CR][LF]" 07:51:54.333519 > ".[CR][LF]" 07:51:54.381604 < "QUIT" 07:51:54.381667 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.383076 MAIN sockfilt said DISC 07:51:54.383123 ====> Client disconnected 07:51:54.383208 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.160417 ====> Client connect 07:51:54.160741 Received DATA (on stdin) 07:51:54.160760 > 178 bytes data, server => client 07:51:54.160774 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.160787 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.160799 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.160809 've \r\n' 07:51:54.160949 < 6 bytes data, client => server 07:51:54.160967 'CAPA\r\n' 07:51:54.161178 Received DATA (on stdin) 07:51:54.161193 > 27 bytes data, server => client 07:51:54.161205 '-ERR Unrecognized command\r\n' 07:51:54.161266 < 21 bytes data, client => server 07:51:54.161282 'RETR verifiedserver\r\n' 07:51:54.161464 Received DATA (on stdin) 07:51:54.161478 > 26 bytes data, server => client 07:51:54.161490 '+OK Mail transfer starts\r\n' 07:51:54.161514 Received DATA (on stdin) 07:51:54.161526 > 18 bytes data, server => client 07:51:54.161537 'WE ROOLZ: 121382\r\n' 07:51:54.161552 Received DATA (on stdin) 07:51:54.161563 > 3 bytes data, server => client 07:51:54.161574 '.\r\n' 07:51:54.209337 < 6 bytes data, client => server 07:51:54.209380 'QUIT\r\n' 07:51:54.209641 Received DATA (on stdin) 07:51:54.209658 > 34 bytes data, server => 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/4/valgrind867 ../src/curl -q --output log/4/curl867.out --include --trace-ascii log/4/trace867 --trace-time pop3://127.0.0.1:37109/867 -u user:secret > log/4/stdout867 2> log/4/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/12/valgrind868 ../src/curl -q --output log/12/curl868.out --include --trace-ascii log/12/trace868 --trace-time pop3://127.0.0.1:46537/868 -u testuser:testpass > log/12/stdout868 2> log/12/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/8/valgrind870 ../src/curl -q --output log/8/curl870.out --include --trace-ascii log/8/trace870 --trace-time pop3://127.0.0.1:44267/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout870 2> log/8/stderr870 lient 07:51:54.209671 '+OK curl POP3 server signing off\r\n' 07:51:54.210943 ====> Client disconnect 07:51:54.211157 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 ==122669== ==122669== Process terminating with default action of signal 4 (SIGILL) ==122669== Illegal opcode at address 0x4013DC0 ==122669== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122669== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122669== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122669== by 0x40037A4: main (tool_main.c:199) === End of file valgrind875 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 37109 (log/4/server/pop3_server.port) RUN: POP3 server is PID 121552 port 37109 * pid pop3 => 121552 121552 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/4/valgrind867 ../src/curl -q --output log/4/curl867.out --include --trace-ascii log/4/trace867 --trace-time pop3://127.0.0.1:37109/867 -u user:secret > log/4/stdout867 2> log/4/stderr867 867: 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/ dir 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/4/valgrind867 ../src/curl -q --output log/4/curl867.out --include --trace-ascii log/4/trace867 --trace-time pop3://127.0.0.1:37109/867 -u user:secret > log/4/stdout867 2> log/4/stderr867 === End of file commands.log === Start of file pop3_server.log 07:51:53.328500 POP3 server listens on port IPv4/37109 07:51:53.328582 logged pid 121552 in log/4/server/pop3_server.pid 07:51:53.328609 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.156145 Running IPv4 version 07:51:53.156246 Listening on port 37109 07:51:53.156282 Wrote pid 121580 to log/4/server/pop3_sockfilt.pid 07:51:53.156310 Wrote port 37109 to log/4/server/pop3_server.port 07:51:53.156335 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 ==122546== ==122546== Process terminating with default action of signal 4 (SIGILL) ==122546== Illegal opcode at address 0x4013DC0 ==122546== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122546== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122546== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122546== by 0x40037A4: main (tool_main.c:199) === End of file valgrind867 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 46537 (log/12/server/pop3_server.port) RUN: POP3 server is PID 121553 port 46537 * pid pop3 => 121553 121553 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/12/valgrind868 ../src/curl -q --output log/12/curl868.out --include --trace-ascii log/12/trace868 --trace-time pop3://127.0.0.1:46537/868 -u testuser:testpass > log/12/stdout868 2> log/12/stderr868 868: 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/ dir 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/12/valgrind868 ../src/curl -q --output log/12/curl868.out --include --trace-ascii log/12/trace868 --trace-time pop3://127.0.0.1:46537/868 -u testuser:testpass > log/12/stdout868 2> log/12/stderr868 === End of file commands.log === Start of file pop3_server.log 07:51:53.332273 POP3 server listens on port IPv4/46537 07:51:53.332357 logged pid 121553 in log/12/server/pop3_server.pid 07:51:53.332390 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.159937 Running IPv4 version 07:51:53.160000 Listening on port 46537 07:51:53.160034 Wrote pid 121584 to log/12/server/pop3_sockfilt.pid 07:51:53.160061 Wrote port 46537 to log/12/server/pop3_server.port 07:51:53.160118 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 ==122527== ==122527== Process terminating with default action of signal 4 (SIGILL) ==122527== Illegal opcode at address 0x4013DC0 ==122527== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122527== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122527== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122527== by 0x40037A4: main (tool_main.c:199) === End of file valgrind868 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 44267 (log/8/server/pop3_server.port) RUN: POP3 server is PID 121567 port 44267 * pid pop3 => 121567 121567 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/8/valgrind870 ../src/curl -q --output log/8/curl870.out --include --trace-ascii log/8/trace870 --trace-time pop3://127.0.0.1:44267/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout870 2> log/8/stderr870 870: 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/ dir 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/8/valgrind870 ../src/curl -q --output log/8/curl870.out --include --trace-ascii log/8/trace870 --trace-time pop3://127.0.0.1:44267/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/8/stdout870 2> log/8/stderr870 === End of file commands.log === Start of file pop3_server.log 07:51:53.344827 POP3 server listens on port IPv4/44267 07:51:53.344923 logged pid 121567 in log/8/server/pop3_server.pid 07:51:53.344950 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.172170 RunCMD (33792): ../libtool --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/valgrind871 ../src/curl -q --output log/16/curl871.out --include --trace-ascii log/16/trace871 --trace-time pop3://127.0.0.1:43525/871 -u user:secret --sasl-ir > log/16/stdout871 2> log/16/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/23/valgrind866 ../src/curl -q --output log/23/curl866.out --include --trace-ascii log/23/trace866 --trace-time pop3://127.0.0.1:40271/866 -u user:secret > log/23/stdout866 2> log/23/stderr866 CMD (33792): ../libtool --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/valgrind876 ../src/curl -q --output log/10/curl876.out --include --trace-ascii log/10/trace876 --trace-time pop3://127.0.0.1:35537/876 -u user:secret > log/10/stdout876 2> log/10/stderr876 ning IPv4 version 07:51:53.172228 Listening on port 44267 07:51:53.172256 Wrote pid 121605 to log/8/server/pop3_sockfilt.pid 07:51:53.172278 Wrote port 44267 to log/8/server/pop3_server.port 07:51:53.172640 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 ==122537== ==122537== Process terminating with default action of signal 4 (SIGILL) ==122537== Illegal opcode at address 0x4013DC0 ==122537== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122537== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122537== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122537== by 0x40037A4: main (tool_main.c:199) === End of file valgrind870 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 43525 (log/16/server/pop3_server.port) RUN: POP3 server is PID 121693 port 43525 * pid pop3 => 121693 121693 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/16/valgrind871 ../src/curl -q --output log/16/curl871.out --include --trace-ascii log/16/trace871 --trace-time pop3://127.0.0.1:43525/871 -u user:secret --sasl-ir > log/16/stdout871 2> log/16/stderr871 871: 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/ dir 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/16/valgrind871 ../src/curl -q --output log/16/curl871.out --include --trace-ascii log/16/trace871 --trace-time pop3://127.0.0.1:43525/871 -u user:secret --sasl-ir > log/16/stdout871 2> log/16/stderr871 === End of file commands.log === Start of file pop3_server.log 07:51:53.457964 POP3 server listens on port IPv4/43525 07:51:53.458027 logged pid 121693 in log/16/server/pop3_server.pid 07:51:53.458046 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.283267 Running IPv4 version 07:51:53.283350 Listening on port 43525 07:51:53.283378 Wrote pid 121707 to log/16/server/pop3_sockfilt.pid 07:51:53.283398 Wrote port 43525 to log/16/server/pop3_server.port 07:51:53.283415 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 ==122714== ==122714== Process terminating with default action of signal 4 (SIGILL) ==122714== Illegal opcode at address 0x4013DC0 ==122714== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122714== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122714== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122714== by 0x40037A4: main (tool_main.c:199) === End of file valgrind871 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 40271 (log/23/server/pop3_server.port) RUN: POP3 server is PID 121551 port 40271 * pid pop3 => 121551 121551 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/23/valgrind866 ../src/curl -q --output log/23/curl866.out --include --trace-ascii log/23/trace866 --trace-time pop3://127.0.0.1:40271/866 -u user:secret > log/23/stdout866 2> log/23/stderr866 866: 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/ dir 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/23/valgrind866 ../src/curl -q --output log/23/curl866.out --include --trace-ascii log/23/trace866 --trace-time pop3://127.0.0.1:40271/866 -u user:secret > log/23/stdout866 2> log/23/stderr866 === End of file commands.log === Start of file pop3_server.log 07:51:53.330430 POP3 server listens on port IPv4/40271 07:51:53.330497 logged pid 121551 in log/23/server/pop3_server.pid 07:51:53.330518 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:53.158062 Running IPv4 version 07:51:53.158118 Listening on port 40271 07:51:53.158151 Wrote pid 121583 to log/23/server/pop3_sockfilt.pid 07:51:53.158174 Wrote port 40271 to log/23/server/pop3_server.port 07:51:53.158296 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 ==122517== ==122517== Process terminating with default action of signal 4 (SIGILL) ==122517== Illegal opcode at address 0x4013DC0 ==122517== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122517== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122517== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122517== by 0x40037A4: main (tool_main.c:199) === 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/10/valgrind876 ../src/curl -q --output log/10/curl876.out --include --trace-ascii log/10/trace876 --trace-time pop3://127.0.0.1:35537/876 -u user:secret > log/10/stdout876 2> log/10/stderr876 876: 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/ dir 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/10/valgrind876 ../src/curl -q --output log/10/curl876.out --include --trace-ascii log/10/trace876 --trace-time pop3://127.0.0.1:35537/876 -u user:secret > log/10/stdout876 2> log/10/stderr876 === End of file commands.log === Start of file pop3_server.log 07:51:54.313291 ====> Client connect 07:51:54.313463 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.318763 < "CAPA" 07:51:54.318829 > "-ERR Unrecognized command[CR][LF]" 07:51:54.319041 < "RETR verifiedserver" 07:51:54.319074 return proof we are we 07:51:54.319101 > "+OK Mail transfer starts[CR][LF]" 07:51:54.319120 > "WE ROOLZ: 121367[CR][LF]" 07:51:54.319136 > ".[CR][LF]" 07:51:54.367356 < "QUIT" 07:51:54.367423 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.368666 MAIN sockfilt said DISC 07:51:54.368698 ====> Client disconnected 07:51:54.368785 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.141124 ====> Client connect 07:51:54.141425 Received DATA (on stdin) 07:51:54.141442 > 178 bytes data, server => cliCMD (33792): ../libtool --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/valgrind879 ../src/curl -q --output log/13/curl879.out --include --trace-ascii log/13/trace879 --trace-time pop3://127.0.0.1:33271/879 -u user:secret > log/13/stdout879 2> log/13/stderr879 CMD (33792): ../libtool --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/valgrind877 ../src/curl -q --output log/21/curl877.out --include --trace-ascii log/21/trace877 --trace-time pop3://127.0.0.1:45325/877 -u testuser:testpass > log/21/stdout877 2> log/21/stderr877 ent 07:51:54.141456 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.141468 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.141479 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.141490 've \r\n' 07:51:54.146486 < 6 bytes data, client => server 07:51:54.146511 'CAPA\r\n' 07:51:54.146783 Received DATA (on stdin) 07:51:54.146798 > 27 bytes data, server => client 07:51:54.146810 '-ERR Unrecognized command\r\n' 07:51:54.146870 < 21 bytes data, client => server 07:51:54.146883 'RETR verifiedserver\r\n' 07:51:54.147081 Received DATA (on stdin) 07:51:54.147094 > 26 bytes data, server => client 07:51:54.147105 '+OK Mail transfer starts\r\n' 07:51:54.147127 Received DATA (on stdin) 07:51:54.147137 > 18 bytes data, server => client 07:51:54.147147 'WE ROOLZ: 121367\r\n' 07:51:54.147160 Received DATA (on stdin) 07:51:54.147171 > 3 bytes data, server => client 07:51:54.147180 '.\r\n' 07:51:54.195090 < 6 bytes data, client => server 07:51:54.195119 'QUIT\r\n' 07:51:54.195370 Received DATA (on stdin) 07:51:54.195383 > 34 bytes data, server => client 07:51:54.195395 '+OK curl POP3 server signing off\r\n' 07:51:54.196546 ====> Client disconnect 07:51:54.196731 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 ==122633== ==122633== Process terminating with default action of signal 4 (SIGILL) ==122633== Illegal opcode at address 0x4013DC0 ==122633== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122633== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122633== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122633== by 0x40037A4: main (tool_main.c:199) === 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/13/valgrind879 ../src/curl -q --output log/13/curl879.out --include --trace-ascii log/13/trace879 --trace-time pop3://127.0.0.1:33271/879 -u user:secret > log/13/stdout879 2> log/13/stderr879 879: 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/ dir 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/13/valgrind879 ../src/curl -q --output log/13/curl879.out --include --trace-ascii log/13/trace879 --trace-time pop3://127.0.0.1:33271/879 -u user:secret > log/13/stdout879 2> log/13/stderr879 === End of file commands.log === Start of file pop3_server.log 07:51:54.568053 ====> Client connect 07:51:54.568251 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.578165 < "CAPA" 07:51:54.578233 > "-ERR Unrecognized command[CR][LF]" 07:51:54.578473 < "RETR verifiedserver" 07:51:54.578507 return proof we are we 07:51:54.578533 > "+OK Mail transfer starts[CR][LF]" 07:51:54.578555 > "WE ROOLZ: 121481[CR][LF]" 07:51:54.578575 > ".[CR][LF]" 07:51:54.628217 < "QUIT" 07:51:54.628278 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.629323 MAIN sockfilt said DISC 07:51:54.629365 ====> Client disconnected 07:51:54.629431 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.395866 ====> Client connect 07:51:54.399189 Received DATA (on stdin) 07:51:54.399220 > 178 bytes data, server => client 07:51:54.399234 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.399245 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.399257 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.399267 've \r\n' 07:51:54.405865 < 6 bytes data, client => server 07:51:54.405895 'CAPA\r\n' 07:51:54.406189 Received DATA (on stdin) 07:51:54.406206 > 27 bytes data, server => client 07:51:54.406219 '-ERR Unrecognized command\r\n' 07:51:54.406296 < 21 bytes data, client => server 07:51:54.406312 'RETR verifiedserver\r\n' 07:51:54.406522 Received DATA (on stdin) 07:51:54.406536 > 26 bytes data, server => client 07:51:54.406549 '+OK Mail transfer starts\r\n' 07:51:54.406575 Received DATA (on stdin) 07:51:54.406588 > 18 bytes data, server => client 07:51:54.406600 'WE ROOLZ: 121481\r\n' 07:51:54.406615 Received DATA (on stdin) 07:51:54.406626 > 3 bytes data, server => client 07:51:54.406638 '.\r\n' 07:51:54.455990 < 6 bytes data, client => server 07:51:54.456019 'QUIT\r\n' 07:51:54.456232 Received DATA (on stdin) 07:51:54.456248 > 34 bytes data, server => client 07:51:54.456261 '+OK curl POP3 server signing off\r\n' 07:51:54.457192 ====> Client disconnect 07:51:54.457377 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 ==122928== ==122928== Process terminating with default action of signal 4 (SIGILL) ==122928== Illegal opcode at address 0x4013DC0 ==122928== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122928== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122928== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122928== by 0x40037A4: main (tool_main.c:199) === End of file valgrind879 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/21/valgrind877 ../src/curl -q --output log/21/curl877.out --include --trace-ascii log/21/trace877 --trace-time pop3://127.0.0.1:45325/877 -u testuser:testpass > log/21/stdout877 2> log/21/stderr877 877: 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/ dir 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/21/valgrind877 ../src/curl -q --output log/21/curl877.out --include --trace-ascii log/21/trace877 --trace-time pop3://127.0.0.1:45325/877 -u testuser:testpass > log/21/stdout877 2> log/21/stderr877 === End of file commands.log === Start of file pop3_server.log 07:51:54.579600 ====> Client connect 07:51:54.579734 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.580022 < "CAPA" 07:51:54.580063 > "-ERR Unrecognized command[CR][LF]" 07:51:54.580244 < "RETR verifiedserver" 07:51:54.580271 return proof we are we 07:51:54.580293 > "+OK Mail transfer starts[CR][LF]" 07:51:54.580312 > "WE ROOLZ: 102002[CR][LF]" 07:51:54.580330 > ".[CR][LF]" 07:51:54.628184 < "QUIT" 07:51:54.628233 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.629271 MAIN sockfilt said DISC 07:51:54.629315 ====> Client disconnected 07:51:54.629388 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.407449 ====> Client connect 07:51:54.407689 Received DATA (on stdin) 07:51:54.407705 > 178 bytes data, server => client 07:51:54.407718 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.407730 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:CMD (33792): ../libtool --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/valgrind880 ../src/curl -q --output log/20/curl880.out --include --trace-ascii log/20/trace880 --trace-time pop3://127.0.0.1:46815/880 -u user:secret > log/20/stdout880 2> log/20/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/1/valgrind884 ../src/curl -q --output log/1/curl884.out --include --trace-ascii log/1/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:34957/884' > log/1/stdout884 2> log/1/stderr884 54.407741 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.407751 've \r\n' 07:51:54.407830 < 6 bytes data, client => server 07:51:54.407842 'CAPA\r\n' 07:51:54.408008 Received DATA (on stdin) 07:51:54.408022 > 27 bytes data, server => client 07:51:54.408033 '-ERR Unrecognized command\r\n' 07:51:54.408090 < 21 bytes data, client => server 07:51:54.408103 'RETR verifiedserver\r\n' 07:51:54.408275 Received DATA (on stdin) 07:51:54.408288 > 26 bytes data, server => client 07:51:54.408300 '+OK Mail transfer starts\r\n' 07:51:54.408321 Received DATA (on stdin) 07:51:54.408332 > 18 bytes data, server => client 07:51:54.408343 'WE ROOLZ: 102002\r\n' 07:51:54.408356 Received DATA (on stdin) 07:51:54.408367 > 3 bytes data, server => client 07:51:54.408378 '.\r\n' 07:51:54.455965 < 6 bytes data, client => server 07:51:54.455991 'QUIT\r\n' 07:51:54.456182 Received DATA (on stdin) 07:51:54.456197 > 34 bytes data, server => client 07:51:54.456209 '+OK curl POP3 server signing off\r\n' 07:51:54.457154 ====> Client disconnect 07:51:54.457334 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 ==122931== ==122931== Process terminating with default action of signal 4 (SIGILL) ==122931== Illegal opcode at address 0x4013DC0 ==122931== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==122931== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122931== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==122931== by 0x40037A4: main (tool_main.c:199) === End of file valgrind877 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/20/valgrind880 ../src/curl -q --output log/20/curl880.out --include --trace-ascii log/20/trace880 --trace-time pop3://127.0.0.1:46815/880 -u user:secret > log/20/stdout880 2> log/20/stderr880 880: 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/ dir 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/20/valgrind880 ../src/curl -q --output log/20/curl880.out --include --trace-ascii log/20/trace880 --trace-time pop3://127.0.0.1:46815/880 -u user:secret > log/20/stdout880 2> log/20/stderr880 === End of file commands.log === Start of file pop3_server.log 07:51:54.625779 ====> Client connect 07:51:54.625962 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.626283 < "CAPA" 07:51:54.626332 > "-ERR Unrecognized command[CR][LF]" 07:51:54.626503 < "RETR verifiedserver" 07:51:54.626531 return proof we are we 07:51:54.626552 > "+OK Mail transfer starts[CR][LF]" 07:51:54.626571 > "WE ROOLZ: 121498[CR][LF]" 07:51:54.626588 > ".[CR][LF]" 07:51:54.672423 < "QUIT" 07:51:54.672481 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.677641 MAIN sockfilt said DISC 07:51:54.677700 ====> Client disconnected 07:51:54.677784 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.453610 ====> Client connect 07:51:54.453911 Received DATA (on stdin) 07:51:54.453929 > 178 bytes data, server => client 07:51:54.453942 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.453953 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.453964 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.453974 've \r\n' 07:51:54.454068 < 6 bytes data, client => server 07:51:54.454081 'CAPA\r\n' 07:51:54.454277 Received DATA (on stdin) 07:51:54.454289 > 27 bytes data, server => client 07:51:54.454300 '-ERR Unrecognized command\r\n' 07:51:54.454351 < 21 bytes data, client => server 07:51:54.454363 'RETR verifiedserver\r\n' 07:51:54.454530 Received DATA (on stdin) 07:51:54.454542 > 26 bytes data, server => client 07:51:54.454553 '+OK Mail transfer starts\r\n' 07:51:54.454574 Received DATA (on stdin) 07:51:54.454584 > 18 bytes data, server => client 07:51:54.454595 'WE ROOLZ: 121498\r\n' 07:51:54.454608 Received DATA (on stdin) 07:51:54.454618 > 3 bytes data, server => client 07:51:54.454628 '.\r\n' 07:51:54.500177 < 6 bytes data, client => server 07:51:54.500209 'QUIT\r\n' 07:51:54.500427 Received DATA (on stdin) 07:51:54.500440 > 34 bytes data, server => client 07:51:54.500451 '+OK curl POP3 server signing off\r\n' 07:51:54.503339 ====> Client disconnect 07:51:54.507006 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 ==123047== ==123047== Process terminating with default action of signal 4 (SIGILL) ==123047== Illegal opcode at address 0x4013DC0 ==123047== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123047== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123047== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123047== by 0x40037A4: main (tool_main.c:199) === End of file valgrind880 test 0884...[POP3 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/1/valgrind884 ../src/curl -q --output log/1/curl884.out --include --trace-ascii log/1/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:34957/884' > log/1/stdout884 2> log/1/stderr884 884: 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/ dir 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/1/valgrind884 ../src/curl -q --output log/1/curl884.out --include --trace-ascii log/1/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:34957/884' > log/1/stdout884 2> log/1/stderr884 === End of file commands.log === Start of file pop3_server.log 07:51:54.766642 ====> Client connect 07:51:54.766820 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.767152 < "CAPA" 07:51:54.767202 > "-ERR Unrecognized command[CR][LF]" 07:51:54.767382 < "RETR verifiedserver" 07:51:54.767411 return proof we are we 07:51:54.767433 > "+OK Mail transfer starts[CR][LF]" 07:51:54.767452 > "WE ROOLZ: 121499[CR][LF]" 07:51:54.767468 > ".[CR][LF]" 07:51:54.814903 < "QUIT" 07:51:54.814960 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.816054 MAIN sockfilt said DISC 07:51:54.816114 ====> Client disconnected 07:51:54.816216 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.589354 ====> Client connect 07:51:54.594781 Received DATA (on stdin) 07:51:54.594801 > 178 bytes data, server => client 07:51:54.594814 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.594826 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.594838 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51: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/17/valgrind883 ../src/curl -q --output log/17/curl883.out --include --trace-ascii log/17/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:40547/883' > log/17/stdout883 2> log/17/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/3/valgrind886 ../src/curl -q --output log/3/curl886.out --include --trace-ascii log/3/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:34601/886' --sasl-ir > log/3/stdout886 2> log/3/stderr886 594848 've \r\n' 07:51:54.594938 < 6 bytes data, client => server 07:51:54.594951 'CAPA\r\n' 07:51:54.595146 Received DATA (on stdin) 07:51:54.595160 > 27 bytes data, server => client 07:51:54.595172 '-ERR Unrecognized command\r\n' 07:51:54.595227 < 21 bytes data, client => server 07:51:54.595239 'RETR verifiedserver\r\n' 07:51:54.595410 Received DATA (on stdin) 07:51:54.595422 > 26 bytes data, server => client 07:51:54.595434 '+OK Mail transfer starts\r\n' 07:51:54.595454 Received DATA (on stdin) 07:51:54.595464 > 18 bytes data, server => client 07:51:54.595475 'WE ROOLZ: 121499\r\n' 07:51:54.595489 Received DATA (on stdin) 07:51:54.595499 > 3 bytes data, server => client 07:51:54.595510 '.\r\n' 07:51:54.642662 < 6 bytes data, client => server 07:51:54.642698 'QUIT\r\n' 07:51:54.642906 Received DATA (on stdin) 07:51:54.642919 > 34 bytes data, server => client 07:51:54.642931 '+OK curl POP3 server signing off\r\n' 07:51:54.643905 ====> Client disconnect 07:51:54.644171 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 ==123137== ==123137== Process terminating with default action of signal 4 (SIGILL) ==123137== Illegal opcode at address 0x4013DC0 ==123137== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123137== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123137== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123137== by 0x40037A4: main (tool_main.c:199) === End of file valgrind884 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/17/valgrind883 ../src/curl -q --output log/17/curl883.out --include --trace-ascii log/17/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:40547/883' > log/17/stdout883 2> log/17/stderr883 883: 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/ dir 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/17/valgrind883 ../src/curl -q --output log/17/curl883.out --include --trace-ascii log/17/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:40547/883' > log/17/stdout883 2> log/17/stderr883 === End of file commands.log === Start of file pop3_server.log 07:51:54.761283 ====> Client connect 07:51:54.762025 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.762458 < "CAPA" 07:51:54.762514 > "-ERR Unrecognized command[CR][LF]" 07:51:54.762727 < "RETR verifiedserver" 07:51:54.762760 return proof we are we 07:51:54.762784 > "+OK Mail transfer starts[CR][LF]" 07:51:54.762804 > "WE ROOLZ: 121503[CR][LF]" 07:51:54.762823 > ".[CR][LF]" 07:51:54.808292 < "QUIT" 07:51:54.808358 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.809435 MAIN sockfilt said DISC 07:51:54.809479 ====> Client disconnected 07:51:54.809559 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.585874 ====> Client connect 07:51:54.590003 Received DATA (on stdin) 07:51:54.590025 > 178 bytes data, server => client 07:51:54.590039 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.590051 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.590063 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.590073 've \r\n' 07:51:54.590188 < 6 bytes data, client => server 07:51:54.590203 'CAPA\r\n' 07:51:54.590462 Received DATA (on stdin) 07:51:54.590478 > 27 bytes data, server => client 07:51:54.590490 '-ERR Unrecognized command\r\n' 07:51:54.590558 < 21 bytes data, client => server 07:51:54.590572 'RETR verifiedserver\r\n' 07:51:54.590768 Received DATA (on stdin) 07:51:54.590782 > 26 bytes data, server => client 07:51:54.590794 '+OK Mail transfer starts\r\n' 07:51:54.590818 Received DATA (on stdin) 07:51:54.590829 > 18 bytes data, server => client 07:51:54.590843 'WE ROOLZ: 121503\r\n' 07:51:54.590860 Received DATA (on stdin) 07:51:54.590871 > 3 bytes data, server => client 07:51:54.590883 '.\r\n' 07:51:54.635996 < 6 bytes data, client => server 07:51:54.636035 'QUIT\r\n' 07:51:54.636306 Received DATA (on stdin) 07:51:54.636321 > 34 bytes data, server => client 07:51:54.636333 '+OK curl POP3 server signing off\r\n' 07:51:54.637306 ====> Client disconnect 07:51:54.637505 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 ==123121== ==123121== Process terminating with default action of signal 4 (SIGILL) ==123121== Illegal opcode at address 0x4013DC0 ==123121== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123121== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123121== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123121== by 0x40037A4: main (tool_main.c:199) === End of file valgrind883 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/3/valgrind886 ../src/curl -q --output log/3/curl886.out --include --trace-ascii log/3/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:34601/886' --sasl-ir > log/3/stdout886 2> log/3/stderr886 886: 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/ dir 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/3/valgrind886 ../src/curl -q --output log/3/curl886.out --include --trace-ascii log/3/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:34601/886' --sasl-ir > log/3/stdout886 2> log/3/stderr886 === End of file commands.log === Start of file pop3_server.log 07:51:54.837369 ====> Client connect 07:51:54.837548 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.838093 < "CAPA" 07:51:54.838139 > "-ERR Unrecognized command[CR][LF]" 07:51:54.838318 < "RETR verifiedserver" 07:51:54.838346 return proof we are we 07:51:54.838367 > "+OK Mail transfer starts[CR][LF]" 07:51:54.838388 > "WE ROOLZ: 121505[CR][LF]" 07:51:54.838406 > ".[CR][LF]" 07:51:54.891484 < "QUIT" 07:51:54.891544 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.897937 MAIN sockfilt said DISC 07:51:54.897998 ====> Client disconnected 07:51:54.898080 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.665169 ====> Client connect 07:51:54.665504 Received DATA (on stdin) 07:51:54.665520 > 178 bytes data, server => client 07:51:54.665534 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.665544 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.665556 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.665565 've \r\n' 07:51:54.665642 < 6 bytes data, client => server 07:51:54.665654 'CAPA\r\n' 07:51:54.666086 Received DATA (on stdin) 07:51:54.666100 > 27 bytes data, server => client 07:51:54.666112 '-ERR Unrecognized command\r\n' 07:51:54.666170 < 21 bytes 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/7/valgrind887 ../src/curl -q --output log/7/curl887.out --include --trace-ascii log/7/trace887 --trace-time pop3://127.0.0.1:42525/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout887 2> log/7/stderr887 CMD (33792): ../libtool --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/valgrind885 ../src/curl -q --output log/2/curl885.out --include --trace-ascii log/2/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44919/885' --sasl-ir > log/2/stdout885 2> log/2/stderr885 client => server 07:51:54.666182 'RETR verifiedserver\r\n' 07:51:54.666348 Received DATA (on stdin) 07:51:54.666361 > 26 bytes data, server => client 07:51:54.666372 '+OK Mail transfer starts\r\n' 07:51:54.666393 Received DATA (on stdin) 07:51:54.666404 > 18 bytes data, server => client 07:51:54.666416 'WE ROOLZ: 121505\r\n' 07:51:54.666430 Received DATA (on stdin) 07:51:54.666440 > 3 bytes data, server => client 07:51:54.666451 '.\r\n' 07:51:54.719202 < 6 bytes data, client => server 07:51:54.719251 'QUIT\r\n' 07:51:54.719490 Received DATA (on stdin) 07:51:54.719503 > 34 bytes data, server => client 07:51:54.719516 '+OK curl POP3 server signing off\r\n' 07:51:54.723561 ====> Client disconnect 07:51:54.726026 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 ==123201== ==123201== Process terminating with default action of signal 4 (SIGILL) ==123201== Illegal opcode at address 0x4013DC0 ==123201== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123201== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123201== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123201== by 0x40037A4: main (tool_main.c:199) === End of file valgrind886 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/7/valgrind887 ../src/curl -q --output log/7/curl887.out --include --trace-ascii log/7/trace887 --trace-time pop3://127.0.0.1:42525/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout887 2> log/7/stderr887 887: 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/ dir 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/7/valgrind887 ../src/curl -q --output log/7/curl887.out --include --trace-ascii log/7/trace887 --trace-time pop3://127.0.0.1:42525/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/7/stdout887 2> log/7/stderr887 === End of file commands.log === Start of file pop3_server.log 07:51:54.969052 ====> Client connect 07:51:54.969223 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.969533 < "CAPA" 07:51:54.969579 > "-ERR Unrecognized command[CR][LF]" 07:51:54.969751 < "RETR verifiedserver" 07:51:54.969781 return proof we are we 07:51:54.969802 > "+OK Mail transfer starts[CR][LF]" 07:51:54.969821 > "WE ROOLZ: 121518[CR][LF]" 07:51:54.969838 > ".[CR][LF]" 07:51:55.018570 < "QUIT" 07:51:55.018634 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.022673 MAIN sockfilt said DISC 07:51:55.022727 ====> Client disconnected 07:51:55.022817 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.796881 ====> Client connect 07:51:54.797178 Received DATA (on stdin) 07:51:54.797194 > 178 bytes data, server => client 07:51:54.797206 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.797218 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.797229 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.797238 've \r\n' 07:51:54.797316 < 6 bytes data, client => server 07:51:54.797328 'CAPA\r\n' 07:51:54.797523 Received DATA (on stdin) 07:51:54.797536 > 27 bytes data, server => client 07:51:54.797547 '-ERR Unrecognized command\r\n' 07:51:54.797598 < 21 bytes data, client => server 07:51:54.797610 'RETR verifiedserver\r\n' 07:51:54.797779 Received DATA (on stdin) 07:51:54.797790 > 26 bytes data, server => client 07:51:54.797801 '+OK Mail transfer starts\r\n' 07:51:54.797822 Received DATA (on stdin) 07:51:54.797832 > 18 bytes data, server => client 07:51:54.797843 'WE ROOLZ: 121518\r\n' 07:51:54.797856 Received DATA (on stdin) 07:51:54.797866 > 3 bytes data, server => client 07:51:54.797876 '.\r\n' 07:51:54.846294 < 6 bytes data, client => server 07:51:54.846333 'QUIT\r\n' 07:51:54.846584 Received DATA (on stdin) 07:51:54.846598 > 34 bytes data, server => client 07:51:54.846610 '+OK curl POP3 server signing off\r\n' 07:51:54.850250 ====> Client disconnect 07:51:54.850768 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDI1MjUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==123315== ==123315== Process terminating with default action of signal 4 (SIGILL) ==123315== Illegal opcode at address 0x4013DC0 ==123315== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123315== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123315== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123315== by 0x40037A4: main (tool_main.c:199) === End of file valgrind887 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/2/valgrind885 ../src/curl -q --output log/2/curl885.out --include --trace-ascii log/2/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44919/885' --sasl-ir > log/2/stdout885 2> log/2/stderr885 885: 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/ dir 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/2/valgrind885 ../src/curl -q --output log/2/curl885.out --include --trace-ascii log/2/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44919/885' --sasl-ir > log/2/stdout885 2> log/2/stderr885 === End of file commands.log === Start of file pop3_server.log 07:51:54.848024 ====> Client connect 07:51:54.848200 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:54.848551 < "CAPA" 07:51:54.848601 > "-ERR Unrecognized command[CR][LF]" 07:51:54.848790 < "RETR verifiedserver" 07:51:54.848821 return proof we are we 07:51:54.848844 > "+OK Mail transfer starts[CR][LF]" 07:51:54.848864 > "WE ROOLZ: 121502[CR][LF]" 07:51:54.848882 > ".[CR][LF]" 07:51:54.895382 < "QUIT" 07:51:54.895444 > "+OK curl POP3 server signing off[CR][LF]" 07:51:54.896894 MAIN sockfilt said DISC 07:51:54.896944 ====> Client disconnected 07:51:54.897022 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.675861 ====> Client connect 07:51:54.676159 Received DATA (on stdin) 07:51:54.676176 > 178 bytes data, server => client 07:51:54.676190 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:54.676202 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:54.676213 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:54.676223 've \r\n' 07:51:54.676329 < 6 bytes data, client => server 07:51:54.676343 'CAPA\r\n' 07:51:54.676548 Received DATA (on stdin) 07:51:54.676562 > 27 bytes data, server => client 07:51:54.676574 '-ERR Unrecognized command\r\n' 07:51:54.676634 < 21 bytes data, client => server 07:51:54.676647 'RETR verifiedserver\r\n' 07:51:54.676826 Received DATA (on stdin) 07:51:54.676838 > 26 bytes data, server => client 07:51:54.676850 CMD (33792): ../libtool --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/valgrind741 ../src/curl -q --output log/15/curl741.out --include --trace-ascii log/15/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout741 2> log/15/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/6/valgrind874 ../src/curl -q --output log/6/curl874.out --include --trace-ascii log/6/trace874 --trace-time pop3://127.0.0.1:41121/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/6/stdout874 2> log/6/stderr874 CMD (33792): ../libtool --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/valgrind888 ../src/curl -q --output log/14/curl888.out --include --trace-ascii log/14/trace888 --trace-time pop3://127.0.0.1:40803/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/14/stdout888 2> log/14/stderr888 '+OK Mail transfer starts\r\n' 07:51:54.676872 Received DATA (on stdin) 07:51:54.676883 > 18 bytes data, server => client 07:51:54.676894 'WE ROOLZ: 121502\r\n' 07:51:54.676908 Received DATA (on stdin) 07:51:54.676919 > 3 bytes data, server => client 07:51:54.676930 '.\r\n' 07:51:54.723136 < 6 bytes data, client => server 07:51:54.723164 'QUIT\r\n' 07:51:54.723390 Received DATA (on stdin) 07:51:54.723404 > 34 bytes data, server => client 07:51:54.723416 '+OK curl POP3 server signing off\r\n' 07:51:54.724314 ====> Client disconnect 07:51:54.724971 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 ==123243== ==123243== Process terminating with default action of signal 4 (SIGILL) ==123243== Illegal opcode at address 0x4013DC0 ==123243== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123243== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123243== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123243== by 0x40037A4: main (tool_main.c:199) === End of file valgrind885 setenv HOME = /startdir/src/build-curl/tests/log/15 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/15/valgrind741 ../src/curl -q --output log/15/curl741.out --include --trace-ascii log/15/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout741 2> log/15/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind741 ../src/curl -q --output log/15/curl741.out --include --trace-ascii log/15/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout741 2> log/15/stderr741 === End of file commands.log === Start of file http_server.log 07:51:45.520301 ====> Client connect 07:51:45.520336 accept_connection 3 returned 4 07:51:45.520353 accept_connection 3 returned 0 07:51:45.520369 Read 93 bytes 07:51:45.520380 Process 93 bytes request 07:51:45.520394 Got request: GET /verifiedserver HTTP/1.1 07:51:45.520405 Are-we-friendly question received 07:51:45.520432 Wrote request (93 bytes) input to log/15/server.input 07:51:45.520450 Identifying ourselves as friends 07:51:45.520506 Response sent (56 bytes) and written to log/15/server.response 07:51:45.520521 special request received, no persistency 07:51:45.520531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 41122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind741 ==115312== ==115312== Process terminating with default action of signal 4 (SIGILL) ==115312== Illegal opcode at address 0x4013DC0 ==115312== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==115312== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115312== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==115312== by 0x40037A4: main (tool_main.c:199) === End of file valgrind741 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 41121 (log/6/server/pop3_server.port) RUN: POP3 server is PID 122342 port 41121 * pid pop3 => 122342 122342 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/6/valgrind874 ../src/curl -q --output log/6/curl874.out --include --trace-ascii log/6/trace874 --trace-time pop3://127.0.0.1:41121/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/6/stdout874 2> log/6/stderr874 874: 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/ dir 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/6/valgrind874 ../src/curl -q --output log/6/curl874.out --include --trace-ascii log/6/trace874 --trace-time pop3://127.0.0.1:41121/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/6/stdout874 2> log/6/stderr874 === End of file commands.log === Start of file pop3_server.log 07:51:54.213805 POP3 server listens on port IPv4/41121 07:51:54.213908 logged pid 122342 in log/6/server/pop3_server.pid 07:51:54.213938 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:54.040814 Running IPv4 version 07:51:54.040888 Listening on port 41121 07:51:54.040932 Wrote pid 122424 to log/6/server/pop3_sockfilt.pid 07:51:54.040962 Wrote port 41121 to log/6/server/pop3_server.port 07:51:54.041626 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 ==123419== ==123419== Process terminating with default action of signal 4 (SIGILL) ==123419== Illegal opcode at address 0x4013DC0 ==123419== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123419== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123419== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123419== by 0x40037A4: main (tool_main.c:199) === End of file valgrind874 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/14/valgrind888 ../src/curl -q --output log/14/curl888.out --include --trace-ascii log/14/trace888 --trace-time pop3://127.0.0.1:40803/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/14/stdout888 2> log/14/stderr888 888: 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/ dir 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/14/valgrind888 ../src/curl -q --output log/14/curl888.out --include --trace-ascii log/14/trace888 --trace-time pop3://127.0.0.1:40803/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/14/stdout888 2> log/14/stderr888 === End of file commands.log === Start of file pop3_server.log 07:51:55.249317 ====> Client connect 07:51:55.249506 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[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/9/valgrind892 ../src/curl -q --output log/9/curl892.out --include --trace-ascii log/9/trace892 --trace-time pop3://127.0.0.1:45187/892 -u user:secret --sasl-authzid shared-mailbox > log/9/stdout892 2> log/9/stderr892 CMD (33792): ../libtool --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/valgrind891 ../src/curl -q --output log/18/curl891.out --include --trace-ascii log/18/trace891 --trace-time pop3://127.0.0.1:33925/891 -u user:secret > log/18/stdout891 2> log/18/stderr891 [LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.249835 < "CAPA" 07:51:55.249885 > "-ERR Unrecognized command[CR][LF]" 07:51:55.250066 < "RETR verifiedserver" 07:51:55.250098 return proof we are we 07:51:55.250121 > "+OK Mail transfer starts[CR][LF]" 07:51:55.250141 > "WE ROOLZ: 121534[CR][LF]" 07:51:55.250159 > ".[CR][LF]" 07:51:55.298242 < "QUIT" 07:51:55.298302 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.299305 MAIN sockfilt said DISC 07:51:55.299345 ====> Client disconnected 07:51:55.299419 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:56.077132 ====> Client connect 07:51:56.077464 Received DATA (on stdin) 07:51:56.077481 > 178 bytes data, server => client 07:51:56.077494 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:56.077507 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:56.077519 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:56.077529 've \r\n' 07:51:56.077613 < 6 bytes data, client => server 07:51:56.077626 'CAPA\r\n' 07:51:56.077830 Received DATA (on stdin) 07:51:56.077844 > 27 bytes data, server => client 07:51:56.077855 '-ERR Unrecognized command\r\n' 07:51:56.077910 < 21 bytes data, client => server 07:51:56.077922 'RETR verifiedserver\r\n' 07:51:56.078101 Received DATA (on stdin) 07:51:56.078114 > 26 bytes data, server => client 07:51:56.078125 '+OK Mail transfer starts\r\n' 07:51:56.078147 Received DATA (on stdin) 07:51:56.078158 > 18 bytes data, server => client 07:51:56.078169 'WE ROOLZ: 121534\r\n' 07:51:56.078183 Received DATA (on stdin) 07:51:56.078193 > 3 bytes data, server => client 07:51:56.078204 '.\r\n' 07:51:56.125986 < 6 bytes data, client => server 07:51:56.126021 'QUIT\r\n' 07:51:56.126249 Received DATA (on stdin) 07:51:56.126263 > 34 bytes data, server => client 07:51:56.126276 '+OK curl POP3 server signing off\r\n' 07:51:56.127177 ====> Client disconnect 07:51:56.127363 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 ==123488== ==123488== Process terminating with default action of signal 4 (SIGILL) ==123488== Illegal opcode at address 0x4013DC0 ==123488== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123488== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123488== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123488== by 0x40037A4: main (tool_main.c:199) === End of file valgrind888 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/9/valgrind892 ../src/curl -q --output log/9/curl892.out --include --trace-ascii log/9/trace892 --trace-time pop3://127.0.0.1:45187/892 -u user:secret --sasl-authzid shared-mailbox > log/9/stdout892 2> log/9/stderr892 892: 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/ dir 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/9/valgrind892 ../src/curl -q --output log/9/curl892.out --include --trace-ascii log/9/trace892 --trace-time pop3://127.0.0.1:45187/892 -u user:secret --sasl-authzid shared-mailbox > log/9/stdout892 2> log/9/stderr892 === End of file commands.log === Start of file pop3_server.log 07:51:55.412311 ====> Client connect 07:51:55.412480 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.412784 < "CAPA" 07:51:55.412830 > "-ERR Unrecognized command[CR][LF]" 07:51:55.413006 < "RETR verifiedserver" 07:51:55.413032 return proof we are we 07:51:55.413053 > "+OK Mail transfer starts[CR][LF]" 07:51:55.413072 > "WE ROOLZ: 121541[CR][LF]" 07:51:55.413088 > ".[CR][LF]" 07:51:55.456209 < "QUIT" 07:51:55.456267 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.457090 MAIN sockfilt said DISC 07:51:55.457127 ====> Client disconnected 07:51:55.457204 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:56.240142 ====> Client connect 07:51:56.240434 Received DATA (on stdin) 07:51:56.240451 > 178 bytes data, server => client 07:51:56.240463 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:56.240477 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:56.240487 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:56.240497 've \r\n' 07:51:56.240570 < 6 bytes data, client => server 07:51:56.240582 'CAPA\r\n' 07:51:56.240774 Received DATA (on stdin) 07:51:56.240787 > 27 bytes data, server => client 07:51:56.240798 '-ERR Unrecognized command\r\n' 07:51:56.240850 < 21 bytes data, client => server 07:51:56.240862 'RETR verifiedserver\r\n' 07:51:56.241029 Received DATA (on stdin) 07:51:56.241041 > 26 bytes data, server => client 07:51:56.241051 '+OK Mail transfer starts\r\n' 07:51:56.241070 Received DATA (on stdin) 07:51:56.241080 > 18 bytes data, server => client 07:51:56.241090 'WE ROOLZ: 121541\r\n' 07:51:56.241103 Received DATA (on stdin) 07:51:56.241116 > 3 bytes data, server => client 07:51:56.241126 '.\r\n' 07:51:56.283971 < 6 bytes data, client => server 07:51:56.283995 'QUIT\r\n' 07:51:56.284214 Received DATA (on stdin) 07:51:56.284227 > 34 bytes data, server => client 07:51:56.284237 '+OK curl POP3 server signing off\r\n' 07:51:56.284966 ====> Client disconnect 07:51:56.285146 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 ==123660== ==123660== Process terminating with default action of signal 4 (SIGILL) ==123660== Illegal opcode at address 0x4013DC0 ==123660== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123660== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123660== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123660== by 0x40037A4: main (tool_main.c:199) === End of file valgrind892 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/18/valgrind891 ../src/curl -q --output log/18/curl891.out --include --trace-ascii log/18/trace891 --trace-time pop3://127.0.0.1:33925/891 -u user:secret > log/18/stdout891 2> log/18/stderr891 891: 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/ dir 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/18/valgrind891 ../src/curl -q --output log/18/curl891.out --include --trace-ascii log/18/trace891 --trace-time pop3://127.0.0.1:33925/891 -u user:secret > log/18/stdout891 2> log/18/stderr891 === End of file commands.log === Start of file pop3_server.log 07:51:55.375706 ====> Client connect 07:51:55.375889 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.376291 < "CAPA" 07:51:55.376340 > "-ERR Unrecognized command[CR][LF]" 07:51:55.376524 < "RETR verifiedserver" 07:51:55.376556 return proof we are we 07:51:55.37CMD (33792): ../libtool --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/valgrind889 ../src/curl -q --output log/19/curl889.out --include --trace-ascii log/19/trace889 --trace-time pop3://127.0.0.1:41381/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/19/stdout889 2> log/19/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/22/valgrind893 ../src/curl -q --output log/22/curl893.out --include --trace-ascii log/22/trace893 --trace-time pop3://127.0.0.1:35039/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/22/stdout893 2> log/22/stderr893 6578 > "+OK Mail transfer starts[CR][LF]" 07:51:55.376596 > "WE ROOLZ: 121540[CR][LF]" 07:51:55.376614 > ".[CR][LF]" 07:51:55.421577 < "QUIT" 07:51:55.421641 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.422845 MAIN sockfilt said DISC 07:51:55.422892 ====> Client disconnected 07:51:55.422975 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:56.203520 ====> Client connect 07:51:56.203843 Received DATA (on stdin) 07:51:56.203857 > 178 bytes data, server => client 07:51:56.203870 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:56.203882 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:56.203894 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:56.203904 've \r\n' 07:51:56.203982 < 6 bytes data, client => server 07:51:56.203995 'CAPA\r\n' 07:51:56.204286 Received DATA (on stdin) 07:51:56.204300 > 27 bytes data, server => client 07:51:56.204312 '-ERR Unrecognized command\r\n' 07:51:56.204364 < 21 bytes data, client => server 07:51:56.204376 'RETR verifiedserver\r\n' 07:51:56.204556 Received DATA (on stdin) 07:51:56.204568 > 26 bytes data, server => client 07:51:56.204580 '+OK Mail transfer starts\r\n' 07:51:56.204600 Received DATA (on stdin) 07:51:56.204610 > 18 bytes data, server => client 07:51:56.204621 'WE ROOLZ: 121540\r\n' 07:51:56.204635 Received DATA (on stdin) 07:51:56.204646 > 3 bytes data, server => client 07:51:56.204656 '.\r\n' 07:51:56.249318 < 6 bytes data, client => server 07:51:56.249356 'QUIT\r\n' 07:51:56.249594 Received DATA (on stdin) 07:51:56.249612 > 34 bytes data, server => client 07:51:56.249624 '+OK curl POP3 server signing off\r\n' 07:51:56.250716 ====> Client disconnect 07:51:56.250929 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 ==123623== ==123623== Process terminating with default action of signal 4 (SIGILL) ==123623== Illegal opcode at address 0x4013DC0 ==123623== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123623== by 0x40037A4: main (tool_main.c:199) === End of file valgrind891 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/19/valgrind889 ../src/curl -q --output log/19/curl889.out --include --trace-ascii log/19/trace889 --trace-time pop3://127.0.0.1:41381/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/19/stdout889 2> log/19/stderr889 889: 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/ dir 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/19/valgrind889 ../src/curl -q --output log/19/curl889.out --include --trace-ascii log/19/trace889 --trace-time pop3://127.0.0.1:41381/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/19/stdout889 2> log/19/stderr889 === End of file commands.log === Start of file pop3_server.log 07:51:55.355636 ====> Client connect 07:51:55.355876 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.356257 < "CAPA" 07:51:55.356312 > "-ERR Unrecognized command[CR][LF]" 07:51:55.356523 < "RETR verifiedserver" 07:51:55.356559 return proof we are we 07:51:55.356586 > "+OK Mail transfer starts[CR][LF]" 07:51:55.356610 > "WE ROOLZ: 121538[CR][LF]" 07:51:55.356628 > ".[CR][LF]" 07:51:55.404897 < "QUIT" 07:51:55.404963 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.405972 MAIN sockfilt said DISC 07:51:55.406015 ====> Client disconnected 07:51:55.406102 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:56.183425 ====> Client connect 07:51:56.183840 Received DATA (on stdin) 07:51:56.183858 > 178 bytes data, server => client 07:51:56.183872 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:56.183884 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:56.183895 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:56.183905 've \r\n' 07:51:56.183991 < 6 bytes data, client => server 07:51:56.184010 'CAPA\r\n' 07:51:56.184263 Received DATA (on stdin) 07:51:56.184279 > 27 bytes data, server => client 07:51:56.184291 '-ERR Unrecognized command\r\n' 07:51:56.184352 < 21 bytes data, client => server 07:51:56.184367 'RETR verifiedserver\r\n' 07:51:56.184571 Received DATA (on stdin) 07:51:56.184584 > 26 bytes data, server => client 07:51:56.184595 '+OK Mail transfer starts\r\n' 07:51:56.184616 Received DATA (on stdin) 07:51:56.184627 > 18 bytes data, server => client 07:51:56.184637 'WE ROOLZ: 121538\r\n' 07:51:56.184649 Received DATA (on stdin) 07:51:56.184658 > 3 bytes data, server => client 07:51:56.184668 '.\r\n' 07:51:56.232635 < 6 bytes data, client => server 07:51:56.232666 'QUIT\r\n' 07:51:56.232917 Received DATA (on stdin) 07:51:56.232934 > 34 bytes data, server => client 07:51:56.232947 '+OK curl POP3 server signing off\r\n' 07:51:56.233841 ====> Client disconnect 07:51:56.234053 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDEzODEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==123616== ==123616== Process terminating with default action of signal 4 (SIGILL) ==123616== Illegal opcode at address 0x4013DC0 ==123616== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123616== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123616== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123616== by 0x40037A4: main (tool_main.c:199) === End of file valgrind889 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/22/valgrind893 ../src/curl -q --output log/22/curl893.out --include --trace-ascii log/22/trace893 --trace-time pop3://127.0.0.1:35039/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/22/stdout893 2> log/22/stderr893 893: 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/ dir 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/22/valgrind893 ../src/curl -q --output log/22/curl893.out --include --trace-ascii log/22/trace893 --trace-time pop3://127.0.0.1:35039/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/22/stdout893 2> log/22/stderr893 === End of file commands.log === Start of file pop3_server.log 07:51:55.404618 ====> Client connect 07:51:55.404827 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.414972 < "CAPA" 07:51:55.415032 > "-ERR Unrecognized command[CR][LF]" 07:51:55.415202 < "RETRCMD (33792): ../libtool --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/valgrind890 ../src/curl -q --output log/5/curl890.out --include --trace-ascii log/5/trace890 --trace-time pop3://127.0.0.1:45371/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/5/stdout890 2> log/5/stderr890 CMD (33792): ../libtool --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/valgrind894 ../src/curl -q --output log/11/curl894.out --include --trace-ascii log/11/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:41225/894 > log/11/stdout894 2> log/11/stderr894 verifiedserver" 07:51:55.415230 return proof we are we 07:51:55.415251 > "+OK Mail transfer starts[CR][LF]" 07:51:55.415270 > "WE ROOLZ: 121547[CR][LF]" 07:51:55.415288 > ".[CR][LF]" 07:51:55.461648 < "QUIT" 07:51:55.461705 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.462581 MAIN sockfilt said DISC 07:51:55.462618 ====> Client disconnected 07:51:55.462690 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:55.228742 ====> Client connect 07:51:55.232797 Received DATA (on stdin) 07:51:55.232821 > 178 bytes data, server => client 07:51:55.232835 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:55.232848 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:55.232860 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:55.232871 've \r\n' 07:51:55.242716 < 6 bytes data, client => server 07:51:55.242742 'CAPA\r\n' 07:51:55.242979 Received DATA (on stdin) 07:51:55.242992 > 27 bytes data, server => client 07:51:55.243005 '-ERR Unrecognized command\r\n' 07:51:55.243058 < 21 bytes data, client => server 07:51:55.243070 'RETR verifiedserver\r\n' 07:51:55.243230 Received DATA (on stdin) 07:51:55.243242 > 26 bytes data, server => client 07:51:55.243253 '+OK Mail transfer starts\r\n' 07:51:55.243273 Received DATA (on stdin) 07:51:55.243283 > 18 bytes data, server => client 07:51:55.243294 'WE ROOLZ: 121547\r\n' 07:51:55.243308 Received DATA (on stdin) 07:51:55.243318 > 3 bytes data, server => client 07:51:55.243328 '.\r\n' 07:51:55.289431 < 6 bytes data, client => server 07:51:55.289457 'QUIT\r\n' 07:51:55.289656 Received DATA (on stdin) 07:51:55.289671 > 34 bytes data, server => client 07:51:55.289683 '+OK curl POP3 server signing off\r\n' 07:51:55.290455 ====> Client disconnect 07:51:55.290639 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 ==123659== ==123659== Process terminating with default action of signal 4 (SIGILL) ==123659== Illegal opcode at address 0x4013DC0 ==123659== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123659== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123659== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123659== by 0x40037A4: main (tool_main.c:199) === End of file valgrind893 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/5/valgrind890 ../src/curl -q --output log/5/curl890.out --include --trace-ascii log/5/trace890 --trace-time pop3://127.0.0.1:45371/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/5/stdout890 2> log/5/stderr890 890: 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/ dir 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/5/valgrind890 ../src/curl -q --output log/5/curl890.out --include --trace-ascii log/5/trace890 --trace-time pop3://127.0.0.1:45371/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/5/stdout890 2> log/5/stderr890 === End of file commands.log === Start of file pop3_server.log 07:51:55.388272 ====> Client connect 07:51:55.388449 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.388819 < "CAPA" 07:51:55.388868 > "-ERR Unrecognized command[CR][LF]" 07:51:55.389059 < "RETR verifiedserver" 07:51:55.389088 return proof we are we 07:51:55.389110 > "+OK Mail transfer starts[CR][LF]" 07:51:55.389128 > "WE ROOLZ: 121536[CR][LF]" 07:51:55.389146 > ".[CR][LF]" 07:51:55.438127 < "QUIT" 07:51:55.438187 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.439659 MAIN sockfilt said DISC 07:51:55.439705 ====> Client disconnected 07:51:55.439777 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:56.216095 ====> Client connect 07:51:56.216408 Received DATA (on stdin) 07:51:56.216425 > 178 bytes data, server => client 07:51:56.216442 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:56.216453 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:56.216465 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:56.216474 've \r\n' 07:51:56.216589 < 6 bytes data, client => server 07:51:56.216603 'CAPA\r\n' 07:51:56.216816 Received DATA (on stdin) 07:51:56.216830 > 27 bytes data, server => client 07:51:56.216842 '-ERR Unrecognized command\r\n' 07:51:56.216902 < 21 bytes data, client => server 07:51:56.216915 'RETR verifiedserver\r\n' 07:51:56.217088 Received DATA (on stdin) 07:51:56.217101 > 26 bytes data, server => client 07:51:56.217112 '+OK Mail transfer starts\r\n' 07:51:56.217133 Received DATA (on stdin) 07:51:56.217143 > 18 bytes data, server => client 07:51:56.217154 'WE ROOLZ: 121536\r\n' 07:51:56.217167 Received DATA (on stdin) 07:51:56.217177 > 3 bytes data, server => client 07:51:56.217188 '.\r\n' 07:51:56.265866 < 6 bytes data, client => server 07:51:56.265905 'QUIT\r\n' 07:51:56.266136 Received DATA (on stdin) 07:51:56.266150 > 34 bytes data, server => client 07:51:56.266163 '+OK curl POP3 server signing off\r\n' 07:51:56.267027 ====> Client disconnect 07:51:56.267736 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 ==123717== ==123717== Process terminating with default action of signal 4 (SIGILL) ==123717== Illegal opcode at address 0x4013DC0 ==123717== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123717== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123717== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123717== by 0x40037A4: main (tool_main.c:199) === End of file valgrind890 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/11/valgrind894 ../src/curl -q --output log/11/curl894.out --include --trace-ascii log/11/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:41225/894 > log/11/stdout894 2> log/11/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/11/ dir 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/11/valgrind894 ../src/curl -q --output log/11/curl894.out --include --trace-ascii log/11/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:41225/894 > log/11/stdout894 2> log/11/stderr894 === End of file commands.log === Start of file pop3_server.log 07:51:55.553447 ====> Client connect 07:51:55.553704 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:51:55.555296 < "CAPA" 07:51:55.555342 > "-ERR Unrecognized command[CR][LF]" 07:51:55.555534 < "RETR verifiedserver" 07:51:55.555562 return proof we are we 07:51:55.555586 > "+OK Mail transfeCMD (33792): ../libtool --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/valgrind898 ../src/curl -q --output log/8/curl898.out --include --trace-ascii log/8/trace898 --trace-time -x http://127.0.0.1:36147 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/8/stdout898 2> log/8/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/4/valgrind896 ../src/curl -q --output log/4/curl896.out --include --trace-ascii log/4/trace896 --trace-time 'imap://127.0.0.1:43341/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/4/stdout896 2> log/4/stderr896 r starts[CR][LF]" 07:51:55.555606 > "WE ROOLZ: 121318[CR][LF]" 07:51:55.555623 > ".[CR][LF]" 07:51:55.604915 < "QUIT" 07:51:55.604980 > "+OK curl POP3 server signing off[CR][LF]" 07:51:55.606019 MAIN sockfilt said DISC 07:51:55.606062 ====> Client disconnected 07:51:55.606130 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:51:55.372414 ====> Client connect 07:51:55.381673 Received DATA (on stdin) 07:51:55.381696 > 178 bytes data, server => client 07:51:55.381710 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:55.381722 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:55.382929 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:51:55.382952 've \r\n' 07:51:55.383070 < 6 bytes data, client => server 07:51:55.383085 'CAPA\r\n' 07:51:55.383289 Received DATA (on stdin) 07:51:55.383303 > 27 bytes data, server => client 07:51:55.383315 '-ERR Unrecognized command\r\n' 07:51:55.383373 < 21 bytes data, client => server 07:51:55.383386 'RETR verifiedserver\r\n' 07:51:55.383568 Received DATA (on stdin) 07:51:55.383580 > 26 bytes data, server => client 07:51:55.383592 '+OK Mail transfer starts\r\n' 07:51:55.383614 Received DATA (on stdin) 07:51:55.383626 > 18 bytes data, server => client 07:51:55.383637 'WE ROOLZ: 121318\r\n' 07:51:55.383650 Received DATA (on stdin) 07:51:55.383661 > 3 bytes data, server => client 07:51:55.383672 '.\r\n' 07:51:55.432647 < 6 bytes data, client => server 07:51:55.432680 'QUIT\r\n' 07:51:55.432931 Received DATA (on stdin) 07:51:55.432947 > 34 bytes data, server => client 07:51:55.432959 '+OK curl POP3 server signing off\r\n' 07:51:55.433899 ====> Client disconnect 07:51:55.434074 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 ==123840== ==123840== Process terminating with default action of signal 4 (SIGILL) ==123840== Illegal opcode at address 0x4013DC0 ==123840== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==123840== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123840== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==123840== by 0x40037A4: main (tool_main.c:199) === End of file valgrind894 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/8/valgrind898 ../src/curl -q --output log/8/curl898.out --include --trace-ascii log/8/trace898 --trace-time -x http://127.0.0.1:36147 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/8/stdout898 2> log/8/stderr898 898: 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/ dir 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/8/valgrind898 ../src/curl -q --output log/8/curl898.out --include --trace-ascii log/8/trace898 --trace-time -x http://127.0.0.1:36147 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/8/stdout898 2> log/8/stderr898 === End of file commands.log === Start of file http_server.log 07:51:55.632551 ====> Client connect 07:51:55.632582 accept_connection 3 returned 4 07:51:55.632599 accept_connection 3 returned 0 07:51:55.632612 Read 93 bytes 07:51:55.632622 Process 93 bytes request 07:51:55.632635 Got request: GET /verifiedserver HTTP/1.1 07:51:55.632644 Are-we-friendly question received 07:51:55.632666 Wrote request (93 bytes) input to log/8/server.input 07:51:55.632681 Identifying ourselves as friends 07:51:55.632735 Response sent (56 bytes) and written to log/8/server.response 07:51:55.632745 special request received, no persistency 07:51:55.632754 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 35802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind898 ==124043== ==124043== Process terminating with default action of signal 4 (SIGILL) ==124043== Illegal opcode at address 0x4013DC0 ==124043== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124043== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124043== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124043== by 0x40037A4: main (tool_main.c:199) === End of file valgrind898 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/4/valgrind896 ../src/curl -q --output log/4/curl896.out --include --trace-ascii log/4/trace896 --trace-time 'imap://127.0.0.1:43341/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/4/stdout896 2> log/4/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind896 ../src/curl -q --output log/4/curl896.out --include --trace-ascii log/4/trace896 --trace-time 'imap://127.0.0.1:43341/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/4/stdout896 2> log/4/stderr896 === End of file commands.log === Start of file imap_server.log 07:51:55.764548 ====> Client connect 07:51:55.764773 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:55.768274 < "A001 CAPABILITY" 07:51:55.768324 > "A001 BAD Command[CR][LF]" 07:51:55.768525 < "A002 LIST "verifiedserver" *" 07:51:55.768556 LIST_imap got "verifiedserver" * 07:51:55.768583 > "* LIST () "/" "WE ROOLZ: 118777"[CR][LF]" 07:51:55.768599 > "A002 OK LIST Completed[CR][LF]" 07:51:55.768612 return proof we are we 07:51:55.814846 < "A003 LOGOUT" 07:51:55.814899 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:55.814920 > "A003 OK LOGOUT completed[CR][LF]" 07:51:55.816111 MAIN sockfilt said DISC 07:51:55.816154 ====> Client disconnected 07:51:55.816218 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:55.591618 ====> Client connect 07:51:55.595855 Received DATA (on stdin) 07:51:55.595885 > 178 bytes data, server => client 07:51:55.595899 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:55.595911 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:55.595922 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:55.595932 'rve\r\n' 07:51:55.596048 < 17 bytes data, client => server 07:51:55.596062 'A001 CAPABILITY\r\n' 07:51:55.596272 Received DATA (on stdin) 07:51:55.596286 > 18 bytes data, server => client 07:51:55.596298 'A001 BAD Command\r\n' 07:51:55.596363 < 30 bytes data, client => server 07:51:55.596376 'A002 LIST "verifiedserver" *\r\n' 07:51:55.59CMD (33792): ../libtool --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/valgrind895 ../src/curl -q --output log/24/curl895.out --include --trace-ascii log/24/trace895 --trace-time 'imap://127.0.0.1:45207/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/24/stdout895 2> log/24/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/12/valgrind897 ../src/curl -q --output log/12/curl897.out --include --trace-ascii log/12/trace897 --trace-time 'imap://127.0.0.1:46113/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/12/head-897 > log/12/stdout897 2> log/12/stderr897 6554 Received DATA (on stdin) 07:51:55.596566 > 34 bytes data, server => client 07:51:55.596577 '* LIST () "/" "WE ROOLZ: 118777"\r\n' 07:51:55.596598 Received DATA (on stdin) 07:51:55.596608 > 24 bytes data, server => client 07:51:55.596618 'A002 OK LIST Completed\r\n' 07:51:55.642619 < 13 bytes data, client => server 07:51:55.642647 'A003 LOGOUT\r\n' 07:51:55.642870 Received DATA (on stdin) 07:51:55.642892 > 36 bytes data, server => client 07:51:55.642905 '* BYE curl IMAP server signing off\r\n' 07:51:55.642935 Received DATA (on stdin) 07:51:55.642949 > 26 bytes data, server => client 07:51:55.642960 'A003 OK LOGOUT completed\r\n' 07:51:55.643982 ====> Client disconnect 07:51:55.644163 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 ==124048== ==124048== Process terminating with default action of signal 4 (SIGILL) ==124048== Illegal opcode at address 0x4013DC0 ==124048== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124048== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124048== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124048== by 0x40037A4: main (tool_main.c:199) === End of file valgrind896 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/24/valgrind895 ../src/curl -q --output log/24/curl895.out --include --trace-ascii log/24/trace895 --trace-time 'imap://127.0.0.1:45207/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/24/stdout895 2> log/24/stderr895 895: 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/ dir 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/24/valgrind895 ../src/curl -q --output log/24/curl895.out --include --trace-ascii log/24/trace895 --trace-time 'imap://127.0.0.1:45207/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/24/stdout895 2> log/24/stderr895 === End of file commands.log === Start of file imap_server.log 07:51:55.733596 ====> Client connect 07:51:55.733749 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:55.734132 < "A001 CAPABILITY" 07:51:55.738015 > "A001 BAD Command[CR][LF]" 07:51:55.748049 < "A002 LIST "verifiedserver" *" 07:51:55.748095 LIST_imap got "verifiedserver" * 07:51:55.748129 > "* LIST () "/" "WE ROOLZ: 118606"[CR][LF]" 07:51:55.748147 > "A002 OK LIST Completed[CR][LF]" 07:51:55.748160 return proof we are we 07:51:55.798154 < "A003 LOGOUT" 07:51:55.798203 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:55.798221 > "A003 OK LOGOUT completed[CR][LF]" 07:51:55.799099 MAIN sockfilt said DISC 07:51:55.799136 ====> Client disconnected 07:51:55.799198 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:56.561424 ====> Client connect 07:51:56.561716 Received DATA (on stdin) 07:51:56.561736 > 178 bytes data, server => client 07:51:56.561752 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:56.561764 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:56.561776 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:56.561786 'rve\r\n' 07:51:56.561898 < 17 bytes data, client => server 07:51:56.561916 'A001 CAPABILITY\r\n' 07:51:56.562103 Received DATA (on stdin) 07:51:56.562118 > 18 bytes data, server => client 07:51:56.572524 'A001 BAD Command\r\n' 07:51:56.572634 < 30 bytes data, client => server 07:51:56.572650 'A002 LIST "verifiedserver" *\r\n' 07:51:56.576106 Received DATA (on stdin) 07:51:56.576121 > 34 bytes data, server => client 07:51:56.576132 '* LIST () "/" "WE ROOLZ: 118606"\r\n' 07:51:56.576161 Received DATA (on stdin) 07:51:56.576171 > 24 bytes data, server => client 07:51:56.576181 'A002 OK LIST Completed\r\n' 07:51:56.625938 < 13 bytes data, client => server 07:51:56.625964 'A003 LOGOUT\r\n' 07:51:56.626166 Received DATA (on stdin) 07:51:56.626178 > 36 bytes data, server => client 07:51:56.626189 '* BYE curl IMAP server signing off\r\n' 07:51:56.626210 Received DATA (on stdin) 07:51:56.626219 > 26 bytes data, server => client 07:51:56.626229 'A003 OK LOGOUT completed\r\n' 07:51:56.626980 ====> Client disconnect 07:51:56.627140 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 ==124033== ==124033== Process terminating with default action of signal 4 (SIGILL) ==124033== Illegal opcode at address 0x4013DC0 ==124033== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124033== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124033== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124033== by 0x40037A4: main (tool_main.c:199) === End of file valgrind895 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/12/valgrind897 ../src/curl -q --output log/12/curl897.out --include --trace-ascii log/12/trace897 --trace-time 'imap://127.0.0.1:46113/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/12/head-897 > log/12/stdout897 2> log/12/stderr897 897: 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/ dir 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/12/valgrind897 ../src/curl -q --output log/12/curl897.out --include --trace-ascii log/12/trace897 --trace-time 'imap://127.0.0.1:46113/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/12/head-897 > log/12/stdout897 2> log/12/stderr897 === End of file commands.log === Start of file imap_server.log 07:51:55.795904 ====> Client connect 07:51:55.796050 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:51:55.796368 < "A001 CAPABILITY" 07:51:55.796411 > "A001 BAD Command[CR][LF]" 07:51:55.796618 < "A002 LIST "verifiedserver" *" 07:51:55.796650 LIST_imap got "verifiedserver" * 07:51:55.796677 > "* LIST () "/" "WE ROOLZ: 118779"[CR][LF]" 07:51:55.796695 > "A002 OK LIST Completed[CR][LF]" 07:51:55.796709 return proof we are we 07:51:55.838792 < "A003 LOGOUT" 07:51:55.838845 > "* BYE curl IMAP server signing off[CR][LF]" 07:51:55.838868 > "A003 OK LOGOUT completed[CR][LF]" 07:51:55.839860 MAIN sockfilt said DISC 07:51:55.839902 ====> Client disconnected 07:51:55.839976 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:51:55.623724 ====> Client connect 07:51:55.624010 Received DATA (on stdin) 07:51:55.624029 > 178 bytes data, server => client 07:51:55.624043 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:51:55.624055 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:51:55.624067 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:51:55.624077 'rve\r\n' 07:51:55.624159 < 17 bytes data, client => server 07:51:55.624175 'A001 CAPABILITY\r\n' 07:51:55.624361 Received DATA (on stdin) 07:51:55.624377 > 18 bytes data, server => client 07:51:55.624389 'A001 BAD Command\r\n' 07:51:55.624451 < 30 bytes 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/23/valgrind899 ../src/curl -q --output log/23/curl899.out --include --trace-ascii log/23/trace899 --trace-time http://first:secret@127.0.0.1:41029/899 -L > log/23/stdout899 2> log/23/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/3/valgrind908 ../src/curl -q --output log/3/curl908.out --include --trace-ascii log/3/trace908 --trace-time smtp://127.0.0.1:34951/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/3/stdout908 2> log/3/stderr908 client => server 07:51:55.624466 'A002 LIST "verifiedserver" *\r\n' 07:51:55.624653 Received DATA (on stdin) 07:51:55.624667 > 34 bytes data, server => client 07:51:55.624679 '* LIST () "/" "WE ROOLZ: 118779"\r\n' 07:51:55.624702 Received DATA (on stdin) 07:51:55.624714 > 24 bytes data, server => client 07:51:55.624725 'A002 OK LIST Completed\r\n' 07:51:55.666566 < 13 bytes data, client => server 07:51:55.666591 'A003 LOGOUT\r\n' 07:51:55.666818 Received DATA (on stdin) 07:51:55.666835 > 36 bytes data, server => client 07:51:55.666847 '* BYE curl IMAP server signing off\r\n' 07:51:55.666873 Received DATA (on stdin) 07:51:55.666885 > 26 bytes data, server => client 07:51:55.666898 'A003 OK LOGOUT completed\r\n' 07:51:55.667740 ====> Client disconnect 07:51:55.667920 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 ==124085== ==124085== Process terminating with default action of signal 4 (SIGILL) ==124085== Illegal opcode at address 0x4013DC0 ==124085== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124085== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124085== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124085== by 0x40037A4: main (tool_main.c:199) === End of file valgrind897 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/23/valgrind899 ../src/curl -q --output log/23/curl899.out --include --trace-ascii log/23/trace899 --trace-time http://first:secret@127.0.0.1:41029/899 -L > log/23/stdout899 2> log/23/stderr899 899: 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/ dir 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/23/valgrind899 ../src/curl -q --output log/23/curl899.out --include --trace-ascii log/23/trace899 --trace-time http://first:secret@127.0.0.1:41029/899 -L > log/23/stdout899 2> log/23/stderr899 === End of file commands.log === Start of file http_server.log 07:51:55.667126 ====> Client connect 07:51:55.667163 accept_connection 3 returned 4 07:51:55.667180 accept_connection 3 returned 0 07:51:55.667195 Read 93 bytes 07:51:55.667206 Process 93 bytes request 07:51:55.667220 Got request: GET /verifiedserver HTTP/1.1 07:51:55.667231 Are-we-friendly question received 07:51:55.667257 Wrote request (93 bytes) input to log/23/server.input 07:51:55.667275 Identifying ourselves as friends 07:51:55.667332 Response sent (56 bytes) and written to log/23/server.response 07:51:55.667343 special request received, no persistency 07:51:55.667353 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 44996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind899 ==124103== ==124103== Process terminating with default action of signal 4 (SIGILL) ==124103== Illegal opcode at address 0x4013DC0 ==124103== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124103== by 0x40037A4: main (tool_main.c:199) === End of file valgrind899 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/3/valgrind908 ../src/curl -q --output log/3/curl908.out --include --trace-ascii log/3/trace908 --trace-time smtp://127.0.0.1:34951/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/3/stdout908 2> log/3/stderr908 908: 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/ dir 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/3/valgrind908 ../src/curl -q --output log/3/curl908.out --include --trace-ascii log/3/trace908 --trace-time smtp://127.0.0.1:34951/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/3/stdout908 2> log/3/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 07:51:56.293949 ====> Client connect 07:51:56.294140 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:56.294491 < "EHLO verifiedserver" 07:51:56.294548 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:56.294905 < "HELP" 07:51:56.294943 > "214 WE ROOLZ: 109725[CR][LF]" 07:51:56.294958 return proof we are we 07:51:56.295199 < "QUIT" 07:51:56.295227 > "221 curl ESMTP server signing off[CR][LF]" 07:51:56.296019 MAIN sockfilt said DISC 07:51:56.296050 ====> Client disconnected 07:51:56.296121 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.121763 ====> Client connect 07:51:56.122102 Received DATA (on stdin) 07:51:56.122120 > 160 bytes data, server => client 07:51:56.122134 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:56.122146 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:56.122158 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:56.122249 < 21 bytes data, client => server 07:51:56.122263 'EHLO verifiedserver\r\n' 07:51:56.122644 Received DATA (on stdin) 07:51:56.122661 > 53 bytes data, server => client 07:51:56.122674 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:56.122735 < 6 bytes data, client => server 07:51:56.122748 'HELP\r\n' 07:51:56.122901 Received DATA (on stdin) 07:51:56.122913 > 22 bytes data, server => client 07:51:56.122925 '214 WE ROOLZ: 109725\r\n' 07:51:56.123044 < 6 bytes data, client => server 07:51:56.123058 'QUIT\r\n' 07:51:56.123169 Received DATA (on stdin) 07:51:56.123182 > 35 bytes data, server => client 07:51:56.123194 '221 curl ESMTP server signing off\r\n' 07:51:56.123904 ====> Client disconnect 07:51:56.124065 Received ACKD (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 ==124339== ==124339== Process terminating with default action of signal 4 (SIGILL) ==124339== Illegal opcode at address 0x4013DC0 ==124339== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124339== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124339== by 0x40037A4: 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/9/valgrind914 ../src/curl -q --output log/9/curl914.out --include --trace-ascii log/9/trace914 --trace-time smtp://127.0.0.1:33035/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/9/test914.eml > log/9/stdout914 2> log/9/stderr914 CMD (33792): ../libtool --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/valgrind917 ../src/curl -q --output log/22/curl917.out --include --trace-ascii log/22/trace917 --trace-time smtp://127.0.0.1:43255/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/22/stdout917 2> log/22/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/10/valgrind900 ../src/curl -q --output log/10/curl900.out --include --trace-ascii log/10/trace900 --trace-time smtp://127.0.0.1:41025/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/10/mail900 > log/10/stdout900 2> log/10/stderr900 nedFun (tool_operate.c:2234) ==124339== by 0x40037A4: main (tool_main.c:199) === End of file valgrind908 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/9/valgrind914 ../src/curl -q --output log/9/curl914.out --include --trace-ascii log/9/trace914 --trace-time smtp://127.0.0.1:33035/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/9/test914.eml > log/9/stdout914 2> log/9/stderr914 914: 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/ dir 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/9/valgrind914 ../src/curl -q --output log/9/curl914.out --include --trace-ascii log/9/trace914 --trace-time smtp://127.0.0.1:33035/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/9/test914.eml > log/9/stdout914 2> log/9/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 07:51:56.763296 ====> Client connect 07:51:56.763439 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:56.763680 < "EHLO verifiedserver" 07:51:56.763714 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:56.763851 < "HELP" 07:51:56.763874 > "214 WE ROOLZ: 109786[CR][LF]" 07:51:56.763885 return proof we are we 07:51:56.764085 < "QUIT" 07:51:56.764113 > "221 curl ESMTP server signing off[CR][LF]" 07:51:56.764634 MAIN sockfilt said DISC 07:51:56.764665 ====> Client disconnected 07:51:56.764727 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.591145 ====> Client connect 07:51:56.591388 Received DATA (on stdin) 07:51:56.591400 > 160 bytes data, server => client 07:51:56.591411 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:56.591420 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:56.591428 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:56.591489 < 21 bytes data, client => server 07:51:56.591500 'EHLO verifiedserver\r\n' 07:51:56.591655 Received DATA (on stdin) 07:51:56.591665 > 53 bytes data, server => client 07:51:56.591675 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:56.591722 < 6 bytes data, client => server 07:51:56.591731 'HELP\r\n' 07:51:56.591826 Received DATA (on stdin) 07:51:56.591837 > 22 bytes data, server => client 07:51:56.591846 '214 WE ROOLZ: 109786\r\n' 07:51:56.591921 < 6 bytes data, client => server 07:51:56.591932 'QUIT\r\n' 07:51:56.592056 Received DATA (on stdin) 07:51:56.592069 > 35 bytes data, server => client 07:51:56.592081 '221 curl ESMTP server signing off\r\n' 07:51:56.592520 ====> Client disconnect 07:51:56.592673 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 ==124458== ==124458== Process terminating with default action of signal 4 (SIGILL) ==124458== Illegal opcode at address 0x4013DC0 ==124458== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124458== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124458== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124458== by 0x40037A4: main (tool_main.c:199) === End of file valgrind914 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/22/valgrind917 ../src/curl -q --output log/22/curl917.out --include --trace-ascii log/22/trace917 --trace-time smtp://127.0.0.1:43255/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/22/stdout917 2> log/22/stderr917 917: 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/ dir 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/22/valgrind917 ../src/curl -q --output log/22/curl917.out --include --trace-ascii log/22/trace917 --trace-time smtp://127.0.0.1:43255/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/22/stdout917 2> log/22/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 07:51:56.771094 ====> Client connect 07:51:56.771266 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:56.772345 < "EHLO verifiedserver" 07:51:56.772403 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:56.772595 < "HELP" 07:51:56.772634 > "214 WE ROOLZ: 109920[CR][LF]" 07:51:56.772649 return proof we are we 07:51:56.772876 < "QUIT" 07:51:56.772902 > "221 curl ESMTP server signing off[CR][LF]" 07:51:56.773867 MAIN sockfilt said DISC 07:51:56.773906 ====> Client disconnected 07:51:56.774066 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.598618 ====> Client connect 07:51:56.599186 Received DATA (on stdin) 07:51:56.599214 > 160 bytes data, server => client 07:51:56.599230 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:56.599243 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:56.599255 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:56.599334 < 21 bytes data, client => server 07:51:56.599351 'EHLO verifiedserver\r\n' 07:51:56.600352 Received DATA (on stdin) 07:51:56.600366 > 53 bytes data, server => client 07:51:56.600378 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:56.600436 < 6 bytes data, client => server 07:51:56.600448 'HELP\r\n' 07:51:56.600590 Received DATA (on stdin) 07:51:56.600603 > 22 bytes data, server => client 07:51:56.600613 '214 WE ROOLZ: 109920\r\n' 07:51:56.600731 < 6 bytes data, client => server 07:51:56.600745 'QUIT\r\n' 07:51:56.600844 Received DATA (on stdin) 07:51:56.600855 > 35 bytes data, server => client 07:51:56.600866 '221 curl ESMTP server signing off\r\n' 07:51:56.601589 ====> Client disconnect 07:51:56.601918 Received ACKD (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 ==124473== ==124473== Process terminating with default action of signal 4 (SIGILL) ==124473== Illegal opcode at address 0x4013DC0 ==124473== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124473== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124473== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124473== by 0x40037A4: main (tool_main.c:199) === End of file valgrind917 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 41025 (log/10/server/smtp_server.port) RUN: SMTP server is PID 124012 port 41025 * pid smtp => 124012 124012 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/10/valgrind900 ../src/curl -q --output log/10/curl900.out --include --trace-ascii log/10/trace900 --trace-time smtp://127.0.0.1:41025/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/10/mail900 > log/10/stdout900 2> log/10/stderr900 900: 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/ dir 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/10/valgrind900 ../src/curl -q --output log/10/curl900.out --include --trace-ascii log/10/trace900 --trace-time smtp://127.0.0.1:41025/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/10/mail900 > log/10/stdout900 2> log/10/stderr900 === End of file commands.log === Start of file mail900 From: different To: another body 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789CMD (33792): ../libtool --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/valgrind901 ../src/curl -q --output log/16/curl901.out --include --trace-ascii log/16/trace901 --trace-time smtp://127.0.0.1:43891/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout901 2> log/16/stderr901 CMD (33792): ../libtool --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/valgrind902 ../src/curl -q --output log/13/curl902.out --include --trace-ascii log/13/trace902 --trace-time smtp://127.0.0.1:38727/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout902 2> log/13/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/valgrind903 ../src/curl -q --output log/21/curl903.out --include --trace-ascii log/21/trace903 --trace-time smtp://127.0.0.1:43109/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout903 2> log/21/stderr903 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file mail900 === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 07:51:55.834674 SMTP server listens on port IPv4/41025 07:51:55.834782 logged pid 124012 in log/10/server/smtp_server.pid 07:51:55.834815 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:55.659536 Running IPv4 version 07:51:55.659610 Listening on port 41025 07:51:55.659650 Wrote pid 124044 to log/10/server/smtp_sockfilt.pid 07:51:55.659680 Wrote port 41025 to log/10/server/smtp_server.port 07:51:55.659702 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind900 ==124502== ==124502== Process terminating with default action of signal 4 (SIGILL) ==124502== Illegal opcode at address 0x4013DC0 ==124502== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124502== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124502== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124502== by 0x40037A4: main (tool_main.c:199) === End of file valgrind900 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 38727 (log/13/server/smtp_server.port) RUN: SMTP server is PID 124106 port 38727 * pid smtp => 124106 124106 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/13/valgrind902 ../src/curl -q --output log/13/curl902.out --include --trace-ascii log/13/trace902 --trace-time smtp://127.0.0.1:38727/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout902 2> log/13/stderr902 902: 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/ dir 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/13/valgrind902 ../src/curl -q --output log/13/curl902.out --include --trace-ascii log/13/trace902 --trace-time smtp://127.0.0.1:38727/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout902 2> log/13/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 07:51:55.934821 SMTP server listens on port IPv4/38727 07:51:55.934916 logged pid 124106 in log/13/server/smtp_server.pid 07:51:55.934943 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:55.760093 Running IPv4 version 07:51:55.760188 Listening on port 38727 07:51:55.760249 Wrote pid 124198 to log/13/server/smtp_sockfilt.pid 07:51:55.760279 Wrote port 38727 to log/13/server/smtp_server.port 07:51:55.762643 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 ==124671== ==124671== Process terminating with default action of signal 4 (SIGILL) ==124671== Illegal opcode at address 0x4013DC0 ==124671== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124671== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124671== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124671== by 0x40037A4: main (tool_main.c:199) === End of file valgrind902 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 43891 (log/16/server/smtp_server.port) RUN: SMTP server is PID 124032 port 43891 * pid smtp => 124032 124032 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/16/valgrind901 ../src/curl -q --output log/16/curl901.out --include --trace-ascii log/16/trace901 --trace-time smtp://127.0.0.1:43891/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout901 2> log/16/stderr901 901: 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/ dir 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/16/valgrind901 ../src/curl -q --output log/16/curl901.out --include --trace-ascii log/16/trace901 --trace-time smtp://127.0.0.1:43891/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout901 2> log/16/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 07:51:55.868008 SMTP server listens on port IPv4/43891 07:51:55.868121 logged pid 124032 in log/16/server/smtp_server.pid 07:51:55.868152 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:55.693389 Running IPv4 version 07:51:55.693464 Listening on port 43891 07:51:55.693505 Wrote pid 124074 to log/16/server/smtp_sockfilt.pid 07:51:55.693536 Wrote port 43891 to log/16/server/smtp_server.port 07:51:55.693561 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 ==124595== ==124595== Process terminating with default action of signal 4 (SIGILL) ==124595== Illegal opcode at address 0x4013DC0 ==124595== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124595== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124595== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124595== by 0x40037A4: main (tool_main.c:199) === End of file valgrind901 startnew: /usr/bin/perl -I. -I/startdir/src/curl/testsCMD (33792): ../libtool --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/valgrind921 ../src/curl -q --output log/4/curl921.out --include --trace-ascii log/4/trace921 --trace-time smtp://127.0.0.1:43649/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/4/stdout921 2> log/4/stderr921 CMD (33792): ../libtool --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/valgrind904 ../src/curl -q --output log/20/curl904.out --include --trace-ascii log/20/trace904 --trace-time smtp://127.0.0.1:35491/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/20/stdout904 2> log/20/stderr904 /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 43109 (log/21/server/smtp_server.port) RUN: SMTP server is PID 124246 port 43109 * pid smtp => 124246 124246 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/21/valgrind903 ../src/curl -q --output log/21/curl903.out --include --trace-ascii log/21/trace903 --trace-time smtp://127.0.0.1:43109/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout903 2> log/21/stderr903 903: 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/ dir 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/21/valgrind903 ../src/curl -q --output log/21/curl903.out --include --trace-ascii log/21/trace903 --trace-time smtp://127.0.0.1:43109/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout903 2> log/21/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 07:51:56.010248 SMTP server listens on port IPv4/43109 07:51:56.010339 logged pid 124246 in log/21/server/smtp_server.pid 07:51:56.010364 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.836755 Running IPv4 version 07:51:56.836853 Listening on port 43109 07:51:56.836895 Wrote pid 124281 to log/21/server/smtp_sockfilt.pid 07:51:56.836926 Wrote port 43109 to log/21/server/smtp_server.port 07:51:56.838088 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 ==124737== ==124737== Process terminating with default action of signal 4 (SIGILL) ==124737== Illegal opcode at address 0x4013DC0 ==124737== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124737== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124737== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124737== by 0x40037A4: main (tool_main.c:199) === End of file valgrind903 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/4/valgrind921 ../src/curl -q --output log/4/curl921.out --include --trace-ascii log/4/trace921 --trace-time smtp://127.0.0.1:43649/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/4/stdout921 2> log/4/stderr921 921: 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/ dir 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/4/valgrind921 ../src/curl -q --output log/4/curl921.out --include --trace-ascii log/4/trace921 --trace-time smtp://127.0.0.1:43649/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/4/stdout921 2> log/4/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 07:51:56.980422 ====> Client connect 07:51:56.980577 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:56.980865 < "EHLO verifiedserver" 07:51:56.980908 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:56.981078 < "HELP" 07:51:56.981110 > "214 WE ROOLZ: 109787[CR][LF]" 07:51:56.981124 return proof we are we 07:51:56.981369 < "QUIT" 07:51:56.981399 > "221 curl ESMTP server signing off[CR][LF]" 07:51:56.981537 MAIN sockfilt said DISC 07:51:56.981564 ====> Client disconnected 07:51:56.981714 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.808266 ====> Client connect 07:51:56.808531 Received DATA (on stdin) 07:51:56.808547 > 160 bytes data, server => client 07:51:56.808560 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:56.808572 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:56.808582 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:56.808658 < 21 bytes data, client => server 07:51:56.808671 'EHLO verifiedserver\r\n' 07:51:56.808854 Received DATA (on stdin) 07:51:56.808867 > 53 bytes data, server => client 07:51:56.808878 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:56.808931 < 6 bytes data, client => server 07:51:56.808942 'HELP\r\n' 07:51:56.809065 Received DATA (on stdin) 07:51:56.809078 > 22 bytes data, server => client 07:51:56.809094 '214 WE ROOLZ: 109787\r\n' 07:51:56.809200 < 6 bytes data, client => server 07:51:56.809215 'QUIT\r\n' 07:51:56.809343 Received DATA (on stdin) 07:51:56.809356 > 35 bytes data, server => client 07:51:56.809367 '221 curl ESMTP server signing off\r\n' 07:51:56.809417 ====> Client disconnect 07:51:56.809511 Received ACKD (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 ==124770== ==124770== Process terminating with default action of signal 4 (SIGILL) ==124770== Illegal opcode at address 0x4013DC0 ==124770== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124770== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124770== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124770== by 0x40037A4: main (tool_main.c:199) === End of file valgrind921 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 35491 (log/20/server/smtp_server.port) RUN: SMTP server is PID 124297 port 35491 * pid smtp => 124297 124297 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/20/valgrind904 ../src/curl -q --output log/20/curl904.out --include --trace-ascii log/20/trace904 --trace-time smtp://127.0.0.1:35491/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/20/stdout904 2> log/20/stderr904 904: 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 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/17/valgrind906 ../src/curl -q --output log/17/curl906.out --include --trace-ascii log/17/trace906 --trace-time smtp://127.0.0.1:39863/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/17/stdout906 2> log/17/stderr906 CMD (33792): ../libtool --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/valgrind905 ../src/curl -q --output log/1/curl905.out --include --trace-ascii log/1/trace905 --trace-time smtp://127.0.0.1:43077/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout905 2> log/1/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/3/valgrind925 ../src/curl -q --output log/3/curl925.out --include --trace-ascii log/3/trace925 --trace-time smtp://127.0.0.1:34951/925 --mail-rcpt user@example.net > log/3/stdout925 2> log/3/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/2/valgrind910 ../src/curl -q --output log/2/curl910.out --include --trace-ascii log/2/trace910 --trace-time smtp://127.0.0.1:40237/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/2/stdout910 2> log/2/stderr910 g/20/ dir 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/20/valgrind904 ../src/curl -q --output log/20/curl904.out --include --trace-ascii log/20/trace904 --trace-time smtp://127.0.0.1:35491/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/20/stdout904 2> log/20/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 07:51:56.124729 SMTP server listens on port IPv4/35491 07:51:56.124827 logged pid 124297 in log/20/server/smtp_server.pid 07:51:56.124858 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.948993 Running IPv4 version 07:51:56.949079 Listening on port 35491 07:51:56.949113 Wrote pid 124299 to log/20/server/smtp_sockfilt.pid 07:51:56.949140 Wrote port 35491 to log/20/server/smtp_server.port 07:51:56.952525 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 ==124849== ==124849== Process terminating with default action of signal 4 (SIGILL) ==124849== Illegal opcode at address 0x4013DC0 ==124849== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124849== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124849== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124849== by 0x40037A4: main (tool_main.c:199) === End of file valgrind904 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 39863 (log/17/server/smtp_server.port) RUN: SMTP server is PID 124302 port 39863 * pid smtp => 124302 124302 test 0906...[SMTP 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/17/valgrind906 ../src/curl -q --output log/17/curl906.out --include --trace-ascii log/17/trace906 --trace-time smtp://127.0.0.1:39863/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/17/stdout906 2> log/17/stderr906 906: 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/ dir 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/17/valgrind906 ../src/curl -q --output log/17/curl906.out --include --trace-ascii log/17/trace906 --trace-time smtp://127.0.0.1:39863/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/17/stdout906 2> log/17/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 07:51:56.199099 SMTP server listens on port IPv4/39863 07:51:56.199187 logged pid 124302 in log/17/server/smtp_server.pid 07:51:56.199218 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.026641 Running IPv4 version 07:51:56.026730 Listening on port 39863 07:51:56.026769 Wrote pid 124311 to log/17/server/smtp_sockfilt.pid 07:51:56.026799 Wrote port 39863 to log/17/server/smtp_server.port 07:51:56.026948 Received PING (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 ==124916== ==124916== Process terminating with default action of signal 4 (SIGILL) ==124916== Illegal opcode at address 0x4013DC0 ==124916== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124916== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124916== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124916== by 0x40037A4: main (tool_main.c:199) === End of file valgrind906 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 43077 (log/1/server/smtp_server.port) RUN: SMTP server is PID 124301 port 43077 * pid smtp => 124301 124301 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/1/valgrind905 ../src/curl -q --output log/1/curl905.out --include --trace-ascii log/1/trace905 --trace-time smtp://127.0.0.1:43077/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout905 2> log/1/stderr905 905: 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/ dir 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/1/valgrind905 ../src/curl -q --output log/1/curl905.out --include --trace-ascii log/1/trace905 --trace-time smtp://127.0.0.1:43077/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout905 2> log/1/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 07:51:56.191529 SMTP server listens on port IPv4/43077 07:51:56.191681 logged pid 124301 in log/1/server/smtp_server.pid 07:51:56.191712 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.017141 Running IPv4 version 07:51:56.017242 Listening on port 43077 07:51:56.017284 Wrote pid 124308 to log/1/server/smtp_sockfilt.pid 07:51:56.017315 Wrote port 43077 to log/1/server/smtp_server.port 07:51:56.019338 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 ==124900== ==124900== Process terminating with default action of signal 4 (SIGILL) ==124900== Illegal opcode at address 0x4013DC0 ==124900== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==124900== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124900== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==124900== by 0x40037A4: main (tool_main.c:199) === End of file valgrind905 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" --CMD (33792): ../libtool --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/valgrind909 ../src/curl -q --output log/7/curl909.out --include --trace-ascii log/7/trace909 --trace-time smtp://127.0.0.1:44513/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/7/test909.eml > log/7/stdout909 2> log/7/stderr909 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 40237 (log/2/server/smtp_server.port) RUN: SMTP server is PID 124355 port 40237 * pid smtp => 124355 124355 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/2/valgrind910 ../src/curl -q --output log/2/curl910.out --include --trace-ascii log/2/trace910 --trace-time smtp://127.0.0.1:40237/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/2/stdout910 2> log/2/stderr910 910: 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/ dir 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/2/valgrind910 ../src/curl -q --output log/2/curl910.out --include --trace-ascii log/2/trace910 --trace-time smtp://127.0.0.1:40237/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/2/stdout910 2> log/2/stderr910 === End of file commands.log === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 07:51:56.408021 SMTP server listens on port IPv4/40237 07:51:56.408101 logged pid 124355 in log/2/server/smtp_server.pid 07:51:56.408128 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.235552 Running IPv4 version 07:51:56.235636 Listening on port 40237 07:51:56.235677 Wrote pid 124373 to log/2/server/smtp_sockfilt.pid 07:51:56.235708 Wrote port 40237 to log/2/server/smtp_server.port 07:51:56.235871 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 ==125094== ==125094== Process terminating with default action of signal 4 (SIGILL) ==125094== Illegal opcode at address 0x4013DC0 ==125094== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125094== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125094== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125094== by 0x40037A4: main (tool_main.c:199) === End of file valgrind910 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/3/valgrind925 ../src/curl -q --output log/3/curl925.out --include --trace-ascii log/3/trace925 --trace-time smtp://127.0.0.1:34951/925 --mail-rcpt user@example.net > log/3/stdout925 2> log/3/stderr925 925: 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/ dir 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/3/valgrind925 ../src/curl -q --output log/3/curl925.out --include --trace-ascii log/3/trace925 --trace-time smtp://127.0.0.1:34951/925 --mail-rcpt user@example.net > log/3/stdout925 2> log/3/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 07:51:57.295793 ====> Client connect 07:51:57.295940 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:57.296214 < "EHLO verifiedserver" 07:51:57.296255 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:57.296418 < "HELP" 07:51:57.296448 > "214 WE ROOLZ: 109725[CR][LF]" 07:51:57.296462 return proof we are we 07:51:57.296650 < "QUIT" 07:51:57.296676 > "221 curl ESMTP server signing off[CR][LF]" 07:51:57.297391 MAIN sockfilt said DISC 07:51:57.297425 ====> Client disconnected 07:51:57.297492 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.123611 ====> Client connect 07:51:57.123894 Received DATA (on stdin) 07:51:57.123908 > 160 bytes data, server => client 07:51:57.123921 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.123932 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.123943 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.124017 < 21 bytes data, client => server 07:51:57.124029 'EHLO verifiedserver\r\n' 07:51:57.124199 Received DATA (on stdin) 07:51:57.124212 > 53 bytes data, server => client 07:51:57.124224 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.124274 < 6 bytes data, client => server 07:51:57.124286 'HELP\r\n' 07:51:57.124402 Received DATA (on stdin) 07:51:57.124413 > 22 bytes data, server => client 07:51:57.124424 '214 WE ROOLZ: 109725\r\n' 07:51:57.124511 < 6 bytes data, client => server 07:51:57.124523 'QUIT\r\n' 07:51:57.124617 Received DATA (on stdin) 07:51:57.124629 > 35 bytes data, server => client 07:51:57.124640 '221 curl ESMTP server signing off\r\n' 07:51:57.125279 ====> Client disconnect 07:51:57.125438 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==125025== ==125025== Process terminating with default action of signal 4 (SIGILL) ==125025== Illegal opcode at address 0x4013DC0 ==125025== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125025== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125025== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125025== by 0x40037A4: main (tool_main.c:199) === End of file valgrind925 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 44513 (log/7/server/smtp_server.port) RUN: SMTP server is PID 124351 port 44513 * pid smtp => 124351 124351 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/7/valgrind909 ../src/curl -q --output log/7/curl909.out --include --trace-ascii log/7/trace909 --trace-time smtp://127.0.0.1:44513/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/7/test909.eml > log/7/stdout909 2> log/7/stderr909 909: 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/ dir 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/7/valgrind909 ../src/curl -q --output log/7/curl909.out --include --trace-ascii log/7/trace909 --trace-time smtp://127.0.0.1:44513/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/7/test909.eml > log/7/stdout909 2> log/7/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 07:51:56.398652 SMTP server listens on port IPv4/44513 07:51:56.398758 logged pid 124351 in log/7/server/smtp_server.pid 07:51:56.398790 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.226128 Running IPv4 version 07:51:56.226239 Listening on port 44513 07:51:56.226287 Wrote pid 124367 to log/7/server/smtp_sockfilt.pid 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/6/valgrind912 ../src/curl -q --output log/6/curl912.out --include --trace-ascii log/6/trace912 --trace-time smtp://127.0.0.1:37407/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/6/test912.eml > log/6/stdout912 2> log/6/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/15/valgrind911 ../src/curl -q --output log/15/curl911.out --include --trace-ascii log/15/trace911 --trace-time smtp://127.0.0.1:39995/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout911 2> log/15/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/9/valgrind926 ../src/curl -q --output log/9/curl926.out --include --trace-ascii log/9/trace926 --trace-time smtp://127.0.0.1:33035/926 --mail-rcpt recipient > log/9/stdout926 2> log/9/stderr926 7:51:56.226321 Wrote port 44513 to log/7/server/smtp_server.port 07:51:56.226491 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 ==125079== ==125079== Process terminating with default action of signal 4 (SIGILL) ==125079== Illegal opcode at address 0x4013DC0 ==125079== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125079== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125079== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125079== by 0x40037A4: main (tool_main.c:199) === End of file valgrind909 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 37407 (log/6/server/smtp_server.port) RUN: SMTP server is PID 124405 port 37407 * pid smtp => 124405 124405 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/6/valgrind912 ../src/curl -q --output log/6/curl912.out --include --trace-ascii log/6/trace912 --trace-time smtp://127.0.0.1:37407/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/6/test912.eml > log/6/stdout912 2> log/6/stderr912 912: 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/ dir 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/6/valgrind912 ../src/curl -q --output log/6/curl912.out --include --trace-ascii log/6/trace912 --trace-time smtp://127.0.0.1:37407/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/6/test912.eml > log/6/stdout912 2> log/6/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 07:51:56.557312 SMTP server listens on port IPv4/37407 07:51:56.557387 logged pid 124405 in log/6/server/smtp_server.pid 07:51:56.557415 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.385016 Running IPv4 version 07:51:56.385082 Listening on port 37407 07:51:56.385118 Wrote pid 124413 to log/6/server/smtp_sockfilt.pid 07:51:56.385145 Wrote port 37407 to log/6/server/smtp_server.port 07:51:56.385164 Received PING (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 ==125193== ==125193== Process terminating with default action of signal 4 (SIGILL) ==125193== Illegal opcode at address 0x4013DC0 ==125193== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125193== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125193== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125193== by 0x40037A4: main (tool_main.c:199) === End of file valgrind912 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 39995 (log/15/server/smtp_server.port) RUN: SMTP server is PID 124404 port 39995 * pid smtp => 124404 124404 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/15/valgrind911 ../src/curl -q --output log/15/curl911.out --include --trace-ascii log/15/trace911 --trace-time smtp://127.0.0.1:39995/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout911 2> log/15/stderr911 911: 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/ dir 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/15/valgrind911 ../src/curl -q --output log/15/curl911.out --include --trace-ascii log/15/trace911 --trace-time smtp://127.0.0.1:39995/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout911 2> log/15/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 07:51:56.554825 SMTP server listens on port IPv4/39995 07:51:56.554905 logged pid 124404 in log/15/server/smtp_server.pid 07:51:56.554934 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.382356 Running IPv4 version 07:51:56.382456 Listening on port 39995 07:51:56.382512 Wrote pid 124411 to log/15/server/smtp_sockfilt.pid 07:51:56.382544 Wrote port 39995 to log/15/server/smtp_server.port 07:51:56.382683 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==125192== ==125192== Process terminating with default action of signal 4 (SIGILL) ==125192== Illegal opcode at address 0x4013DC0 ==125192== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125192== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125192== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125192== by 0x40037A4: main (tool_main.c:199) === End of file valgrind911 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/9/valgrind926 ../src/curl -q --output log/9/curl926.out --include --trace-ascii log/9/trace926 --trace-time smtp://127.0.0.1:33035/926 --mail-rcpt recipient > log/9/stdout926 2> log/9/stderr926 926: 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/ dir 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/9/valgrind926 ../src/curl -q --output log/9/curl926.out --include --trace-ascii log/9/trace926 --trace-time smtp://127.0.0.1:33035/926 --mail-rcpt recipient > log/9/stdout926 2> log/9/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 07:51:57.662435 ====> Client connect 07:51:57.662600 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:57.662908 < "EHLO verifiedserver" 07:51:57.662954 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:57.663200 < "HELP" 07:51:57.663252 > "214 WE ROOLZ: 109786[CR][LF]" 07:51:57.663269 return proof we are we 07:51:57.663492 < "QUIT" 07:51:57.663521 > "221 curl ESMTP server signing off[CR][LF]" 07:51:57.664903 MAIN sockfilt said DISC 07:51:57.664936 ====> Client disconnected 07:51:57.665011 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.490254 ====> Client connect 07:51:57.490558 Received DATA (on stdin) 07:51:57.490574 > 160 bytes data, server => client 07:51:57.490587 '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/22/valgrind927 ../src/curl -q --output log/22/curl927.out --include --trace-ascii log/22/trace927 --trace-time smtp://127.0.0.1:43255/927 --mail-rcpt Friends -X EXPN > log/22/stdout927 2> log/22/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/5/valgrind918 ../src/curl -q --output log/5/curl918.out --include --trace-ascii log/5/trace918 --trace-time smtp://127.0.0.1:43997/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/5/stdout918 2> log/5/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/14/valgrind913 ../src/curl -q --output log/14/curl913.out --include --trace-ascii log/14/trace913 --trace-time smtp://127.0.0.1:42907/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/test913.eml > log/14/stdout913 2> log/14/stderr913 20- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.490599 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.490610 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.490695 < 21 bytes data, client => server 07:51:57.490709 'EHLO verifiedserver\r\n' 07:51:57.490900 Received DATA (on stdin) 07:51:57.490913 > 53 bytes data, server => client 07:51:57.490925 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.490990 < 6 bytes data, client => server 07:51:57.491002 'HELP\r\n' 07:51:57.491176 Received DATA (on stdin) 07:51:57.491188 > 22 bytes data, server => client 07:51:57.491200 '214 WE ROOLZ: 109786\r\n' 07:51:57.491316 < 6 bytes data, client => server 07:51:57.491330 'QUIT\r\n' 07:51:57.491470 Received DATA (on stdin) 07:51:57.491489 > 35 bytes data, server => client 07:51:57.491502 '221 curl ESMTP server signing off\r\n' 07:51:57.492531 ====> Client disconnect 07:51:57.492954 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==125331== ==125331== Process terminating with default action of signal 4 (SIGILL) ==125331== Illegal opcode at address 0x4013DC0 ==125331== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125331== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125331== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125331== by 0x40037A4: main (tool_main.c:199) === End of file valgrind926 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/22/valgrind927 ../src/curl -q --output log/22/curl927.out --include --trace-ascii log/22/trace927 --trace-time smtp://127.0.0.1:43255/927 --mail-rcpt Friends -X EXPN > log/22/stdout927 2> log/22/stderr927 927: 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/ dir 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/22/valgrind927 ../src/curl -q --output log/22/curl927.out --include --trace-ascii log/22/trace927 --trace-time smtp://127.0.0.1:43255/927 --mail-rcpt Friends -X EXPN > log/22/stdout927 2> log/22/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 07:51:57.667450 ====> Client connect 07:51:57.667569 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:57.667830 < "EHLO verifiedserver" 07:51:57.667870 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:57.668045 < "HELP" 07:51:57.668075 > "214 WE ROOLZ: 109920[CR][LF]" 07:51:57.668089 return proof we are we 07:51:57.668301 < "QUIT" 07:51:57.668327 > "221 curl ESMTP server signing off[CR][LF]" 07:51:57.669010 MAIN sockfilt said DISC 07:51:57.669053 ====> Client disconnected 07:51:57.669122 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.495292 ====> Client connect 07:51:57.495521 Received DATA (on stdin) 07:51:57.495535 > 160 bytes data, server => client 07:51:57.495548 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.495560 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.495571 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.495639 < 21 bytes data, client => server 07:51:57.495651 'EHLO verifiedserver\r\n' 07:51:57.495815 Received DATA (on stdin) 07:51:57.495827 > 53 bytes data, server => client 07:51:57.495842 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.495896 < 6 bytes data, client => server 07:51:57.495908 'HELP\r\n' 07:51:57.496030 Received DATA (on stdin) 07:51:57.496041 > 22 bytes data, server => client 07:51:57.496053 '214 WE ROOLZ: 109920\r\n' 07:51:57.496158 < 6 bytes data, client => server 07:51:57.496171 'QUIT\r\n' 07:51:57.496268 Received DATA (on stdin) 07:51:57.496279 > 35 bytes data, server => client 07:51:57.496291 '221 curl ESMTP server signing off\r\n' 07:51:57.496886 ====> Client disconnect 07:51:57.497068 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==125333== ==125333== Process terminating with default action of signal 4 (SIGILL) ==125333== Illegal opcode at address 0x4013DC0 ==125333== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125333== by 0x40037A4: main (tool_main.c:199) === End of file valgrind927 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 43997 (log/5/server/smtp_server.port) RUN: SMTP server is PID 124444 port 43997 * pid smtp => 124444 124444 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/5/valgrind918 ../src/curl -q --output log/5/curl918.out --include --trace-ascii log/5/trace918 --trace-time smtp://127.0.0.1:43997/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/5/stdout918 2> log/5/stderr918 918: 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/ dir 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/5/valgrind918 ../src/curl -q --output log/5/curl918.out --include --trace-ascii log/5/trace918 --trace-time smtp://127.0.0.1:43997/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/5/stdout918 2> log/5/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 07:51:56.795056 SMTP server listens on port IPv4/43997 07:51:56.795135 logged pid 124444 in log/5/server/smtp_server.pid 07:51:56.795164 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.622731 Running IPv4 version 07:51:56.622809 Listening on port 43997 07:51:56.622851 Wrote pid 124497 to log/5/server/smtp_sockfilt.pid 07:51:56.622881 Wrote port 43997 to log/5/server/smtp_server.port 07:51:56.622903 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 ==125476== ==125476== Process terminating with default action of signal 4 (SIGILL) ==125476== Illegal opcode at address 0x4013DC0 ==125476== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125476== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125476== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125476== by 0x40037A4: main (tool_main.c:199) === End of file valgrind918 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/smtp_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/11/valgrind919 ../src/curl -q --output log/11/curl919.out --include --trace-ascii log/11/trace919 --trace-time smtp://127.0.0.1:37161/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout919 2> log/11/stderr919 CMD (33792): ../libtool --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/valgrind929 ../src/curl -q --output log/16/curl929.out --include --trace-ascii log/16/trace929 --trace-time smtp://127.0.0.1:43891/929 -X NOOP -I > log/16/stdout929 2> log/16/stderr929 ver.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 42907 (log/14/server/smtp_server.port) RUN: SMTP server is PID 124419 port 42907 * pid smtp => 124419 124419 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/14/valgrind913 ../src/curl -q --output log/14/curl913.out --include --trace-ascii log/14/trace913 --trace-time smtp://127.0.0.1:42907/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/test913.eml > log/14/stdout913 2> log/14/stderr913 913: 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/ dir 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/14/valgrind913 ../src/curl -q --output log/14/curl913.out --include --trace-ascii log/14/trace913 --trace-time smtp://127.0.0.1:42907/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/test913.eml > log/14/stdout913 2> log/14/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 07:51:56.755963 SMTP server listens on port IPv4/42907 07:51:56.756048 logged pid 124419 in log/14/server/smtp_server.pid 07:51:56.756076 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.583407 Running IPv4 version 07:51:56.583482 Listening on port 42907 07:51:56.583520 Wrote pid 124432 to log/14/server/smtp_sockfilt.pid 07:51:56.583549 Wrote port 42907 to log/14/server/smtp_server.port 07:51:56.583807 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 ==125429== ==125429== Process terminating with default action of signal 4 (SIGILL) ==125429== Illegal opcode at address 0x4013DC0 ==125429== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125429== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125429== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125429== by 0x40037A4: main (tool_main.c:199) === End of file valgrind913 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 37161 (log/11/server/smtp_server.port) RUN: SMTP server is PID 124474 port 37161 * pid smtp => 124474 124474 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/11/valgrind919 ../src/curl -q --output log/11/curl919.out --include --trace-ascii log/11/trace919 --trace-time smtp://127.0.0.1:37161/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout919 2> log/11/stderr919 919: 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/ dir 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/11/valgrind919 ../src/curl -q --output log/11/curl919.out --include --trace-ascii log/11/trace919 --trace-time smtp://127.0.0.1:37161/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout919 2> log/11/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 07:51:56.818130 SMTP server listens on port IPv4/37161 07:51:56.818201 logged pid 124474 in log/11/server/smtp_server.pid 07:51:56.818227 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.645755 Running IPv4 version 07:51:56.645846 Listening on port 37161 07:51:56.645887 Wrote pid 124574 to log/11/server/smtp_sockfilt.pid 07:51:56.645916 Wrote port 37161 to log/11/server/smtp_server.port 07:51:56.645991 Received PING (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 ==125543== ==125543== Process terminating with default action of signal 4 (SIGILL) ==125543== Illegal opcode at address 0x4013DC0 ==125543== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125543== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125543== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125543== by 0x40037A4: main (tool_main.c:199) === End of file valgrind919 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/16/valgrind929 ../src/curl -q --output log/16/curl929.out --include --trace-ascii log/16/trace929 --trace-time smtp://127.0.0.1:43891/929 -X NOOP -I > log/16/stdout929 2> log/16/stderr929 929: 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/ dir after test 929 === Start of file commands.log ../libtool --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/valgrind929 ../src/curl -q --output log/16/curl929.out --include --trace-ascii log/16/trace929 --trace-time smtp://127.0.0.1:43891/929 -X NOOP -I > log/16/stdout929 2> log/16/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 07:51:57.826992 ====> Client connect 07:51:57.827167 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:57.828073 < "EHLO verifiedserver" 07:51:57.828125 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:57.828308 < "HELP" 07:51:57.828343 > "214 WE ROOLZ: 124032[CR][LF]" 07:51:57.828358 return proof we are we 07:51:57.828559 < "QUIT" 07:51:57.828585 > "221 curl ESMTP server signing off[CR][LF]" 07:51:57.829519 MAIN sockfilt said DISC 07:51:57.829547 ====> Client disconnected 07:51:57.829613 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.654029 ====> Client connect 07:51:57.655127 Received DATA (on stdin) 07:51:57.655147 > 160 bytes data, server => client 07:51:57.655161 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.655173 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.655185 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.655817 < 21 bytes data, client => server 07:51:57.655846 'EHLO verifiedserver\r\n' 07:51:57.656072 Received DATA (on stdin) 07:51:57.656086 > 53 bytes data, server => client 07:51:57.656099 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.656156 < 6 bytes data, client => server 07:51:57.656168 'HELP\r\n' 07:51:57.656300 Received DATA (on stdin) 07:51:57.656312 > 22 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/19/valgrind916 ../src/curl -q --output log/19/curl916.out --include --trace-ascii log/19/trace916 --trace-time smtp://127.0.0.1:46397/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/19/stdout916 2> log/19/stderr916 CMD (33792): ../libtool --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/valgrind928 ../src/curl -q --output log/10/curl928.out --include --trace-ascii log/10/trace928 --trace-time smtp://127.0.0.1:41025/928 > log/10/stdout928 2> log/10/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/13/valgrind930 ../src/curl -q --output log/13/curl930.out --include --trace-ascii log/13/trace930 --trace-time smtp://127.0.0.1:38727/930 -X RSET -I > log/13/stdout930 2> log/13/stderr930 ta, server => client 07:51:57.656324 '214 WE ROOLZ: 124032\r\n' 07:51:57.656414 < 6 bytes data, client => server 07:51:57.656428 'QUIT\r\n' 07:51:57.656527 Received DATA (on stdin) 07:51:57.656539 > 35 bytes data, server => client 07:51:57.656551 '221 curl ESMTP server signing off\r\n' 07:51:57.657404 ====> Client disconnect 07:51:57.657558 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==125667== ==125667== Process terminating with default action of signal 4 (SIGILL) ==125667== Illegal opcode at address 0x4013DC0 ==125667== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind929 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 46397 (log/19/server/smtp_server.port) RUN: SMTP server is PID 124423 port 46397 * pid smtp => 124423 124423 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/19/valgrind916 ../src/curl -q --output log/19/curl916.out --include --trace-ascii log/19/trace916 --trace-time smtp://127.0.0.1:46397/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/19/stdout916 2> log/19/stderr916 916: 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/ dir 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/19/valgrind916 ../src/curl -q --output log/19/curl916.out --include --trace-ascii log/19/trace916 --trace-time smtp://127.0.0.1:46397/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/19/stdout916 2> log/19/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 07:51:56.772044 SMTP server listens on port IPv4/46397 07:51:56.772130 logged pid 124423 in log/19/server/smtp_server.pid 07:51:56.772161 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.599676 Running IPv4 version 07:51:56.599743 Listening on port 46397 07:51:56.599793 Wrote pid 124455 to log/19/server/smtp_sockfilt.pid 07:51:56.599851 Wrote port 46397 to log/19/server/smtp_server.port 07:51:56.599875 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 file valgrind916 ==125453== ==125453== Process terminating with default action of signal 4 (SIGILL) ==125453== Illegal opcode at address 0x4013DC0 ==125453== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125453== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125453== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125453== by 0x40037A4: main (tool_main.c:199) === End of file valgrind916 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/10/valgrind928 ../src/curl -q --output log/10/curl928.out --include --trace-ascii log/10/trace928 --trace-time smtp://127.0.0.1:41025/928 > log/10/stdout928 2> log/10/stderr928 928: 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/ dir 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/10/valgrind928 ../src/curl -q --output log/10/curl928.out --include --trace-ascii log/10/trace928 --trace-time smtp://127.0.0.1:41025/928 > log/10/stdout928 2> log/10/stderr928 === End of file commands.log === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 07:51:57.815466 ====> Client connect 07:51:57.815638 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:57.815948 < "EHLO verifiedserver" 07:51:57.815992 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:57.816167 < "HELP" 07:51:57.816196 > "214 WE ROOLZ: 124012[CR][LF]" 07:51:57.816211 return proof we are we 07:51:57.816434 < "QUIT" 07:51:57.816460 > "221 curl ESMTP server signing off[CR][LF]" 07:51:57.817277 MAIN sockfilt said DISC 07:51:57.817304 ====> Client disconnected 07:51:57.817371 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.643297 ====> Client connect 07:51:57.643595 Received DATA (on stdin) 07:51:57.643611 > 160 bytes data, server => client 07:51:57.643625 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.643637 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.643648 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.643731 < 21 bytes data, client => server 07:51:57.643744 'EHLO verifiedserver\r\n' 07:51:57.643938 Received DATA (on stdin) 07:51:57.643952 > 53 bytes data, server => client 07:51:57.643965 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.644019 < 6 bytes data, client => server 07:51:57.644031 'HELP\r\n' 07:51:57.644152 Received DATA (on stdin) 07:51:57.644164 > 22 bytes data, server => client 07:51:57.644176 '214 WE ROOLZ: 124012\r\n' 07:51:57.644289 < 6 bytes data, client => server 07:51:57.644303 'QUIT\r\n' 07:51:57.644401 Received DATA (on stdin) 07:51:57.644412 > 35 bytes data, server => client 07:51:57.644424 '221 curl ESMTP server signing off\r\n' 07:51:57.645160 ====> Client disconnect 07:51:57.645316 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==125608== ==125608== Process terminating with default action of signal 4 (SIGILL) ==125608== Illegal opcode at address 0x4013DC0 ==125608== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125608== by 0x40037A4: main (tool_main.c:199) === End of file valgrind928 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/13/valgrind930 ../src/curl -q --output log/13/curl930.out --include --trace-ascii log/13/trace930 --trace-time smtp://127.0.0.1:38727/930 -X RSET -I > log/13/stdout930 2> log/13/stderr930 930: 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/ dir 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/13/valgrind930 ../src/curl -q --output log/13/curl930.out --include --trace-ascii log/13/trace930 --trace-time smtp://127.0.0.1:38727/930 -X RSET -I > log/13/stdout930 2> log/13/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === 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/24/valgrind922 ../src/curl -q --output log/24/curl922.out --include --trace-ascii log/24/trace922 --trace-time smtp://127.0.0.1:39655/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/24/stdout922 2> log/24/stderr922 CMD (33792): ../libtool --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:45429/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/12/valgrind923 ../src/curl -q --output log/12/curl923.out --include --trace-ascii log/12/trace923 --trace-time smtp://127.0.0.1:33789/923 --mail-rcpt recipient > log/12/stdout923 2> log/12/stderr923 smtp_server.log 07:51:57.824686 ====> Client connect 07:51:57.824824 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:57.826271 < "EHLO verifiedserver" 07:51:57.826327 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:57.831793 < "HELP" 07:51:57.831845 > "214 WE ROOLZ: 124106[CR][LF]" 07:51:57.831863 return proof we are we 07:51:57.832122 < "QUIT" 07:51:57.832160 > "221 curl ESMTP server signing off[CR][LF]" 07:51:57.833130 MAIN sockfilt said DISC 07:51:57.833165 ====> Client disconnected 07:51:57.833236 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.652533 ====> Client connect 07:51:57.652782 Received DATA (on stdin) 07:51:57.652797 > 160 bytes data, server => client 07:51:57.652809 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.652821 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.652832 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.654015 < 21 bytes data, client => server 07:51:57.654039 'EHLO verifiedserver\r\n' 07:51:57.654278 Received DATA (on stdin) 07:51:57.654292 > 53 bytes data, server => client 07:51:57.654306 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.659574 < 6 bytes data, client => server 07:51:57.659599 'HELP\r\n' 07:51:57.659811 Received DATA (on stdin) 07:51:57.659826 > 22 bytes data, server => client 07:51:57.659839 '214 WE ROOLZ: 124106\r\n' 07:51:57.659947 < 6 bytes data, client => server 07:51:57.659964 'QUIT\r\n' 07:51:57.660107 Received DATA (on stdin) 07:51:57.660122 > 35 bytes data, server => client 07:51:57.660134 '221 curl ESMTP server signing off\r\n' 07:51:57.661010 ====> Client disconnect 07:51:57.661189 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==125669== ==125669== Process terminating with default action of signal 4 (SIGILL) ==125669== Illegal opcode at address 0x4013DC0 ==125669== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125669== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125669== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125669== by 0x40037A4: main (tool_main.c:199) === End of file valgrind930 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 39655 (log/24/server/smtp_server.port) RUN: SMTP server is PID 124725 port 39655 * pid smtp => 124725 124725 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/24/valgrind922 ../src/curl -q --output log/24/curl922.out --include --trace-ascii log/24/trace922 --trace-time smtp://127.0.0.1:39655/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/24/stdout922 2> log/24/stderr922 922: 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/ dir 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/24/valgrind922 ../src/curl -q --output log/24/curl922.out --include --trace-ascii log/24/trace922 --trace-time smtp://127.0.0.1:39655/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/24/stdout922 2> log/24/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 07:51:57.000418 SMTP server listens on port IPv4/39655 07:51:57.000490 logged pid 124725 in log/24/server/smtp_server.pid 07:51:57.000516 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.828081 Running IPv4 version 07:51:56.828156 Listening on port 39655 07:51:56.828203 Wrote pid 124777 to log/24/server/smtp_sockfilt.pid 07:51:56.828253 Wrote port 39655 to log/24/server/smtp_server.port 07:51:56.828273 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 ==125892== ==125892== Process terminating with default action of signal 4 (SIGILL) ==125892== Illegal opcode at address 0x4013DC0 ==125892== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125892== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125892== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125892== by 0x40037A4: main (tool_main.c:199) === 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 45429 (log/18/server/smtp_server.port) RUN: SMTP server is PID 124421 port 45429 * pid smtp => 124421 124421 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:45429/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/ dir 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:45429/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 07:51:56.772468 SMTP server listens on port IPv4/45429 07:51:56.772557 logged pid 124421 in log/18/server/smtp_server.pid 07:51:56.772586 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:56.600018 Running IPv4 version 07:51:56.600097 Listening on port 45429 07:51:56.600136 Wrote pid 124456 to log/18/server/smtp_sockfilt.pid 07:51:56.600165 Wrote port 45429 to log/18/server/smtp_server.port 07:51:56.600316 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 ==125447== ==125447== Process terminating with default action of signal 4 (SIGILL) ==125447== Illegal opcode at address 0x4013DC0 ==125447== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125447== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125447== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125447== by 0x40037A4: main (tool_main.c:199) === End of file valgrind915 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/serveCMD (33792): ../libtool --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/valgrind931 ../src/curl -q --output log/21/curl931.out --include --trace-ascii log/21/trace931 --trace-time smtp://127.0.0.1:43109/%0d%0a/931 > log/21/stdout931 2> log/21/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/4/valgrind932 ../src/curl -q --output log/4/curl932.out --include --trace-ascii log/4/trace932 --trace-time smtp://127.0.0.1:43649/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/4/stdout932 2> log/4/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/23/valgrind924 ../src/curl -q --output log/23/curl924.out --include --trace-ascii log/23/trace924 --trace-time smtp://127.0.0.1:44081/924 --mail-rcpt smith > log/23/stdout924 2> log/23/stderr924 r/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 33789 (log/12/server/smtp_server.port) RUN: SMTP server is PID 124745 port 33789 * pid smtp => 124745 124745 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/12/valgrind923 ../src/curl -q --output log/12/curl923.out --include --trace-ascii log/12/trace923 --trace-time smtp://127.0.0.1:33789/923 --mail-rcpt recipient > log/12/stdout923 2> log/12/stderr923 923: 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/ dir 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/12/valgrind923 ../src/curl -q --output log/12/curl923.out --include --trace-ascii log/12/trace923 --trace-time smtp://127.0.0.1:33789/923 --mail-rcpt recipient > log/12/stdout923 2> log/12/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 07:51:57.012401 SMTP server listens on port IPv4/33789 07:51:57.012474 logged pid 124745 in log/12/server/smtp_server.pid 07:51:57.012502 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.840094 Running IPv4 version 07:51:57.840167 Listening on port 33789 07:51:57.840202 Wrote pid 124811 to log/12/server/smtp_sockfilt.pid 07:51:57.840230 Wrote port 33789 to log/12/server/smtp_server.port 07:51:57.840253 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==125896== ==125896== Process terminating with default action of signal 4 (SIGILL) ==125896== Illegal opcode at address 0x4013DC0 ==125896== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125896== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125896== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125896== by 0x40037A4: main (tool_main.c:199) === End of file valgrind923 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/21/valgrind931 ../src/curl -q --output log/21/curl931.out --include --trace-ascii log/21/trace931 --trace-time smtp://127.0.0.1:43109/%0d%0a/931 > log/21/stdout931 2> log/21/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind931 ../src/curl -q --output log/21/curl931.out --include --trace-ascii log/21/trace931 --trace-time smtp://127.0.0.1:43109/%0d%0a/931 > log/21/stdout931 2> log/21/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 07:51:58.008050 ====> Client connect 07:51:58.008230 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.009267 < "EHLO verifiedserver" 07:51:58.009328 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.009529 < "HELP" 07:51:58.009568 > "214 WE ROOLZ: 124246[CR][LF]" 07:51:58.009583 return proof we are we 07:51:58.009803 < "QUIT" 07:51:58.009840 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.010600 MAIN sockfilt said DISC 07:51:58.010635 ====> Client disconnected 07:51:58.010701 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.835877 ====> Client connect 07:51:58.836187 Received DATA (on stdin) 07:51:58.836205 > 160 bytes data, server => client 07:51:58.836219 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.836231 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.836243 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.837006 < 21 bytes data, client => server 07:51:58.837029 'EHLO verifiedserver\r\n' 07:51:58.837277 Received DATA (on stdin) 07:51:58.837291 > 53 bytes data, server => client 07:51:58.837303 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.837363 < 6 bytes data, client => server 07:51:58.837375 'HELP\r\n' 07:51:58.837526 Received DATA (on stdin) 07:51:58.837538 > 22 bytes data, server => client 07:51:58.837550 '214 WE ROOLZ: 124246\r\n' 07:51:58.837645 < 6 bytes data, client => server 07:51:58.837658 'QUIT\r\n' 07:51:58.837783 Received DATA (on stdin) 07:51:58.837796 > 35 bytes data, server => client 07:51:58.837807 '221 curl ESMTP server signing off\r\n' 07:51:58.838484 ====> Client disconnect 07:51:58.838647 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 ==125948== ==125948== Process terminating with default action of signal 4 (SIGILL) ==125948== Illegal opcode at address 0x4013DC0 ==125948== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125948== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125948== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125948== by 0x40037A4: main (tool_main.c:199) === End of file valgrind931 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/4/valgrind932 ../src/curl -q --output log/4/curl932.out --include --trace-ascii log/4/trace932 --trace-time smtp://127.0.0.1:43649/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/4/stdout932 2> log/4/stderr932 932: 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/ dir 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/4/valgrind932 ../src/curl -q --output log/4/curl932.out --include --trace-ascii log/4/trace932 --trace-time smtp://127.0.0.1:43649/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/4/stdout932 2> log/4/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 07:51:58.053780 ====> Client connect 07:51:58.053936 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.055787 < "EHLO verifiedserver" 07:51:58.055847 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.056040 < "HELP" 07:51:58.056077 > "214 WE ROOLZ: 109787[CR][LF]" 07:51:58.056091 return proof we are we 07:51:58.056330 < "QUIT" 07:51:58.056362 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.057306 MAIN sockfilt said DISC 07:51:58.057335 ====> Client disconnected 07:51:58.057400 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.879790 ====> Client connect 07:51:57.881895 Received DATA (on stdin) 07:51:57.881919 > 160 bytes data, server => client 07:51:57.881933 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:57.881945 ' CMD (33792): ../libtool --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/valgrind920 ../src/curl -q --output log/8/curl920.out --include --trace-ascii log/8/trace920 --trace-time smtp://127.0.0.1:40465/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout920 2> log/8/stderr920 CMD (33792): ../libtool --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/valgrind933 ../src/curl -q --output log/20/curl933.out --include --trace-ascii log/20/trace933 --trace-time smtp://127.0.0.1:35491/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/20/stdout933 2> log/20/stderr933 \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:57.881956 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:57.883503 < 21 bytes data, client => server 07:51:57.883532 'EHLO verifiedserver\r\n' 07:51:57.883797 Received DATA (on stdin) 07:51:57.883811 > 53 bytes data, server => client 07:51:57.883824 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:57.883882 < 6 bytes data, client => server 07:51:57.883894 'HELP\r\n' 07:51:57.884034 Received DATA (on stdin) 07:51:57.884046 > 22 bytes data, server => client 07:51:57.884057 '214 WE ROOLZ: 109787\r\n' 07:51:57.884159 < 6 bytes data, client => server 07:51:57.884172 'QUIT\r\n' 07:51:57.884304 Received DATA (on stdin) 07:51:57.884316 > 35 bytes data, server => client 07:51:57.884328 '221 curl ESMTP server signing off\r\n' 07:51:57.885198 ====> Client disconnect 07:51:57.885342 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==126052== ==126052== Process terminating with default action of signal 4 (SIGILL) ==126052== Illegal opcode at address 0x4013DC0 ==126052== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126052== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126052== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126052== by 0x40037A4: main (tool_main.c:199) === End of file valgrind932 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 44081 (log/23/server/smtp_server.port) RUN: SMTP server is PID 124810 port 44081 * pid smtp => 124810 124810 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/23/valgrind924 ../src/curl -q --output log/23/curl924.out --include --trace-ascii log/23/trace924 --trace-time smtp://127.0.0.1:44081/924 --mail-rcpt smith > log/23/stdout924 2> log/23/stderr924 924: 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/ dir 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/23/valgrind924 ../src/curl -q --output log/23/curl924.out --include --trace-ascii log/23/trace924 --trace-time smtp://127.0.0.1:44081/924 --mail-rcpt smith > log/23/stdout924 2> log/23/stderr924 === End of file commands.log === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 07:51:57.048349 SMTP server listens on port IPv4/44081 07:51:57.048432 logged pid 124810 in log/23/server/smtp_server.pid 07:51:57.048458 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.876000 Running IPv4 version 07:51:57.876080 Listening on port 44081 07:51:57.876119 Wrote pid 124845 to log/23/server/smtp_sockfilt.pid 07:51:57.876146 Wrote port 44081 to log/23/server/smtp_server.port 07:51:57.876171 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==125959== ==125959== Process terminating with default action of signal 4 (SIGILL) ==125959== Illegal opcode at address 0x4013DC0 ==125959== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125959== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125959== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125959== by 0x40037A4: main (tool_main.c:199) === End of file valgrind924 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 40465 (log/8/server/smtp_server.port) RUN: SMTP server is PID 124722 port 40465 * pid smtp => 124722 124722 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/8/valgrind920 ../src/curl -q --output log/8/curl920.out --include --trace-ascii log/8/trace920 --trace-time smtp://127.0.0.1:40465/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout920 2> log/8/stderr920 920: 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/ dir 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/8/valgrind920 ../src/curl -q --output log/8/curl920.out --include --trace-ascii log/8/trace920 --trace-time smtp://127.0.0.1:40465/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/8/stdout920 2> log/8/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 07:51:57.001945 SMTP server listens on port IPv4/40465 07:51:57.002023 logged pid 124722 in log/8/server/smtp_server.pid 07:51:57.002052 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:57.829629 Running IPv4 version 07:51:57.829701 Listening on port 40465 07:51:57.829742 Wrote pid 124782 to log/8/server/smtp_sockfilt.pid 07:51:57.829769 Wrote port 40465 to log/8/server/smtp_server.port 07:51:57.829788 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 ==125894== ==125894== Process terminating with default action of signal 4 (SIGILL) ==125894== Illegal opcode at address 0x4013DC0 ==125894== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==125894== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125894== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==125894== by 0x40037A4: main (tool_main.c:199) === End of file valgrind920 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/20/valgrind933 ../src/curl -q --output log/20/curl933.out --include --trace-ascii log/20/trace933 --trace-time smtp://127.0.0.1:35491/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/20/stdout933 2> log/20/stderr933 933: 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/ dir 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/20/valgrind933 ../src/curl -q --output log/20/curl933.out --include --trace-ascii log/20/trace933 --trace-time smtp://127.0.0.1:35491/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/20/stdout933 2> log/20/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 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/17/valgrind935 ../src/curl -q --output log/17/curl935.out --include --trace-ascii log/17/trace935 --trace-time smtp://127.0.0.1:39863/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/17/stdout935 2> log/17/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/2/valgrind941 ../src/curl -q --output log/2/curl941.out --include --trace-ascii log/2/trace941 --trace-time smtp://127.0.0.1:40237/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/2/upload941 --crlf > log/2/stdout941 2> log/2/stderr941 CMD (33792): ../libtool --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/valgrind939 ../src/curl -q --output log/3/curl939.out --include --trace-ascii log/3/trace939 --trace-time smtp://127.0.0.1:34951/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout939 2> log/3/stderr939 3 === End of file server.cmd === Start of file smtp_server.log 07:51:58.135982 ====> Client connect 07:51:58.136190 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.136577 < "EHLO verifiedserver" 07:51:58.136633 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.136851 < "HELP" 07:51:58.136890 > "214 WE ROOLZ: 124297[CR][LF]" 07:51:58.136907 return proof we are we 07:51:58.137147 < "QUIT" 07:51:58.137179 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.138018 MAIN sockfilt said DISC 07:51:58.138052 ====> Client disconnected 07:51:58.138117 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.963539 ====> Client connect 07:51:58.964156 Received DATA (on stdin) 07:51:58.964176 > 160 bytes data, server => client 07:51:58.964190 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.964202 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.964214 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.964328 < 21 bytes data, client => server 07:51:58.964345 'EHLO verifiedserver\r\n' 07:51:58.964583 Received DATA (on stdin) 07:51:58.964597 > 53 bytes data, server => client 07:51:58.964610 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.964678 < 6 bytes data, client => server 07:51:58.964692 'HELP\r\n' 07:51:58.964851 Received DATA (on stdin) 07:51:58.964864 > 22 bytes data, server => client 07:51:58.964876 '214 WE ROOLZ: 124297\r\n' 07:51:58.964987 < 6 bytes data, client => server 07:51:58.965004 'QUIT\r\n' 07:51:58.965125 Received DATA (on stdin) 07:51:58.965138 > 35 bytes data, server => client 07:51:58.965150 '221 curl ESMTP server signing off\r\n' 07:51:58.965897 ====> Client disconnect 07:51:58.966064 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind933 ==126175== ==126175== Process terminating with default action of signal 4 (SIGILL) ==126175== Illegal opcode at address 0x4013DC0 ==126175== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126175== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126175== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126175== by 0x40037A4: main (tool_main.c:199) === End of file valgrind933 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/17/valgrind935 ../src/curl -q --output log/17/curl935.out --include --trace-ascii log/17/trace935 --trace-time smtp://127.0.0.1:39863/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/17/stdout935 2> log/17/stderr935 935: 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/ dir 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/17/valgrind935 ../src/curl -q --output log/17/curl935.out --include --trace-ascii log/17/trace935 --trace-time smtp://127.0.0.1:39863/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/17/stdout935 2> log/17/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 07:51:58.232730 ====> Client connect 07:51:58.232922 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.233289 < "EHLO verifiedserver" 07:51:58.233337 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.233521 < "HELP" 07:51:58.233554 > "214 WE ROOLZ: 124302[CR][LF]" 07:51:58.233568 return proof we are we 07:51:58.233785 < "QUIT" 07:51:58.233811 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.250258 MAIN sockfilt said DISC 07:51:58.250332 ====> Client disconnected 07:51:58.250412 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.060548 ====> Client connect 07:51:58.060883 Received DATA (on stdin) 07:51:58.060900 > 160 bytes data, server => client 07:51:58.060913 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.060925 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.060936 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.061052 < 21 bytes data, client => server 07:51:58.061066 'EHLO verifiedserver\r\n' 07:51:58.061283 Received DATA (on stdin) 07:51:58.061296 > 53 bytes data, server => client 07:51:58.061309 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.061369 < 6 bytes data, client => server 07:51:58.061381 'HELP\r\n' 07:51:58.061511 Received DATA (on stdin) 07:51:58.061523 > 22 bytes data, server => client 07:51:58.061534 '214 WE ROOLZ: 124302\r\n' 07:51:58.061638 < 6 bytes data, client => server 07:51:58.061651 'QUIT\r\n' 07:51:58.061753 Received DATA (on stdin) 07:51:58.061765 > 35 bytes data, server => client 07:51:58.061777 '221 curl ESMTP server signing off\r\n' 07:51:58.065866 ====> Client disconnect 07:51:58.078365 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 ==126303== ==126303== Process terminating with default action of signal 4 (SIGILL) ==126303== Illegal opcode at address 0x4013DC0 ==126303== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126303== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126303== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126303== by 0x40037A4: main (tool_main.c:199) === End of file valgrind935 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/2/valgrind941 ../src/curl -q --output log/2/curl941.out --include --trace-ascii log/2/trace941 --trace-time smtp://127.0.0.1:40237/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/2/upload941 --crlf > log/2/stdout941 2> log/2/stderr941 941: 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/ dir 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/2/valgrind941 ../src/curl -q --output log/2/curl941.out --include --trace-ascii log/2/trace941 --trace-time smtp://127.0.0.1:40237/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/2/upload941 --crlf > log/2/stdout941 2> log/2/stderr941 === End of file commands.log === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 07:51:58.534245 ====> Client connect 07:51:58.534447 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.534848 < "EHLO verifiedserver" 07:51:58.534902 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.538022 < "HELP" 07:51:58.538072 > "214 WE ROOLZ: 124355[CR][LF]" 07:51:58.538089 return proof we are we 07:51:58.538341 < "QUIT" 07:51:58.538374 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.539346 MAIN sockfilt said DISC 07:51:58.539375 ====> Client disconnected 07:51:58.539451 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.362035 ====> Client connect 07:51:58.362409 Received DATA (on stdin) 07:51:58.362427 > 160 bytes data, server => client 07:51:58.362441 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.362453 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.362464 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.362571 < 21 bytes data, client => server 07:51:58.362586 'EHLO verifiedserver\r\n' 07:51:58.362851 Received DATA (on stdin) 07:51:58.362865 > 53 bytes data, server => client 07:51:58.362877 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.362935 < 6 bytes data, client => server 07:51:58.362947 'HELP\r\n' 07:51:58.366036 Received DATA (on stdin) 07:51:58.366051 > 22 bytes data, server => client 07:51:58.366063 '214 WE ROOLZ: 124355\r\n' 07:51:58.366172 < 6 bytes data, client => server 07:51:58.366188 'QUIT\r\n' 07:51:58.366318 Received DATA (on stdin) 07:51:58.366331 > 35 bytes data, server => client 07:51:58.366343 '221 curl ESMTP server signing off\r\n' 07:51:58.367229 ====> Client disconnect 07:51:58.367393 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 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 012345678901234567890123456789012345678901234567890123456789012345678901234567890123CMD (33792): ../libtool --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/valgrind936 ../src/curl -q --output log/1/curl936.out --include --trace-ascii log/1/trace936 --trace-time smtp://127.0.0.1:43077/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout936 2> log/1/stderr936 4567890123456789 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 ==126530== ==126530== Process terminating with default action of signal 4 (SIGILL) ==126530== Illegal opcode at address 0x4013DC0 ==126530== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126530== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126530== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126530== by 0x40037A4: main (tool_main.c:199) === End of file valgrind941 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/3/valgrind939 ../src/curl -q --output log/3/curl939.out --include --trace-ascii log/3/trace939 --trace-time smtp://127.0.0.1:34951/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout939 2> log/3/stderr939 939: 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/ dir 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/3/valgrind939 ../src/curl -q --output log/3/curl939.out --include --trace-ascii log/3/trace939 --trace-time smtp://127.0.0.1:34951/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout939 2> log/3/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 07:51:58.420692 ====> Client connect 07:51:58.420852 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.434821 < "EHLO verifiedserver" 07:51:58.434880 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.441397 < "HELP" 07:51:58.441446 > "214 WE ROOLZ: 109725[CR][LF]" 07:51:58.441462 return proof we are we 07:51:58.441708 < "QUIT" 07:51:58.441739 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.442529 MAIN sockfilt said DISC 07:51:58.442558 ====> Client disconnected 07:51:58.442631 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.245912 ====> Client connect 07:51:58.248814 Received DATA (on stdin) 07:51:58.248835 > 160 bytes data, server => client 07:51:58.248849 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.248861 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.248872 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.262529 < 21 bytes data, client => server 07:51:58.262564 'EHLO verifiedserver\r\n' 07:51:58.262830 Received DATA (on stdin) 07:51:58.262844 > 53 bytes data, server => client 07:51:58.262857 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.269195 < 6 bytes data, client => server 07:51:58.269216 'HELP\r\n' 07:51:58.269405 Received DATA (on stdin) 07:51:58.269417 > 22 bytes data, server => client 07:51:58.269429 '214 WE ROOLZ: 109725\r\n' 07:51:58.269549 < 6 bytes data, client => server 07:51:58.269563 'QUIT\r\n' 07:51:58.269683 Received DATA (on stdin) 07:51:58.269695 > 35 bytes data, server => client 07:51:58.269706 '221 curl ESMTP server signing off\r\n' 07:51:58.270402 ====> Client disconnect 07:51:58.270574 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 ==126432== ==126432== Process terminating with default action of signal 4 (SIGILL) ==126432== Illegal opcode at address 0x4013DC0 ==126432== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126432== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126432== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126432== by 0x40037A4: main (tool_main.c:199) === End of file valgrind939 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/1/valgrind936 ../src/curl -q --output log/1/curl936.out --include --trace-ascii log/1/trace936 --trace-time smtp://127.0.0.1:43077/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout936 2> log/1/stderr936 936: 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/ dir 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/1/valgrind936 ../src/curl -q --output log/1/curl936.out --include --trace-ascii log/1/trace936 --trace-time smtp://127.0.0.1:43077/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout936 2> log/1/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 CMD (33792): ../libtool --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/valgrind940 ../src/curl -q --output log/7/curl940.out --include --trace-ascii log/7/trace940 --trace-time smtp://127.0.0.1:44513/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout940 2> log/7/stderr940 CMD (33792): ../libtool --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:37407/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/6/stdout942 2> log/6/stderr942 file smtp_server.log 07:51:58.277960 ====> Client connect 07:51:58.278183 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.284789 < "EHLO verifiedserver" 07:51:58.284850 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.285080 < "HELP" 07:51:58.285118 > "214 WE ROOLZ: 124301[CR][LF]" 07:51:58.285136 return proof we are we 07:51:58.285410 < "QUIT" 07:51:58.285443 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.287087 MAIN sockfilt said DISC 07:51:58.287122 ====> Client disconnected 07:51:58.287191 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.102535 ====> Client connect 07:51:58.109205 Received DATA (on stdin) 07:51:58.109242 > 160 bytes data, server => client 07:51:58.109256 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.109269 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.109280 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.109405 < 21 bytes data, client => server 07:51:58.109420 'EHLO verifiedserver\r\n' 07:51:58.112805 Received DATA (on stdin) 07:51:58.112823 > 53 bytes data, server => client 07:51:58.112836 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.112916 < 6 bytes data, client => server 07:51:58.112931 'HELP\r\n' 07:51:58.113080 Received DATA (on stdin) 07:51:58.113094 > 22 bytes data, server => client 07:51:58.113107 '214 WE ROOLZ: 124301\r\n' 07:51:58.113227 < 6 bytes data, client => server 07:51:58.113244 'QUIT\r\n' 07:51:58.113388 Received DATA (on stdin) 07:51:58.113402 > 35 bytes data, server => client 07:51:58.113415 '221 curl ESMTP server signing off\r\n' 07:51:58.113991 ====> Client disconnect 07:51:58.115143 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 ==126336== ==126336== Process terminating with default action of signal 4 (SIGILL) ==126336== Illegal opcode at address 0x4013DC0 ==126336== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126336== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126336== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126336== by 0x40037A4: main (tool_main.c:199) === End of file valgrind936 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/7/valgrind940 ../src/curl -q --output log/7/curl940.out --include --trace-ascii log/7/trace940 --trace-time smtp://127.0.0.1:44513/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout940 2> log/7/stderr940 940: 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/ dir 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/7/valgrind940 ../src/curl -q --output log/7/curl940.out --include --trace-ascii log/7/trace940 --trace-time smtp://127.0.0.1:44513/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout940 2> log/7/stderr940 === End of file commands.log === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 07:51:58.445756 ====> Client connect 07:51:58.445907 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.446187 < "EHLO verifiedserver" 07:51:58.446232 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.446400 < "HELP" 07:51:58.446433 > "214 WE ROOLZ: 124351[CR][LF]" 07:51:58.446447 return proof we are we 07:51:58.446655 < "QUIT" 07:51:58.446682 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.447804 MAIN sockfilt said DISC 07:51:58.447839 ====> Client disconnected 07:51:58.447898 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.273599 ====> Client connect 07:51:58.273862 Received DATA (on stdin) 07:51:58.273877 > 160 bytes data, server => client 07:51:58.273890 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.273901 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.273912 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.273981 < 21 bytes data, client => server 07:51:58.273993 'EHLO verifiedserver\r\n' 07:51:58.274177 Received DATA (on stdin) 07:51:58.274190 > 53 bytes data, server => client 07:51:58.274202 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.274253 < 6 bytes data, client => server 07:51:58.274264 'HELP\r\n' 07:51:58.274388 Received DATA (on stdin) 07:51:58.274399 > 22 bytes data, server => client 07:51:58.274410 '214 WE ROOLZ: 124351\r\n' 07:51:58.274511 < 6 bytes data, client => server 07:51:58.274524 'QUIT\r\n' 07:51:58.274622 Received DATA (on stdin) 07:51:58.274634 > 35 bytes data, server => client 07:51:58.274645 '221 curl ESMTP server signing off\r\n' 07:51:58.275274 ====> Client disconnect 07:51:58.275857 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 ==126487== ==126487== Process terminating with default action of signal 4 (SIGILL) ==126487== Illegal opcode at address 0x4013DC0 ==126487== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126487== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126487== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126487== by 0x40037A4: main (tool_main.c:199) === End of file valgrind940 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:37407/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/ dir 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:37407/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 07:51:58.777897 ====> Client connect 07:51:58.778115 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.778487 < "EHLO verifiedserver" 07:51:58.778539 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.778732 < "HELP" 07:51:58.778768 > "214 WE ROOLZ: 124405[CR][LF]" 07:51:58.778783 return proof we are we 07:51:58.779032 < "QUIT" 07:51:58CMD (33792): ../libtool --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/valgrind945 ../src/curl -q --output log/22/curl945.out --include --trace-ascii log/22/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:43255/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/22/stdout945 2> log/22/stderr945 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/22/stdout971 2> log/22/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/5/valgrind946 ../src/curl -q --output log/5/curl946.out --include --trace-ascii log/5/trace946 --trace-time smtp://127.0.0.1:43997/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/5/stdout946 2> log/5/stderr946 .779064 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.779777 MAIN sockfilt said DISC 07:51:58.779805 ====> Client disconnected 07:51:58.779868 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.601500 ====> Client connect 07:51:58.606081 Received DATA (on stdin) 07:51:58.606103 > 160 bytes data, server => client 07:51:58.606117 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.606128 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.606139 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.606255 < 21 bytes data, client => server 07:51:58.606271 'EHLO verifiedserver\r\n' 07:51:58.606488 Received DATA (on stdin) 07:51:58.606502 > 53 bytes data, server => client 07:51:58.606515 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.606578 < 6 bytes data, client => server 07:51:58.606590 'HELP\r\n' 07:51:58.606725 Received DATA (on stdin) 07:51:58.606738 > 22 bytes data, server => client 07:51:58.606750 '214 WE ROOLZ: 124405\r\n' 07:51:58.606862 < 6 bytes data, client => server 07:51:58.606877 'QUIT\r\n' 07:51:58.607007 Received DATA (on stdin) 07:51:58.607020 > 35 bytes data, server => client 07:51:58.607032 '221 curl ESMTP server signing off\r\n' 07:51:58.607659 ====> Client disconnect 07:51:58.607812 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 ==126670== ==126670== Process terminating with default action of signal 4 (SIGILL) ==126670== Illegal opcode at address 0x4013DC0 ==126670== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126670== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126670== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126670== by 0x40037A4: main (tool_main.c:199) === End of file valgrind942 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/22/valgrind945 ../src/curl -q --output log/22/curl945.out --include --trace-ascii log/22/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:43255/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/22/stdout945 2> log/22/stderr945 945: 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/ dir 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/22/valgrind945 ../src/curl -q --output log/22/curl945.out --include --trace-ascii log/22/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:43255/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/22/stdout945 2> log/22/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 07:51:59.021916 ====> Client connect 07:51:59.022049 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.022330 < "EHLO verifiedserver" 07:51:59.022372 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.022550 < "HELP" 07:51:59.022582 > "214 WE ROOLZ: 109920[CR][LF]" 07:51:59.022598 return proof we are we 07:51:59.022815 < "QUIT" 07:51:59.022842 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.023603 MAIN sockfilt said DISC 07:51:59.023632 ====> Client disconnected 07:51:59.023697 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.849757 ====> Client connect 07:51:58.850003 Received DATA (on stdin) 07:51:58.850019 > 160 bytes data, server => client 07:51:58.850032 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.850044 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.850055 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.850124 < 21 bytes data, client => server 07:51:58.850137 'EHLO verifiedserver\r\n' 07:51:58.850319 Received DATA (on stdin) 07:51:58.850332 > 53 bytes data, server => client 07:51:58.850345 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.850399 < 6 bytes data, client => server 07:51:58.850410 'HELP\r\n' 07:51:58.850539 Received DATA (on stdin) 07:51:58.850552 > 22 bytes data, server => client 07:51:58.850563 '214 WE ROOLZ: 109920\r\n' 07:51:58.850668 < 6 bytes data, client => server 07:51:58.850682 'QUIT\r\n' 07:51:58.850784 Received DATA (on stdin) 07:51:58.850796 > 35 bytes data, server => client 07:51:58.850807 '221 curl ESMTP server signing off\r\n' 07:51:58.851496 ====> Client disconnect 07:51:58.851640 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 ==126821== ==126821== Process terminating with default action of signal 4 (SIGILL) ==126821== Illegal opcode at address 0x4013DC0 ==126821== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126821== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126821== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126821== by 0x40037A4: main (tool_main.c:199) === End of file valgrind945 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/22/stdout971 2> log/22/stderr971 valgrind SKIPPED -r-----e--- OK (915 out of 1746, remaining: 01:11, took 0.040s, duration: 01:19) 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/5/valgrind946 ../src/curl -q --output log/5/curl946.out --include --trace-ascii log/5/trace946 --trace-time smtp://127.0.0.1:43997/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/5/stdout946 2> log/5/stderr946 946: 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/ dir 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/5/valgrind946 ../src/curl -q --output log/5/curl946.out --include --trace-ascii log/5/trace946 --trace-time smtp://127.0.0.1:43997/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/5/stdout946 2> log/5/stderr946 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDM5OTcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 07:51:59.085922 ====> Client connect 07:51:59.086118 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.086456 < "EHLO verifiedserver" 07:51:59.086512 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.0867CMD (33792): ../libtool --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/valgrind944 ../src/curl -q --output log/9/curl944.out --include --trace-ascii log/9/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33035/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/9/stdout944 2> log/9/stderr944 CMD (33792): ../libtool --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/valgrind950 ../src/curl -q --output log/19/curl950.out --include --trace-ascii log/19/trace950 --trace-time smtp://127.0.0.1:46397/950 --mail-rcpt recipient --request "vrfy" > log/19/stdout950 2> log/19/stderr950 06 < "HELP" 07:51:59.086742 > "214 WE ROOLZ: 124444[CR][LF]" 07:51:59.086757 return proof we are we 07:51:59.086992 < "QUIT" 07:51:59.087022 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.087990 MAIN sockfilt said DISC 07:51:59.088021 ====> Client disconnected 07:51:59.088091 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.913744 ====> Client connect 07:51:58.914080 Received DATA (on stdin) 07:51:58.914099 > 160 bytes data, server => client 07:51:58.914113 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.914125 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.914137 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.914218 < 21 bytes data, client => server 07:51:58.914231 'EHLO verifiedserver\r\n' 07:51:58.914460 Received DATA (on stdin) 07:51:58.914474 > 53 bytes data, server => client 07:51:58.914487 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.914544 < 6 bytes data, client => server 07:51:58.914556 'HELP\r\n' 07:51:58.914699 Received DATA (on stdin) 07:51:58.914711 > 22 bytes data, server => client 07:51:58.914722 '214 WE ROOLZ: 124444\r\n' 07:51:58.914840 < 6 bytes data, client => server 07:51:58.914854 'QUIT\r\n' 07:51:58.914964 Received DATA (on stdin) 07:51:58.914975 > 35 bytes data, server => client 07:51:58.914987 '221 curl ESMTP server signing off\r\n' 07:51:58.915873 ====> Client disconnect 07:51:58.916034 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 ==126888== ==126888== Process terminating with default action of signal 4 (SIGILL) ==126888== Illegal opcode at address 0x4013DC0 ==126888== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126888== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126888== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126888== by 0x40037A4: main (tool_main.c:199) === End of file valgrind946 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/9/valgrind944 ../src/curl -q --output log/9/curl944.out --include --trace-ascii log/9/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33035/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/9/stdout944 2> log/9/stderr944 944: 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/ dir 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/9/valgrind944 ../src/curl -q --output log/9/curl944.out --include --trace-ascii log/9/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:33035/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/9/stdout944 2> log/9/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 07:51:59.021380 ====> Client connect 07:51:59.021590 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.021902 < "EHLO verifiedserver" 07:51:59.021943 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.022107 < "HELP" 07:51:59.022136 > "214 WE ROOLZ: 109786[CR][LF]" 07:51:59.022149 return proof we are we 07:51:59.022369 < "QUIT" 07:51:59.022393 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.023169 MAIN sockfilt said DISC 07:51:59.023194 ====> Client disconnected 07:51:59.023255 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.844995 ====> Client connect 07:51:58.849548 Received DATA (on stdin) 07:51:58.849566 > 160 bytes data, server => client 07:51:58.849580 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.849592 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.849604 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.849688 < 21 bytes data, client => server 07:51:58.849701 'EHLO verifiedserver\r\n' 07:51:58.849888 Received DATA (on stdin) 07:51:58.849901 > 53 bytes data, server => client 07:51:58.849914 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.849967 < 6 bytes data, client => server 07:51:58.849978 'HELP\r\n' 07:51:58.850090 Received DATA (on stdin) 07:51:58.850101 > 22 bytes data, server => client 07:51:58.850113 '214 WE ROOLZ: 109786\r\n' 07:51:58.850207 < 6 bytes data, client => server 07:51:58.850220 'QUIT\r\n' 07:51:58.850334 Received DATA (on stdin) 07:51:58.850345 > 35 bytes data, server => client 07:51:58.850357 '221 curl ESMTP server signing off\r\n' 07:51:58.851064 ====> Client disconnect 07:51:58.851197 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 ==126814== ==126814== Process terminating with default action of signal 4 (SIGILL) ==126814== Illegal opcode at address 0x4013DC0 ==126814== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126814== by 0x40037A4: main (tool_main.c:199) === End of file valgrind944 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/19/valgrind950 ../src/curl -q --output log/19/curl950.out --include --trace-ascii log/19/trace950 --trace-time smtp://127.0.0.1:46397/950 --mail-rcpt recipient --request "vrfy" > log/19/stdout950 2> log/19/stderr950 950: 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/ dir 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/19/valgrind950 ../src/curl -q --output log/19/curl950.out --include --trace-ascii log/19/trace950 --trace-time smtp://127.0.0.1:46397/950 --mail-rcpt recipient --request "vrfy" > log/19/stdout950 2> log/19/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 07:51:59.286834 ====> Client connect 07:51:59.287060 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.294878 < "EHLO verifiedserver" 07:51:59.294939 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.295134 < "HELP" 07:51:59.295173 > "214 WE ROOLZ: 124423[CR][LF]" 07:51:59.295187 return proof we are we 07:51:59.295421 < "QUIT" 07:51:59.295449 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.296415 MAIN sockfilt said DISC 07:51:59.296446 ====> Client disconnected 07:51:59.296504 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.108700 ====> Client connect 07:51:59.119729 Received DATA (on stdin) 07:51:59.119761 > 160 bytes data, server => client 07:51:59.119775 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.119788 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.119798 '_CMD (33792): ../libtool --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/valgrind951 ../src/curl -q --output log/10/curl951.out --include --trace-ascii log/10/trace951 --trace-time smtp://127.0.0.1:41025/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout951 2> log/10/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/15/valgrind943 ../src/curl -q --output log/15/curl943.out --include --trace-ascii log/15/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39995/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout943 2> log/15/stderr943 {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.122610 < 21 bytes data, client => server 07:51:59.122638 'EHLO verifiedserver\r\n' 07:51:59.122887 Received DATA (on stdin) 07:51:59.122902 > 53 bytes data, server => client 07:51:59.122914 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.122978 < 6 bytes data, client => server 07:51:59.122990 'HELP\r\n' 07:51:59.123127 Received DATA (on stdin) 07:51:59.123140 > 22 bytes data, server => client 07:51:59.123151 '214 WE ROOLZ: 124423\r\n' 07:51:59.123274 < 6 bytes data, client => server 07:51:59.123287 'QUIT\r\n' 07:51:59.123390 Received DATA (on stdin) 07:51:59.123401 > 35 bytes data, server => client 07:51:59.123412 '221 curl ESMTP server signing off\r\n' 07:51:59.124299 ====> Client disconnect 07:51:59.124446 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==127147== ==127147== Process terminating with default action of signal 4 (SIGILL) ==127147== Illegal opcode at address 0x4013DC0 ==127147== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127147== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127147== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127147== by 0x40037A4: main (tool_main.c:199) === End of file valgrind950 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/10/valgrind951 ../src/curl -q --output log/10/curl951.out --include --trace-ascii log/10/trace951 --trace-time smtp://127.0.0.1:41025/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout951 2> log/10/stderr951 951: 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/ dir 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/10/valgrind951 ../src/curl -q --output log/10/curl951.out --include --trace-ascii log/10/trace951 --trace-time smtp://127.0.0.1:41025/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/10/stdout951 2> log/10/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 07:51:59.330804 ====> Client connect 07:51:59.330980 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.331310 < "EHLO verifiedserver" 07:51:59.331365 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.331566 < "HELP" 07:51:59.331607 > "214 WE ROOLZ: 124012[CR][LF]" 07:51:59.331622 return proof we are we 07:51:59.331869 < "QUIT" 07:51:59.331900 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.333743 MAIN sockfilt said DISC 07:51:59.333777 ====> Client disconnected 07:51:59.333846 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.158614 ====> Client connect 07:51:59.158943 Received DATA (on stdin) 07:51:59.158961 > 160 bytes data, server => client 07:51:59.158975 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.158986 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.158997 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.159077 < 21 bytes data, client => server 07:51:59.159090 'EHLO verifiedserver\r\n' 07:51:59.159315 Received DATA (on stdin) 07:51:59.159329 > 53 bytes data, server => client 07:51:59.159342 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.159403 < 6 bytes data, client => server 07:51:59.159415 'HELP\r\n' 07:51:59.159565 Received DATA (on stdin) 07:51:59.159577 > 22 bytes data, server => client 07:51:59.159589 '214 WE ROOLZ: 124012\r\n' 07:51:59.159715 < 6 bytes data, client => server 07:51:59.159730 'QUIT\r\n' 07:51:59.159841 Received DATA (on stdin) 07:51:59.159853 > 35 bytes data, server => client 07:51:59.159865 '221 curl ESMTP server signing off\r\n' 07:51:59.161182 ====> Client disconnect 07:51:59.161789 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 ==127318== ==127318== Process terminating with default action of signal 4 (SIGILL) ==127318== Illegal opcode at address 0x4013DC0 ==127318== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127318== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127318== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127318== by 0x40037A4: main (tool_main.c:199) === End of file valgrind951 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/15/valgrind943 ../src/curl -q --output log/15/curl943.out --include --trace-ascii log/15/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39995/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout943 2> log/15/stderr943 943: 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/ dir 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/15/valgrind943 ../src/curl -q --output log/15/curl943.out --include --trace-ascii log/15/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39995/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout943 2> log/15/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 07:51:58.909188 ====> Client connect 07:51:58.909374 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:58.909716 < "EHLO verifiedserver" 07:51:58.909769 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:58.909957 < "HELP" 07:51:58.909991 > "214 WE ROOLZ: 124404[CR][LF]" 07:51:58.910006 return proof we are we 07:51:58.910251 < "QUIT" 07:51:58.910280 > "221 curl ESMTP server signing off[CR][LF]" 07:51:58.911023 MAIN sockfilt said DISC 07:51:58.911053 ====> Client disconnected 07:51:58.911123 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.737002 ====> Client connect 07:51:58.737336 Received DATA (on stdin) 07:51:58.737356 > 160 bytes data, server => client 07:51:58.737371 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.737383 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.737395 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.737479 < 21 bytes data, client => server 07:51:58.737494 'EHLO verifiedserver\r\n' 07:51:58.737717 Received DATA (on stdin) 07:51:58.737732 > 53 bytes data, server => client 07:51:58.737745 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.737806 < 6 bytes data, client => server 07:51:58.737818 'HELP\r\n' 07:51:58.737949 Received DATA (on stdin) 07:51:58.737962 > 22 bytes data, server => client 07:51:58.737975 '214 WE ROOLZ: 124404\r\n' 07:51:58.738095 < 6 bytes data, client => server 07:51:58.738110 'QUIT\r\n' 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/14/valgrind947 ../src/curl -q --output log/14/curl947.out --include --trace-ascii log/14/trace947 --trace-time smtp://127.0.0.1:42907/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout947 2> log/14/stderr947 CMD (33792): ../libtool --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/valgrind954 ../src/curl -q --output log/18/curl954.out --include --trace-ascii log/18/trace954 --trace-time smtp://127.0.0.1:45429/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/18/stdout954 2> log/18/stderr954 7:51:58.738225 Received DATA (on stdin) 07:51:58.738238 > 35 bytes data, server => client 07:51:58.738250 '221 curl ESMTP server signing off\r\n' 07:51:58.738906 ====> Client disconnect 07:51:58.739069 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 ==126730== ==126730== Process terminating with default action of signal 4 (SIGILL) ==126730== Illegal opcode at address 0x4013DC0 ==126730== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126730== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126730== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126730== by 0x40037A4: main (tool_main.c:199) === End of file valgrind943 test 0947...[SMTP 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/14/valgrind947 ../src/curl -q --output log/14/curl947.out --include --trace-ascii log/14/trace947 --trace-time smtp://127.0.0.1:42907/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout947 2> log/14/stderr947 947: 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/ dir 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/14/valgrind947 ../src/curl -q --output log/14/curl947.out --include --trace-ascii log/14/trace947 --trace-time smtp://127.0.0.1:42907/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout947 2> log/14/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 07:51:59.164727 ====> Client connect 07:51:59.164907 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.165236 < "EHLO verifiedserver" 07:51:59.165285 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.165463 < "HELP" 07:51:59.165494 > "214 WE ROOLZ: 124419[CR][LF]" 07:51:59.165509 return proof we are we 07:51:59.165733 < "QUIT" 07:51:59.165761 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.166609 MAIN sockfilt said DISC 07:51:59.166639 ====> Client disconnected 07:51:59.166703 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:58.992540 ====> Client connect 07:51:58.992865 Received DATA (on stdin) 07:51:58.992880 > 160 bytes data, server => client 07:51:58.992893 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:58.992904 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:58.992914 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:58.993007 < 21 bytes data, client => server 07:51:58.993020 'EHLO verifiedserver\r\n' 07:51:58.993231 Received DATA (on stdin) 07:51:58.993244 > 53 bytes data, server => client 07:51:58.993256 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:58.993316 < 6 bytes data, client => server 07:51:58.993327 'HELP\r\n' 07:51:58.993449 Received DATA (on stdin) 07:51:58.993461 > 22 bytes data, server => client 07:51:58.993472 '214 WE ROOLZ: 124419\r\n' 07:51:58.993566 < 6 bytes data, client => server 07:51:58.993579 'QUIT\r\n' 07:51:58.993703 Received DATA (on stdin) 07:51:58.993715 > 35 bytes data, server => client 07:51:58.993726 '221 curl ESMTP server signing off\r\n' 07:51:58.994492 ====> Client disconnect 07:51:58.994646 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 ==126986== ==126986== Process terminating with default action of signal 4 (SIGILL) ==126986== Illegal opcode at address 0x4013DC0 ==126986== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==126986== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126986== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==126986== by 0x40037A4: main (tool_main.c:199) === End of file valgrind947 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/18/valgrind954 ../src/curl -q --output log/18/curl954.out --include --trace-ascii log/18/trace954 --trace-time smtp://127.0.0.1:45429/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/18/stdout954 2> log/18/stderr954 954: 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/ dir 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/18/valgrind954 ../src/curl -q --output log/18/curl954.out --include --trace-ascii log/18/trace954 --trace-time smtp://127.0.0.1:45429/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/18/stdout954 2> log/18/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 07:51:59.424728 ====> Client connect 07:51:59.424925 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.425288 < "EHLO verifiedserver" 07:51:59.425341 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.425531 < "HELP" 07:51:59.425565 > "214 WE ROOLZ: 124421[CR][LF]" 07:51:59.425580 return proof we are we 07:51:59.425822 < "QUIT" 07:51:59.425854 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.431347 MAIN sockfilt said DISC 07:51:59.431385 ====> Client disconnected 07:51:59.431458 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.252530 ====> Client connect 07:51:59.252883 Received DATA (on stdin) 07:51:59.252900 > 160 bytes data, server => client 07:51:59.252913 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.252924 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.252935 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.253052 < 21 bytes data, client => server 07:51:59.253066 'EHLO verifiedserver\r\n' 07:51:59.253288 Received DATA (on stdin) 07:51:59.253302 > 53 bytes data, server => client 07:51:59.253315 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.253377 < 6 bytes data, client => server 07:51:59.253388 'HELP\r\n' 07:51:59.253521 Received DATA (on stdin) 07:51:59.253535 > 22 bytes data, server => client 07:51:59.253546 '214 WE ROOLZ: 124421\r\n' 07:51:59.253671 < 6 bytes data, client => server 07:51:59.253685 'QUIT\r\n' 07:51:59.253796 Received DATA (on stdin) 07:51:59.253808 > 35 bytes data, server => client 07:51:59.253819 '221 curl ESMTP server signing off\r\n' 07:51:59.259214 ====> Client disconnect 07:51:59.259411 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-954 maCMD (33792): ../libtool --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:43891/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/24/valgrind953 ../src/curl -q --output log/24/curl953.out --include --trace-ascii log/24/trace953 --trace-time smtp://127.0.0.1:39655/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/24/stdout953 2> log/24/stderr953 il body === End of file stdin-for-954 === Start of file valgrind954 ==127363== ==127363== Process terminating with default action of signal 4 (SIGILL) ==127363== Illegal opcode at address 0x4013DC0 ==127363== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127363== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127363== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127363== by 0x40037A4: main (tool_main.c:199) === End of file valgrind954 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:43891/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/ dir 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:43891/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 07:51:59.265438 ====> Client connect 07:51:59.265615 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.268013 < "EHLO verifiedserver" 07:51:59.268075 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.268293 < "HELP" 07:51:59.268332 > "214 WE ROOLZ: 124032[CR][LF]" 07:51:59.268350 return proof we are we 07:51:59.271389 < "QUIT" 07:51:59.271429 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.272280 MAIN sockfilt said DISC 07:51:59.272313 ====> Client disconnected 07:51:59.272384 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.093253 ====> Client connect 07:51:59.093581 Received DATA (on stdin) 07:51:59.093602 > 160 bytes data, server => client 07:51:59.093616 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.093629 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.093640 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.095745 < 21 bytes data, client => server 07:51:59.095768 'EHLO verifiedserver\r\n' 07:51:59.096028 Received DATA (on stdin) 07:51:59.096045 > 53 bytes data, server => client 07:51:59.096059 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.096122 < 6 bytes data, client => server 07:51:59.096137 'HELP\r\n' 07:51:59.096294 Received DATA (on stdin) 07:51:59.096309 > 22 bytes data, server => client 07:51:59.096321 '214 WE ROOLZ: 124032\r\n' 07:51:59.097617 < 6 bytes data, client => server 07:51:59.097639 'QUIT\r\n' 07:51:59.099378 Received DATA (on stdin) 07:51:59.099393 > 35 bytes data, server => client 07:51:59.099406 '221 curl ESMTP server signing off\r\n' 07:51:59.100165 ====> Client disconnect 07:51:59.100332 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 ==127128== ==127128== Process terminating with default action of signal 4 (SIGILL) ==127128== Illegal opcode at address 0x4013DC0 ==127128== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127128== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127128== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127128== by 0x40037A4: main (tool_main.c:199) === End of file valgrind949 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/24/valgrind953 ../src/curl -q --output log/24/curl953.out --include --trace-ascii log/24/trace953 --trace-time smtp://127.0.0.1:39655/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/24/stdout953 2> log/24/stderr953 953: 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/ dir 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/24/valgrind953 ../src/curl -q --output log/24/curl953.out --include --trace-ascii log/24/trace953 --trace-time smtp://127.0.0.1:39655/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/24/stdout953 2> log/24/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 07:51:59.425523 ====> Client connect 07:51:59.425708 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.426052 < "EHLO verifiedserver" 07:51:59.426102 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.427958 < "HELP" 07:51:59.428006 > "214 WE ROOLZ: 124725[CR][LF]" 07:51:59.428023 return proof we are we 07:51:59.428290 < "QUIT" 07:51:59.428324 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.429447 MAIN sockfilt said DISC 07:51:59.429483 ====> Client disconnected 07:51:59.429556 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.253155 ====> Client connect 07:51:59.253670 Received DATA (on stdin) 07:51:59.253689 > 160 bytes data, server => client 07:51:59.253704 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.253717 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.253728 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.253816 < 21 bytes data, client => server 07:51:59.253830 'EHLO verifiedserver\r\n' 07:51:59.254051 Received DATA (on stdin) 07:51:59.254066 > 53 bytes data, server => client 07:51:59.254079 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.255728 < 6 bytes data, client => server 07:51:59.255750 'HELP\r\n' 07:51:59.255968 Received DATA (on stdin) 07:51:59.255982 > 22 bytes data, server => client 07:51:59.255995 '214 WE ROOLZ: 124725\r\n' 07:51:59.256124 < 6 bytes data, client => server 07:51:59.256140 'QUIT\r\n' 07:51:59.256268 Received DATA (on stdin) 07:51:59.256281 > 35 bytes data, server => client 07:51:59.256293 '221 curl ESMTP server signing off\r\n' 07:51:59.257111 ====> Client disconnect 07:51:59.257502 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-953 mail body === End of fiCMD (33792): ../libtool --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/valgrind948 ../src/curl -q --output log/11/curl948.out --include --trace-ascii log/11/trace948 --trace-time smtp://127.0.0.1:37161/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/11/stdout948 2> log/11/stderr948 CMD (33792): ../libtool --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/valgrind958 ../src/curl -q --output log/23/curl958.out --include --trace-ascii log/23/trace958 --trace-time smtp://127.0.0.1:44081/958 --mail-rcpt Användaren@example.com > log/23/stdout958 2> log/23/stderr958 le stdin-for-953 === Start of file valgrind953 ==127396== ==127396== Process terminating with default action of signal 4 (SIGILL) ==127396== Illegal opcode at address 0x4013DC0 ==127396== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127396== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127396== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127396== by 0x40037A4: main (tool_main.c:199) === End of file valgrind953 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/11/valgrind948 ../src/curl -q --output log/11/curl948.out --include --trace-ascii log/11/trace948 --trace-time smtp://127.0.0.1:37161/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/11/stdout948 2> log/11/stderr948 948: 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/ dir 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/11/valgrind948 ../src/curl -q --output log/11/curl948.out --include --trace-ascii log/11/trace948 --trace-time smtp://127.0.0.1:37161/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/11/stdout948 2> log/11/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzcxNjEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 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 07:51:59.183086 ====> Client connect 07:51:59.183319 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.183746 < "EHLO verifiedserver" 07:51:59.183811 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.184025 < "HELP" 07:51:59.184065 > "214 WE ROOLZ: 124474[CR][LF]" 07:51:59.184080 return proof we are we 07:51:59.184435 < "QUIT" 07:51:59.184471 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.187042 MAIN sockfilt said DISC 07:51:59.187074 ====> Client disconnected 07:51:59.187143 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.010855 ====> Client connect 07:51:59.011290 Received DATA (on stdin) 07:51:59.011315 > 160 bytes data, server => client 07:51:59.011328 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.011339 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.011350 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.011469 < 21 bytes data, client => server 07:51:59.011485 'EHLO verifiedserver\r\n' 07:51:59.011761 Received DATA (on stdin) 07:51:59.011777 > 53 bytes data, server => client 07:51:59.011789 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.011856 < 6 bytes data, client => server 07:51:59.011869 'HELP\r\n' 07:51:59.012024 Received DATA (on stdin) 07:51:59.012075 > 22 bytes data, server => client 07:51:59.012104 '214 WE ROOLZ: 124474\r\n' 07:51:59.012230 < 6 bytes data, client => server 07:51:59.012246 'QUIT\r\n' 07:51:59.013985 Received DATA (on stdin) 07:51:59.014005 > 35 bytes data, server => client 07:51:59.014017 '221 curl ESMTP server signing off\r\n' 07:51:59.014925 ====> Client disconnect 07:51:59.015085 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 ==127003== ==127003== Process terminating with default action of signal 4 (SIGILL) ==127003== Illegal opcode at address 0x4013DC0 ==127003== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127003== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127003== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127003== by 0x40037A4: main (tool_main.c:199) === End of file valgrind948 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/23/valgrind958 ../src/curl -q --output log/23/curl958.out --include --trace-ascii log/23/trace958 --trace-time smtp://127.0.0.1:44081/958 --mail-rcpt Användaren@example.com > log/23/stdout958 2> log/23/stderr958 958: 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/ dir 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/23/valgrind958 ../src/curl -q --output log/23/curl958.out --include --trace-ascii log/23/trace958 --trace-time smtp://127.0.0.1:44081/958 --mail-rcpt Användaren@example.com > log/23/stdout958 2> log/23/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 07:51:59.573561 ====> Client connect 07:51:59.573742 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.574306 < "EHLO verifiedserver" 07:51:59.574363 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.574553 < "HELP" 07:51:59.574731 > "214 WE ROOLZ: 124810[CR][LF]" 07:51:59.574749 return proof we are we 07:51:59.574987 < "QUIT" 07:51:59.575020 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.575948 MAIN sockfilt said DISC 07:51:59.575976 ====> Client disconnected 07:51:59.576048 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.401371 ====> Client connect 07:52:00.401702 Received DATA (on stdin) 07:52:00.401719 > 160 bytes data, server => client 07:52:00.401731 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.401743 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.401754 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.401836 < 21 bytes data, client => server 07:52:00.401849 'EHLO verifiedserver\r\n' 07:52:00.402311 Received DATA (on stdin) 07:52:00.402325 > 53 bytes data, server => client 07:52:00.402337 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.402395 < 6 bytes data, client => server 07:52:00.402407 'HELP\r\n' 07:52:00.402690 Received DATA (on stdin) 07:52:00.402703 > 22 bytes data, server => client 07:52:00.402713 '214 WE ROOLZ: 124810\r\n' 07:52:00.402837 < 6 bytes data, client => server 07:52:00.402851 'QUIT\r\n' 07:52:00.402962 Received DATA (on stdin) 07:52:00.402973 > 35 bytes data, server => client 07:52:00.402983 '221 curl ESMTP server signing off\r\n' 07:52:00.403834 ====> Client disconnect 07:52:00.403991 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==127613== ==127613== Process terminating with default action of signal 4 (SIGILL) ==127613== Illegal opcode at address 0x4013DC0 ==127613== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127613== by 0x40037CMD (33792): ../libtool --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/valgrind963 ../src/curl -q --output log/20/curl963.out --include --trace-ascii log/20/trace963 --trace-time smtp://127.0.0.1:35491/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/20/stdout963 2> log/20/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/13/valgrind952 ../src/curl -q --output log/13/curl952.out --include --trace-ascii log/13/trace952 --trace-time smtp://127.0.0.1:38727/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout952 2> log/13/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/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:43649/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 A4: UnknownInlinedFun (tool_getparam.c:3029) ==127613== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127613== by 0x40037A4: main (tool_main.c:199) === End of file valgrind958 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/20/valgrind963 ../src/curl -q --output log/20/curl963.out --include --trace-ascii log/20/trace963 --trace-time smtp://127.0.0.1:35491/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/20/stdout963 2> log/20/stderr963 963: 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/ dir 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/20/valgrind963 ../src/curl -q --output log/20/curl963.out --include --trace-ascii log/20/trace963 --trace-time smtp://127.0.0.1:35491/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/20/stdout963 2> log/20/stderr963 === End of file commands.log === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 07:51:59.689878 ====> Client connect 07:51:59.692409 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.692988 < "EHLO verifiedserver" 07:51:59.693040 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.693225 < "HELP" 07:51:59.693259 > "214 WE ROOLZ: 124297[CR][LF]" 07:51:59.693274 return proof we are we 07:51:59.693512 < "QUIT" 07:51:59.693540 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.694668 MAIN sockfilt said DISC 07:51:59.694699 ====> Client disconnected 07:51:59.694767 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.516821 ====> Client connect 07:52:00.520383 Received DATA (on stdin) 07:52:00.520405 > 160 bytes data, server => client 07:52:00.520419 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.520431 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.520443 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.520754 < 21 bytes data, client => server 07:52:00.520774 'EHLO verifiedserver\r\n' 07:52:00.520986 Received DATA (on stdin) 07:52:00.521000 > 53 bytes data, server => client 07:52:00.521013 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.521072 < 6 bytes data, client => server 07:52:00.521083 'HELP\r\n' 07:52:00.521216 Received DATA (on stdin) 07:52:00.521228 > 22 bytes data, server => client 07:52:00.521240 '214 WE ROOLZ: 124297\r\n' 07:52:00.521341 < 6 bytes data, client => server 07:52:00.521355 'QUIT\r\n' 07:52:00.521482 Received DATA (on stdin) 07:52:00.521494 > 35 bytes data, server => client 07:52:00.521505 '221 curl ESMTP server signing off\r\n' 07:52:00.522557 ====> Client disconnect 07:52:00.522709 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 ==127801== ==127801== Process terminating with default action of signal 4 (SIGILL) ==127801== Illegal opcode at address 0x4013DC0 ==127801== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127801== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127801== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127801== by 0x40037A4: main (tool_main.c:199) === End of file valgrind963 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/13/valgrind952 ../src/curl -q --output log/13/curl952.out --include --trace-ascii log/13/trace952 --trace-time smtp://127.0.0.1:38727/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout952 2> log/13/stderr952 952: 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/ dir 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/13/valgrind952 ../src/curl -q --output log/13/curl952.out --include --trace-ascii log/13/trace952 --trace-time smtp://127.0.0.1:38727/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/13/stdout952 2> log/13/stderr952 === End of file commands.log === Start of file server.cmd Testnum 952 === End of file server.cmd === Start of file smtp_server.log 07:51:59.351986 ====> Client connect 07:51:59.352146 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.357903 < "EHLO verifiedserver" 07:51:59.358100 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.358333 < "HELP" 07:51:59.358370 > "214 WE ROOLZ: 124106[CR][LF]" 07:51:59.358387 return proof we are we 07:51:59.359020 < "QUIT" 07:51:59.359054 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.361278 MAIN sockfilt said DISC 07:51:59.361309 ====> Client disconnected 07:51:59.361373 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.179806 ====> Client connect 07:51:59.180101 Received DATA (on stdin) 07:51:59.182727 > 160 bytes data, server => client 07:51:59.182751 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.182764 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.182776 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.185653 < 21 bytes data, client => server 07:51:59.185677 'EHLO verifiedserver\r\n' 07:51:59.186057 Received DATA (on stdin) 07:51:59.186074 > 53 bytes data, server => client 07:51:59.186087 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.186156 < 6 bytes data, client => server 07:51:59.186171 'HELP\r\n' 07:51:59.186333 Received DATA (on stdin) 07:51:59.186347 > 22 bytes data, server => client 07:51:59.186360 '214 WE ROOLZ: 124106\r\n' 07:51:59.186834 < 6 bytes data, client => server 07:51:59.186853 'QUIT\r\n' 07:51:59.187487 Received DATA (on stdin) 07:51:59.187507 > 35 bytes data, server => client 07:51:59.187521 '221 curl ESMTP server signing off\r\n' 07:51:59.189158 ====> Client disconnect 07:51:59.189321 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 ==127312== ==127312== Process terminating with default action of signal 4 (SIGILL) ==127312== Illegal opcode at address 0x4013DC0 ==127312== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127312== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127312== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127312== by 0x40037A4: main (tool_main.c:199) === End of file valgrind952 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:43649/957 --CMD (33792): ../libtool --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/valgrind956 ../src/curl -q --output log/21/curl956.out --include --trace-ascii log/21/trace956 --trace-time smtp://127.0.0.1:43109/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/21/stdout956 2> log/21/stderr956 CMD (33792): ../libtool --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/valgrind955 ../src/curl -q --output log/12/curl955.out --include --trace-ascii log/12/trace955 --trace-time smtp://127.0.0.1:33789/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/12/stdout955 2> log/12/stderr955 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/ dir 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:43649/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 07:51:59.590921 ====> Client connect 07:51:59.591057 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.594982 < "EHLO verifiedserver" 07:51:59.595042 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.595249 < "HELP" 07:51:59.595289 > "214 WE ROOLZ: 109787[CR][LF]" 07:51:59.595303 return proof we are we 07:51:59.595532 < "QUIT" 07:51:59.595562 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.596504 MAIN sockfilt said DISC 07:51:59.596534 ====> Client disconnected 07:51:59.596597 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.418769 ====> Client connect 07:51:59.419015 Received DATA (on stdin) 07:51:59.419031 > 160 bytes data, server => client 07:51:59.419043 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.419054 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.419064 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.422741 < 21 bytes data, client => server 07:51:59.422764 'EHLO verifiedserver\r\n' 07:51:59.422989 Received DATA (on stdin) 07:51:59.423003 > 53 bytes data, server => client 07:51:59.423014 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.423078 < 6 bytes data, client => server 07:51:59.423089 'HELP\r\n' 07:51:59.423244 Received DATA (on stdin) 07:51:59.423256 > 22 bytes data, server => client 07:51:59.423266 '214 WE ROOLZ: 109787\r\n' 07:51:59.423360 < 6 bytes data, client => server 07:51:59.423373 'QUIT\r\n' 07:51:59.423503 Received DATA (on stdin) 07:51:59.423515 > 35 bytes data, server => client 07:51:59.423526 '221 curl ESMTP server signing off\r\n' 07:51:59.424395 ====> Client disconnect 07:51:59.424538 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==127623== ==127623== Process terminating with default action of signal 4 (SIGILL) ==127623== Illegal opcode at address 0x4013DC0 ==127623== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127623== by 0x40037A4: main (tool_main.c:199) === End of file valgrind957 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/21/valgrind956 ../src/curl -q --output log/21/curl956.out --include --trace-ascii log/21/trace956 --trace-time smtp://127.0.0.1:43109/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/21/stdout956 2> log/21/stderr956 956: 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/ dir 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/21/valgrind956 ../src/curl -q --output log/21/curl956.out --include --trace-ascii log/21/trace956 --trace-time smtp://127.0.0.1:43109/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/21/stdout956 2> log/21/stderr956 === End of file commands.log === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 07:51:59.584106 ====> Client connect 07:51:59.584250 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.584547 < "EHLO verifiedserver" 07:51:59.584609 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.588063 < "HELP" 07:51:59.588110 > "214 WE ROOLZ: 124246[CR][LF]" 07:51:59.588127 return proof we are we 07:51:59.588377 < "QUIT" 07:51:59.588408 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.589387 MAIN sockfilt said DISC 07:51:59.589418 ====> Client disconnected 07:51:59.589488 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.411919 ====> Client connect 07:52:00.412208 Received DATA (on stdin) 07:52:00.412225 > 160 bytes data, server => client 07:52:00.412237 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.412249 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.412259 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.412341 < 21 bytes data, client => server 07:52:00.412355 'EHLO verifiedserver\r\n' 07:52:00.412559 Received DATA (on stdin) 07:52:00.412572 > 53 bytes data, server => client 07:52:00.412585 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.412645 < 6 bytes data, client => server 07:52:00.412657 'HELP\r\n' 07:52:00.416073 Received DATA (on stdin) 07:52:00.416088 > 22 bytes data, server => client 07:52:00.416100 '214 WE ROOLZ: 124246\r\n' 07:52:00.416219 < 6 bytes data, client => server 07:52:00.416234 'QUIT\r\n' 07:52:00.416352 Received DATA (on stdin) 07:52:00.416364 > 35 bytes data, server => client 07:52:00.416377 '221 curl ESMTP server signing off\r\n' 07:52:00.417276 ====> Client disconnect 07:52:00.418249 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 ==127622== ==127622== Process terminating with default action of signal 4 (SIGILL) ==127622== Illegal opcode at address 0x4013DC0 ==127622== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127622== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127622== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127622== by 0x40037A4: main (tool_main.c:199) === End of file valgrind956 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/12/valgrind955 ../src/curl -q --output log/12/curl955.out --include --trace-ascii log/12/trace955 --trace-time smtp://127.0.0.1:33789/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/12/stdout955 2> log/12/stderr955 955: 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/ dir 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/12/valgrind955 ../src/curl -q --output log/12/curl955.out --include --trace-ascii log/12/trace955 --trace-time smtp://127.0.0.1:33789/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/8/stdout962 2> log/8/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/17/valgrind964 ../src/curl -q --output log/17/curl964.out --include --trace-ascii log/17/trace964 --trace-time smtp://127.0.0.1:39863/964 --mail-rcpt user@åäö.se > log/17/stdout964 2> log/17/stderr964 2/stdin-for-955 > log/12/stdout955 2> log/12/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 07:51:59.551275 ====> Client connect 07:51:59.551474 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.551839 < "EHLO verifiedserver" 07:51:59.551892 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.552084 < "HELP" 07:51:59.552120 > "214 WE ROOLZ: 124745[CR][LF]" 07:51:59.552135 return proof we are we 07:51:59.552380 < "QUIT" 07:51:59.552413 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.557351 MAIN sockfilt said DISC 07:51:59.557384 ====> Client disconnected 07:51:59.557450 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.379006 ====> Client connect 07:52:00.379434 Received DATA (on stdin) 07:52:00.379454 > 160 bytes data, server => client 07:52:00.379467 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.379479 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.379490 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.379610 < 21 bytes data, client => server 07:52:00.379625 'EHLO verifiedserver\r\n' 07:52:00.379840 Received DATA (on stdin) 07:52:00.379855 > 53 bytes data, server => client 07:52:00.379867 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.379930 < 6 bytes data, client => server 07:52:00.379942 'HELP\r\n' 07:52:00.380076 Received DATA (on stdin) 07:52:00.380089 > 22 bytes data, server => client 07:52:00.380100 '214 WE ROOLZ: 124745\r\n' 07:52:00.380228 < 6 bytes data, client => server 07:52:00.380242 'QUIT\r\n' 07:52:00.380354 Received DATA (on stdin) 07:52:00.380367 > 35 bytes data, server => client 07:52:00.380378 '221 curl ESMTP server signing off\r\n' 07:52:00.385053 ====> Client disconnect 07:52:00.385396 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 ==127654== ==127654== Process terminating with default action of signal 4 (SIGILL) ==127654== Illegal opcode at address 0x4013DC0 ==127654== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127654== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127654== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127654== by 0x40037A4: main (tool_main.c:199) === End of file valgrind955 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/8/valgrind962 ../src/curl -q --output log/8/curl962.out --include --trace-ascii log/8/trace962 --trace-time smtp://127.0.0.1:40465/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/8/stdout962 2> log/8/stderr962 962: 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/ dir 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/8/valgrind962 ../src/curl -q --output log/8/curl962.out --include --trace-ascii log/8/trace962 --trace-time smtp://127.0.0.1:40465/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/8/stdout962 2> log/8/stderr962 === End of file commands.log === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 07:51:59.598061 ====> Client connect 07:51:59.598232 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:51:59.603509 < "EHLO verifiedserver" 07:51:59.603567 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:51:59.608043 < "HELP" 07:51:59.608095 > "214 WE ROOLZ: 124722[CR][LF]" 07:51:59.608111 return proof we are we 07:51:59.612932 < "QUIT" 07:51:59.612980 > "221 curl ESMTP server signing off[CR][LF]" 07:51:59.614471 MAIN sockfilt said DISC 07:51:59.614501 ====> Client disconnected 07:51:59.614595 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.425871 ====> Client connect 07:52:00.426191 Received DATA (on stdin) 07:52:00.426209 > 160 bytes data, server => client 07:52:00.426221 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.426232 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.426243 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.431230 < 21 bytes data, client => server 07:52:00.431254 'EHLO verifiedserver\r\n' 07:52:00.431515 Received DATA (on stdin) 07:52:00.431530 > 53 bytes data, server => client 07:52:00.431542 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.435841 < 6 bytes data, client => server 07:52:00.435863 'HELP\r\n' 07:52:00.436054 Received DATA (on stdin) 07:52:00.436115 > 22 bytes data, server => client 07:52:00.436131 '214 WE ROOLZ: 124722\r\n' 07:52:00.440725 < 6 bytes data, client => server 07:52:00.440749 'QUIT\r\n' 07:52:00.440923 Received DATA (on stdin) 07:52:00.440935 > 35 bytes data, server => client 07:52:00.440946 '221 curl ESMTP server signing off\r\n' 07:52:00.442360 ====> Client disconnect 07:52:00.442539 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 ==127657== ==127657== Process terminating with default action of signal 4 (SIGILL) ==127657== Illegal opcode at address 0x4013DC0 ==127657== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind962 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/17/valgrind964 ../src/curl -q --output log/17/curl964.out --include --trace-ascii log/17/trace964 --trace-time smtp://127.0.0.1:39863/964 --mail-rcpt user@åäö.se > log/17/stdout964 2> log/17/stderr964 964: 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/ dir 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/17/valgrind964 ../src/curl -q --output log/17/curl964.out --include --trace-ascii log/17/trace964 --trace-time smtp://127.0.0.1:39863/964 --mail-rcpt user@åäö.se > log/17/stdout964 2> log/17/stderr964 === End of file commands.log === Start of file server.cmd Testnum 964 === End of file server.cmd === Start of file smtp_server.log 07:52:00.019877 ====> Client connect 07:52:00.024802 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.035035 < "EHLO verifiedserver" 07:52:00.035105 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.035997 < "HELP" 07:52:00.036045 > "214 WE ROOLZ: 124302[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/7/valgrind968 ../src/curl -q --output log/7/curl968.out --include --trace-ascii log/7/trace968 --trace-time smtp://127.0.0.1:44513/968 --mail-rcpt Användaren > log/7/stdout968 2> log/7/stderr968 CMD (33792): ../libtool --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/valgrind965 ../src/curl -q --output log/3/curl965.out --include --trace-ascii log/3/trace965 --trace-time smtp://127.0.0.1:34951/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/3/stdout965 2> log/3/stderr965 07:52:00.036060 return proof we are we 07:52:00.036307 < "QUIT" 07:52:00.036339 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.037287 MAIN sockfilt said DISC 07:52:00.037315 ====> Client disconnected 07:52:00.037387 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.847687 ====> Client connect 07:51:59.858656 Received DATA (on stdin) 07:51:59.858694 > 160 bytes data, server => client 07:51:59.858708 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.858720 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.858732 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.862626 < 21 bytes data, client => server 07:51:59.862654 'EHLO verifiedserver\r\n' 07:51:59.863059 Received DATA (on stdin) 07:51:59.863075 > 53 bytes data, server => client 07:51:59.863088 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.863798 < 6 bytes data, client => server 07:51:59.863819 'HELP\r\n' 07:51:59.864003 Received DATA (on stdin) 07:51:59.864016 > 22 bytes data, server => client 07:51:59.864028 '214 WE ROOLZ: 124302\r\n' 07:51:59.864134 < 6 bytes data, client => server 07:51:59.864148 'QUIT\r\n' 07:51:59.864282 Received DATA (on stdin) 07:51:59.864294 > 35 bytes data, server => client 07:51:59.864305 '221 curl ESMTP server signing off\r\n' 07:51:59.865178 ====> Client disconnect 07:51:59.865329 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==127984== ==127984== Process terminating with default action of signal 4 (SIGILL) ==127984== Illegal opcode at address 0x4013DC0 ==127984== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==127984== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127984== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==127984== by 0x40037A4: main (tool_main.c:199) === End of file valgrind964 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/7/valgrind968 ../src/curl -q --output log/7/curl968.out --include --trace-ascii log/7/trace968 --trace-time smtp://127.0.0.1:44513/968 --mail-rcpt Användaren > log/7/stdout968 2> log/7/stderr968 968: 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/ dir 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/7/valgrind968 ../src/curl -q --output log/7/curl968.out --include --trace-ascii log/7/trace968 --trace-time smtp://127.0.0.1:44513/968 --mail-rcpt Användaren > log/7/stdout968 2> log/7/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 07:52:00.154711 ====> Client connect 07:52:00.154866 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.158114 < "EHLO verifiedserver" 07:52:00.158170 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.161420 < "HELP" 07:52:00.161472 > "214 WE ROOLZ: 124351[CR][LF]" 07:52:00.161489 return proof we are we 07:52:00.161839 < "QUIT" 07:52:00.161889 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.163522 MAIN sockfilt said DISC 07:52:00.163563 ====> Client disconnected 07:52:00.163637 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.982534 ====> Client connect 07:51:59.982826 Received DATA (on stdin) 07:51:59.982844 > 160 bytes data, server => client 07:51:59.982858 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.982871 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.982881 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.985854 < 21 bytes data, client => server 07:51:59.985880 'EHLO verifiedserver\r\n' 07:51:59.986121 Received DATA (on stdin) 07:51:59.986136 > 53 bytes data, server => client 07:51:59.986148 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.989206 < 6 bytes data, client => server 07:51:59.989229 'HELP\r\n' 07:51:59.989436 Received DATA (on stdin) 07:51:59.989450 > 22 bytes data, server => client 07:51:59.989463 '214 WE ROOLZ: 124351\r\n' 07:51:59.989628 < 6 bytes data, client => server 07:51:59.989644 'QUIT\r\n' 07:51:59.989837 Received DATA (on stdin) 07:51:59.989849 > 35 bytes data, server => client 07:51:59.989862 '221 curl ESMTP server signing off\r\n' 07:51:59.990951 ====> Client disconnect 07:51:59.991581 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==128186== ==128186== Process terminating with default action of signal 4 (SIGILL) ==128186== Illegal opcode at address 0x4013DC0 ==128186== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128186== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128186== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128186== by 0x40037A4: main (tool_main.c:199) === End of file valgrind968 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/3/valgrind965 ../src/curl -q --output log/3/curl965.out --include --trace-ascii log/3/trace965 --trace-time smtp://127.0.0.1:34951/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/3/stdout965 2> log/3/stderr965 965: 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/ dir 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/3/valgrind965 ../src/curl -q --output log/3/curl965.out --include --trace-ascii log/3/trace965 --trace-time smtp://127.0.0.1:34951/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/3/stdout965 2> log/3/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 07:52:00.114518 ====> Client connect 07:52:00.114706 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.115473 < "EHLO verifiedserver" 07:52:00.115526 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.115712 < "HELP" 07:52:00.115746 > "214 WE ROOLZ: 109725[CR][LF]" 07:52:00.115761 return proof we are we 07:52:00.115977 < "QUIT" 07:52:00.116008 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.122885 MAIN sockfilt said DISC 07:52:00.122931 ====> Client disconnected 07:52:00.123010 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.942330 ====> Client connect 07:51:59.942670 Received DATA (on stdin) 07:51:59.942688 > 160 bytes data, server => client 07:51:59.942701 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.942714 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.942726 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.943228 < 21 bytes data, client => server 07:51:59.943248 'EHLO verifiedserver\r\n' 07:51:59.943474 Received DATA (on stdin) 07:51:59.943487 > 53 bytes data, server => client 07:51:59.943500 '250 ESMTP pingpong CMD (33792): ../libtool --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:37407/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/2/valgrind967 ../src/curl -q --output log/2/curl967.out --include --trace-ascii log/2/trace967 --trace-time smtp://127.0.0.1:40237/967 --mail-rcpt Användaren@åäö.se > log/2/stdout967 2> log/2/stderr967 CMD (33792): ../libtool --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/valgrind966 ../src/curl -q --output log/1/curl966.out --include --trace-ascii log/1/trace966 --trace-time smtp://127.0.0.1:43077/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/1/stdout966 2> log/1/stderr966 test server Hello verifiedserver\r\n' 07:51:59.943557 < 6 bytes data, client => server 07:51:59.943569 'HELP\r\n' 07:51:59.943703 Received DATA (on stdin) 07:51:59.943715 > 22 bytes data, server => client 07:51:59.943726 '214 WE ROOLZ: 109725\r\n' 07:51:59.943825 < 6 bytes data, client => server 07:51:59.943839 'QUIT\r\n' 07:51:59.943952 Received DATA (on stdin) 07:51:59.943965 > 35 bytes data, server => client 07:51:59.943977 '221 curl ESMTP server signing off\r\n' 07:51:59.947793 ====> Client disconnect 07:51:59.950956 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 ==128071== ==128071== Process terminating with default action of signal 4 (SIGILL) ==128071== Illegal opcode at address 0x4013DC0 ==128071== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128071== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128071== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128071== by 0x40037A4: main (tool_main.c:199) === End of file valgrind965 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:37407/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/ dir 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:37407/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 07:52:00.221612 ====> Client connect 07:52:00.221776 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.222094 < "EHLO verifiedserver" 07:52:00.222145 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.222343 < "HELP" 07:52:00.222378 > "214 WE ROOLZ: 124405[CR][LF]" 07:52:00.222394 return proof we are we 07:52:00.222620 < "QUIT" 07:52:00.222650 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.223452 MAIN sockfilt said DISC 07:52:00.223481 ====> Client disconnected 07:52:00.223549 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.049426 ====> Client connect 07:52:00.049737 Received DATA (on stdin) 07:52:00.049755 > 160 bytes data, server => client 07:52:00.049769 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.049781 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.049793 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.049878 < 21 bytes data, client => server 07:52:00.049893 'EHLO verifiedserver\r\n' 07:52:00.050093 Received DATA (on stdin) 07:52:00.050108 > 53 bytes data, server => client 07:52:00.050121 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.050181 < 6 bytes data, client => server 07:52:00.050195 'HELP\r\n' 07:52:00.050338 Received DATA (on stdin) 07:52:00.050351 > 22 bytes data, server => client 07:52:00.050363 '214 WE ROOLZ: 124405\r\n' 07:52:00.050465 < 6 bytes data, client => server 07:52:00.050480 'QUIT\r\n' 07:52:00.050594 Received DATA (on stdin) 07:52:00.050607 > 35 bytes data, server => client 07:52:00.050619 '221 curl ESMTP server signing off\r\n' 07:52:00.051344 ====> Client disconnect 07:52:00.051494 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==128200== ==128200== Process terminating with default action of signal 4 (SIGILL) ==128200== Illegal opcode at address 0x4013DC0 ==128200== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128200== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128200== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128200== by 0x40037A4: main (tool_main.c:199) === End of file valgrind969 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/2/valgrind967 ../src/curl -q --output log/2/curl967.out --include --trace-ascii log/2/trace967 --trace-time smtp://127.0.0.1:40237/967 --mail-rcpt Användaren@åäö.se > log/2/stdout967 2> log/2/stderr967 967: 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/ dir 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/2/valgrind967 ../src/curl -q --output log/2/curl967.out --include --trace-ascii log/2/trace967 --trace-time smtp://127.0.0.1:40237/967 --mail-rcpt Användaren@åäö.se > log/2/stdout967 2> log/2/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 07:52:00.132868 ====> Client connect 07:52:00.133007 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.133321 < "EHLO verifiedserver" 07:52:00.133367 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.133539 < "HELP" 07:52:00.133570 > "214 WE ROOLZ: 124355[CR][LF]" 07:52:00.133584 return proof we are we 07:52:00.133787 < "QUIT" 07:52:00.133813 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.134530 MAIN sockfilt said DISC 07:52:00.134558 ====> Client disconnected 07:52:00.134633 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.960683 ====> Client connect 07:51:59.960961 Received DATA (on stdin) 07:51:59.960978 > 160 bytes data, server => client 07:51:59.960991 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.961001 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.961012 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.961112 < 21 bytes data, client => server 07:51:59.961129 'EHLO verifiedserver\r\n' 07:51:59.961312 Received DATA (on stdin) 07:51:59.961324 > 53 bytes data, server => client 07:51:59.961335 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.961389 < 6 bytes data, client => server 07:51:59.961400 'HELP\r\n' 07:51:59.961524 Received DATA (on stdin) 07:51:59.961536 > 22 bytes data, server => client 07:51:59.961546 '214 WE ROOLZ: 124355\r\n' 07:51:59.961644 < 6 bytes data, client => server 07:51:59.961656 'QUIT\r\n' 07:51:59.961754 Received DATA (on stdin) 07:51:59.961765 > 35 bytes data, server => client 07:51:59.961775 '221 curl ESMTP server signing off\r\n' 07:51:59.962423 ====> Client disconnect 07:51:59.962576 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==128089== ==128089== Process terminating with default action of signal 4 (SIGILL) ==128089== Illegal opcode at address 0x4013DC0 ==128089== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128089== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128089== 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/valgrind973 ../src/curl -q --output log/22/curl973.out --include --trace-ascii log/22/trace973 --trace-time http://127.0.0.1:40377/973 -L -u joe:secret > log/22/stdout973 2> log/22/stderr973 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128089== by 0x40037A4: main (tool_main.c:199) === End of file valgrind967 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/1/valgrind966 ../src/curl -q --output log/1/curl966.out --include --trace-ascii log/1/trace966 --trace-time smtp://127.0.0.1:43077/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/1/stdout966 2> log/1/stderr966 966: 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/ dir 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/1/valgrind966 ../src/curl -q --output log/1/curl966.out --include --trace-ascii log/1/trace966 --trace-time smtp://127.0.0.1:43077/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/1/stdout966 2> log/1/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 07:52:00.092512 ====> Client connect 07:52:00.092697 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.093023 < "EHLO verifiedserver" 07:52:00.093075 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.093282 < "HELP" 07:52:00.093322 > "214 WE ROOLZ: 124301[CR][LF]" 07:52:00.093336 return proof we are we 07:52:00.093545 < "QUIT" 07:52:00.093572 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.094503 MAIN sockfilt said DISC 07:52:00.094533 ====> Client disconnected 07:52:00.094613 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:51:59.920310 ====> Client connect 07:51:59.920664 Received DATA (on stdin) 07:51:59.920682 > 160 bytes data, server => client 07:51:59.920696 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:51:59.920707 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:51:59.920717 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:51:59.920801 < 21 bytes data, client => server 07:51:59.920815 'EHLO verifiedserver\r\n' 07:51:59.921022 Received DATA (on stdin) 07:51:59.921040 > 53 bytes data, server => client 07:51:59.921052 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:51:59.921111 < 6 bytes data, client => server 07:51:59.921122 'HELP\r\n' 07:51:59.921277 Received DATA (on stdin) 07:51:59.921289 > 22 bytes data, server => client 07:51:59.921300 '214 WE ROOLZ: 124301\r\n' 07:51:59.921396 < 6 bytes data, client => server 07:51:59.921410 'QUIT\r\n' 07:51:59.921514 Received DATA (on stdin) 07:51:59.921526 > 35 bytes data, server => client 07:51:59.921537 '221 curl ESMTP server signing off\r\n' 07:51:59.922395 ====> Client disconnect 07:51:59.922556 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 ==128044== ==128044== Process terminating with default action of signal 4 (SIGILL) ==128044== Illegal opcode at address 0x4013DC0 ==128044== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128044== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128044== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128044== by 0x40037A4: main (tool_main.c:199) === End of file valgrind966 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/22/valgrind973 ../src/curl -q --output log/22/curl973.out --include --trace-ascii log/22/trace973 --trace-time http://127.0.0.1:40377/973 -L -u joe:secret > log/22/stdout973 2> log/22/stderr973 973: 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/ dir 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/22/valgrind973 ../src/curl -q --output log/22/curl973.out --include --trace-ascii log/22/trace973 --trace-time http://127.0.0.1:40377/973 -L -u joe:secret > log/22/stdout973 2> log/22/stderr973 === End of file commands.log === Start of file ftp_server.log 07:52:00.580523 ====> Client connect 07:52:00.580666 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.580914 < "USER anonymous" 07:52:00.580946 > "331 We are happy you popped in![CR][LF]" 07:52:00.581097 < "PASS ftp@example.com" 07:52:00.581121 > "230 Welcome you silly person[CR][LF]" 07:52:00.581271 < "PWD" 07:52:00.581303 > "257 "/" is current directory[CR][LF]" 07:52:00.581457 < "EPSV" 07:52:00.581479 ====> Passive DATA channel requested by client 07:52:00.581492 DATA sockfilt for passive data channel starting... 07:52:00.583331 DATA sockfilt for passive data channel started (pid 128404) 07:52:00.583429 DATA sockfilt for passive data channel listens on port 34257 07:52:00.583469 > "229 Entering Passive Mode (|||34257|)[CR][LF]" 07:52:00.583486 Client has been notified that DATA conn will be accepted on port 34257 07:52:00.583697 Client connects to port 34257 07:52:00.583723 ====> Client established passive DATA connection on port 34257 07:52:00.583788 < "TYPE I" 07:52:00.583813 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:00.583957 < "SIZE verifiedserver" 07:52:00.583990 > "213 17[CR][LF]" 07:52:00.584133 < "RETR verifiedserver" 07:52:00.584162 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:00.584235 =====> Closing passive DATA connection... 07:52:00.584250 Server disconnects passive DATA connection 07:52:00.584495 Server disconnected passive DATA connection 07:52:00.584521 DATA sockfilt for passive data channel quits (pid 128404) 07:52:00.585041 DATA sockfilt for passive data channel quit (pid 128404) 07:52:00.585063 =====> Closed passive DATA connection 07:52:00.585092 > "226 File transfer complete[CR][LF]" 07:52:00.638067 < "QUIT" 07:52:00.638129 > "221 bye bye baby[CR][LF]" 07:52:00.639049 MAIN sockfilt said DISC 07:52:00.639096 ====> Client disconnected 07:52:00.639173 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:00.408354 ====> Client connect 07:52:00.408620 Received DATA (on stdin) 07:52:00.408634 > 160 bytes data, server => client 07:52:00.408647 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.408658 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.408669 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.408741 < 16 bytes data, client => server 07:52:00.408753 'USER anonymous\r\n' 07:52:00.408891 Received DATA (on stdin) 07:52:00.408903 > 33 bytes data, server => client 07:52:00.408913 '331 We are happy you popped in!\r\n' 07:52:00.408959 < 22 bytes data, client => server 07:52:00.408970 'PASS ftp@example.com\r\n' 07:52:00.409061 Received DATA (on stdin) 07:52:00.409073 > 30 bytes data, server => client 07:52:00.409084 '230 Welcome you silly person\r\n' 07:52:00.409128 < 5 bytes data, client => server 07:52:00.409139 'PWD\r\n' 07:52:00.409244 Received DATA (on stdin) 07:52:00.409256 > 30 bytes data, server => client 07:52:00.409267 '257 "/" is current directory\r\n' 07:52:00.409321 CMD (33792): ../libtool --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/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-time -x http://127.0.0.1:42797 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/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/9/valgrind975 ../src/curl -q --output log/9/curl975.out --include --trace-ascii log/9/trace975 --trace-time http://127.0.0.1:42717/975 --location-trusted -u joe:secret > log/9/stdout975 2> log/9/stderr975 < 6 bytes data, client => server 07:52:00.409332 'EPSV\r\n' 07:52:00.411431 Received DATA (on stdin) 07:52:00.411445 > 39 bytes data, server => client 07:52:00.411457 '229 Entering Passive Mode (|||34257|)\r\n' 07:52:00.411561 < 8 bytes data, client => server 07:52:00.411576 'TYPE I\r\n' 07:52:00.411754 Received DATA (on stdin) 07:52:00.411766 > 33 bytes data, server => client 07:52:00.411777 '200 I modify TYPE as you wanted\r\n' 07:52:00.411823 < 21 bytes data, client => server 07:52:00.411833 'SIZE verifiedserver\r\n' 07:52:00.411931 Received DATA (on stdin) 07:52:00.411943 > 8 bytes data, server => client 07:52:00.411953 '213 17\r\n' 07:52:00.411998 < 21 bytes data, client => server 07:52:00.412010 'RETR verifiedserver\r\n' 07:52:00.412192 Received DATA (on stdin) 07:52:00.412204 > 29 bytes data, server => client 07:52:00.412215 '150 Binary junk (17 bytes).\r\n' 07:52:00.413035 Received DATA (on stdin) 07:52:00.413051 > 28 bytes data, server => client 07:52:00.413062 '226 File transfer complete\r\n' 07:52:00.462541 < 6 bytes data, client => server 07:52:00.462573 'QUIT\r\n' 07:52:00.466085 Received DATA (on stdin) 07:52:00.466103 > 18 bytes data, server => client 07:52:00.466114 '221 bye bye baby\r\n' 07:52:00.466924 ====> Client disconnect 07:52:00.467116 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:00.410983 Running IPv4 version 07:52:00.411042 Listening on port 34257 07:52:00.411075 Wrote pid 128404 to log/22/server/ftp_sockdata.pid 07:52:00.411218 Received PING (on stdin) 07:52:00.411293 Received PORT (on stdin) 07:52:00.411595 ====> Client connect 07:52:00.412238 Received DATA (on stdin) 07:52:00.412250 > 17 bytes data, server => client 07:52:00.412261 'WE ROOLZ: 80638\r\n' 07:52:00.412305 Received DISC (on stdin) 07:52:00.412316 ====> Client forcibly disconnected 07:52:00.412470 Received QUIT (on stdin) 07:52:00.412482 quits 07:52:00.412536 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:00.349930 ====> Client connect 07:52:00.349969 accept_connection 3 returned 4 07:52:00.349988 accept_connection 3 returned 0 07:52:00.350004 Read 93 bytes 07:52:00.350015 Process 93 bytes request 07:52:00.350028 Got request: GET /verifiedserver HTTP/1.1 07:52:00.350038 Are-we-friendly question received 07:52:00.350064 Wrote request (93 bytes) input to log/22/server.input 07:52:00.350081 Identifying ourselves as friends 07:52:00.350176 Response sent (56 bytes) and written to log/22/server.response 07:52:00.350188 special request received, no persistency 07:52:00.350198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 58346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind973 ==128457== ==128457== Process terminating with default action of signal 4 (SIGILL) ==128457== Illegal opcode at address 0x4013DC0 ==128457== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128457== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128457== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128457== by 0x40037A4: main (tool_main.c:199) === End of file valgrind973 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/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-time -x http://127.0.0.1:42797 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/stderr974 974: 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/ dir 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/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-time -x http://127.0.0.1:42797 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/stderr974 === End of file commands.log === Start of file http_server.log 07:52:00.477570 ====> Client connect 07:52:00.477609 accept_connection 3 returned 4 07:52:00.477626 accept_connection 3 returned 0 07:52:00.477642 Read 93 bytes 07:52:00.477653 Process 93 bytes request 07:52:00.477666 Got request: GET /verifiedserver HTTP/1.1 07:52:00.477677 Are-we-friendly question received 07:52:00.477705 Wrote request (93 bytes) input to log/5/server.input 07:52:00.477723 Identifying ourselves as friends 07:52:00.477778 Response sent (56 bytes) and written to log/5/server.response 07:52:00.477790 special request received, no persistency 07:52:00.477800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind974 ==128477== ==128477== Process terminating with default action of signal 4 (SIGILL) ==128477== Illegal opcode at address 0x4013DC0 ==128477== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128477== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128477== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128477== by 0x40037A4: main (tool_main.c:199) === End of file valgrind974 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/9/valgrind975 ../src/curl -q --output log/9/curl975.out --include --trace-ascii log/9/trace975 --trace-time http://127.0.0.1:42717/975 --location-trusted -u joe:secret > log/9/stdout975 2> log/9/stderr975 975: 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/ dir 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/9/valgrind975 ../src/curl -q --output log/9/curl975.out --include --trace-ascii log/9/trace975 --trace-time http://127.0.0.1:42717/975 --location-trusted -u joe:secret > log/9/stdout975 2> log/9/stderr975 === End of file commands.log === Start of file ftp_server.log 07:52:00.788695 ====> Client connect 07:52:00.788862 > "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/19/valgrind976 ../src/curl -q --output log/19/curl976.out --include --trace-ascii log/19/trace976 --trace-time -x http://127.0.0.1:34835 http://firsthost.com --location-trusted -u joe:secret > log/19/stdout976 2> log/19/stderr976 __|[CR][LF]" 07:52:00.789453 < "USER anonymous" 07:52:00.789501 > "331 We are happy you popped in![CR][LF]" 07:52:00.789704 < "PASS ftp@example.com" 07:52:00.789738 > "230 Welcome you silly person[CR][LF]" 07:52:00.789921 < "PWD" 07:52:00.789961 > "257 "/" is current directory[CR][LF]" 07:52:00.790150 < "EPSV" 07:52:00.790175 ====> Passive DATA channel requested by client 07:52:00.790191 DATA sockfilt for passive data channel starting... 07:52:00.797308 DATA sockfilt for passive data channel started (pid 128582) 07:52:00.797440 DATA sockfilt for passive data channel listens on port 33087 07:52:00.797490 > "229 Entering Passive Mode (|||33087|)[CR][LF]" 07:52:00.797510 Client has been notified that DATA conn will be accepted on port 33087 07:52:00.797812 Client connects to port 33087 07:52:00.797848 ====> Client established passive DATA connection on port 33087 07:52:00.797952 < "TYPE I" 07:52:00.797988 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:00.798153 < "SIZE verifiedserver" 07:52:00.798219 > "213 17[CR][LF]" 07:52:00.798375 < "RETR verifiedserver" 07:52:00.798408 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:00.798499 =====> Closing passive DATA connection... 07:52:00.798516 Server disconnects passive DATA connection 07:52:00.798764 Server disconnected passive DATA connection 07:52:00.798794 DATA sockfilt for passive data channel quits (pid 128582) 07:52:00.800614 DATA sockfilt for passive data channel quit (pid 128582) 07:52:00.800647 =====> Closed passive DATA connection 07:52:00.800677 > "226 File transfer complete[CR][LF]" 07:52:00.844883 < "QUIT" 07:52:00.844939 > "221 bye bye baby[CR][LF]" 07:52:00.845905 MAIN sockfilt said DISC 07:52:00.845945 ====> Client disconnected 07:52:00.846024 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:00.616525 ====> Client connect 07:52:00.616824 Received DATA (on stdin) 07:52:00.616843 > 160 bytes data, server => client 07:52:00.616858 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.616871 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.616883 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.617239 < 16 bytes data, client => server 07:52:00.617261 'USER anonymous\r\n' 07:52:00.617452 Received DATA (on stdin) 07:52:00.617467 > 33 bytes data, server => client 07:52:00.617480 '331 We are happy you popped in!\r\n' 07:52:00.617539 < 22 bytes data, client => server 07:52:00.617554 'PASS ftp@example.com\r\n' 07:52:00.617685 Received DATA (on stdin) 07:52:00.617699 > 30 bytes data, server => client 07:52:00.617712 '230 Welcome you silly person\r\n' 07:52:00.617766 < 5 bytes data, client => server 07:52:00.617780 'PWD\r\n' 07:52:00.617908 Received DATA (on stdin) 07:52:00.617922 > 30 bytes data, server => client 07:52:00.617934 '257 "/" is current directory\r\n' 07:52:00.617999 < 6 bytes data, client => server 07:52:00.618014 'EPSV\r\n' 07:52:00.625465 Received DATA (on stdin) 07:52:00.625483 > 39 bytes data, server => client 07:52:00.625496 '229 Entering Passive Mode (|||33087|)\r\n' 07:52:00.625669 < 8 bytes data, client => server 07:52:00.625686 'TYPE I\r\n' 07:52:00.625932 Received DATA (on stdin) 07:52:00.625946 > 33 bytes data, server => client 07:52:00.625957 '200 I modify TYPE as you wanted\r\n' 07:52:00.626011 < 21 bytes data, client => server 07:52:00.626022 'SIZE verifiedserver\r\n' 07:52:00.626161 Received DATA (on stdin) 07:52:00.626174 > 8 bytes data, server => client 07:52:00.626184 '213 17\r\n' 07:52:00.626232 < 21 bytes data, client => server 07:52:00.626244 'RETR verifiedserver\r\n' 07:52:00.626464 Received DATA (on stdin) 07:52:00.626477 > 29 bytes data, server => client 07:52:00.626487 '150 Binary junk (17 bytes).\r\n' 07:52:00.628625 Received DATA (on stdin) 07:52:00.628640 > 28 bytes data, server => client 07:52:00.628651 '226 File transfer complete\r\n' 07:52:00.672631 < 6 bytes data, client => server 07:52:00.672672 'QUIT\r\n' 07:52:00.672887 Received DATA (on stdin) 07:52:00.672901 > 18 bytes data, server => client 07:52:00.672912 '221 bye bye baby\r\n' 07:52:00.673786 ====> Client disconnect 07:52:00.673967 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:00.620370 Running IPv4 version 07:52:00.620454 Listening on port 33087 07:52:00.620502 Wrote pid 128582 to log/9/server/ftp_sockdata.pid 07:52:00.625178 Received PING (on stdin) 07:52:00.625285 Received PORT (on stdin) 07:52:00.625707 ====> Client connect 07:52:00.626513 Received DATA (on stdin) 07:52:00.626528 > 17 bytes data, server => client 07:52:00.626539 'WE ROOLZ: 81212\r\n' 07:52:00.626564 Received DISC (on stdin) 07:52:00.626575 ====> Client forcibly disconnected 07:52:00.626749 Received QUIT (on stdin) 07:52:00.626761 quits 07:52:00.626832 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:00.510298 ====> Client connect 07:52:00.510333 accept_connection 3 returned 4 07:52:00.510349 accept_connection 3 returned 0 07:52:00.510364 Read 93 bytes 07:52:00.510374 Process 93 bytes request 07:52:00.510387 Got request: GET /verifiedserver HTTP/1.1 07:52:00.510397 Are-we-friendly question received 07:52:00.510419 Wrote request (93 bytes) input to log/9/server.input 07:52:00.510435 Identifying ourselves as friends 07:52:00.510487 Response sent (56 bytes) and written to log/9/server.response 07:52:00.510498 special request received, no persistency 07:52:00.510507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 52072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind975 ==128675== ==128675== Process terminating with default action of signal 4 (SIGILL) ==128675== Illegal opcode at address 0x4013DC0 ==128675== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128675== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128675== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128675== by 0x40037A4: main (tool_main.c:199) === End of file valgrind975 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/19/valgrind976 ../src/curl -q --output log/19/curl976.out --include --trace-ascii log/19/trace976 --trace-time -x http://127.0.0.1:34835 http://firsthost.com --location-trusted -u joe:secret > log/19/stdout976 2> log/19/stderr976 976: 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/ dir 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/19/valgrind976 ../src/curl -q --output log/19/curl976.out --include --trace-ascii log/19/trace976 --trace-time -x http://127.0.0.1:34835 http://firsthost.com --location-trusted -u joe:secret > log/19/stdout976 2> log/19/stderr976 === End of file commands.log === Start of file http_server.log 07:52:00.525924 ====> Client connect 07:52:00.525978 accept_connection 3 returned 4 07:52:00.525999 accept_connection 3 returned 0 07:52:00.526018 Read 93 bytes 07:52:00.526029 Process 93 byteCMD (33792): ../libtool --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/valgrind978 ../src/curl -q --output log/15/curl978.out --include --trace-ascii log/15/trace978 --trace-time http://127.0.0.1:43789/978 --stderr log/15/redir --silent -w '%{stderr}nonsense\n' > log/15/stdout978 2> log/15/stderr978 CMD (33792): ../libtool --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/valgrind977 ../src/curl -q --output log/10/curl977.out --include --trace-ascii log/10/trace977 --trace-time -x http://127.0.0.1:34041 http://firsthost.me. -c log/10/cookies977 > log/10/stdout977 2> log/10/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/14/valgrind979 ../src/curl -q --output log/14/curl979.out --include --trace-ascii log/14/trace979 --trace-time http://first:secret@127.0.0.1:34115/979 -L -u smith:doggie > log/14/stdout979 2> log/14/stderr979 s request 07:52:00.526043 Got request: GET /verifiedserver HTTP/1.1 07:52:00.526053 Are-we-friendly question received 07:52:00.526080 Wrote request (93 bytes) input to log/19/server.input 07:52:00.526098 Identifying ourselves as friends 07:52:00.526177 Response sent (56 bytes) and written to log/19/server.response 07:52:00.526188 special request received, no persistency 07:52:00.526198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind976 ==128519== ==128519== Process terminating with default action of signal 4 (SIGILL) ==128519== Illegal opcode at address 0x4013DC0 ==128519== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128519== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128519== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128519== by 0x40037A4: main (tool_main.c:199) === 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/15/valgrind978 ../src/curl -q --output log/15/curl978.out --include --trace-ascii log/15/trace978 --trace-time http://127.0.0.1:43789/978 --stderr log/15/redir --silent -w '%{stderr}nonsense\n' > log/15/stdout978 2> log/15/stderr978 978: 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/ dir 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/15/valgrind978 ../src/curl -q --output log/15/curl978.out --include --trace-ascii log/15/trace978 --trace-time http://127.0.0.1:43789/978 --stderr log/15/redir --silent -w '%{stderr}nonsense\n' > log/15/stdout978 2> log/15/stderr978 === End of file commands.log === Start of file http_server.log 07:52:00.595546 ====> Client connect 07:52:00.595581 accept_connection 3 returned 4 07:52:00.595599 accept_connection 3 returned 0 07:52:00.595616 Read 93 bytes 07:52:00.595628 Process 93 bytes request 07:52:00.595644 Got request: GET /verifiedserver HTTP/1.1 07:52:00.595655 Are-we-friendly question received 07:52:00.595681 Wrote request (93 bytes) input to log/15/server.input 07:52:00.595699 Identifying ourselves as friends 07:52:00.595756 Response sent (56 bytes) and written to log/15/server.response 07:52:00.595768 special request received, no persistency 07:52:00.595778 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 48870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind978 ==128589== ==128589== Process terminating with default action of signal 4 (SIGILL) ==128589== Illegal opcode at address 0x4013DC0 ==128589== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128589== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128589== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128589== by 0x40037A4: main (tool_main.c:199) === End of file valgrind978 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/10/valgrind977 ../src/curl -q --output log/10/curl977.out --include --trace-ascii log/10/trace977 --trace-time -x http://127.0.0.1:34041 http://firsthost.me. -c log/10/cookies977 > log/10/stdout977 2> log/10/stderr977 977: 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/ dir 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/10/valgrind977 ../src/curl -q --output log/10/curl977.out --include --trace-ascii log/10/trace977 --trace-time -x http://127.0.0.1:34041 http://firsthost.me. -c log/10/cookies977 > log/10/stdout977 2> log/10/stderr977 === End of file commands.log === Start of file http_server.log 07:52:00.555904 ====> Client connect 07:52:00.555950 accept_connection 3 returned 4 07:52:00.555970 accept_connection 3 returned 0 07:52:00.555989 Read 93 bytes 07:52:00.556000 Process 93 bytes request 07:52:00.556014 Got request: GET /verifiedserver HTTP/1.1 07:52:00.556025 Are-we-friendly question received 07:52:00.556054 Wrote request (93 bytes) input to log/10/server.input 07:52:00.556072 Identifying ourselves as friends 07:52:00.556151 Response sent (56 bytes) and written to log/10/server.response 07:52:00.556163 special request received, no persistency 07:52:00.556174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 48874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind977 ==128545== ==128545== Process terminating with default action of signal 4 (SIGILL) ==128545== Illegal opcode at address 0x4013DC0 ==128545== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128545== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128545== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128545== by 0x40037A4: main (tool_main.c:199) === 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/14/valgrind979 ../src/curl -q --output log/14/curl979.out --include --trace-ascii log/14/trace979 --trace-time http://first:secret@127.0.0.1:34115/979 -L -u smith:doggie > log/14/stdout979 2> log/14/stderr979 979: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == ContentCMD (33792): ../libtool --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/valgrind985 ../src/curl -q --output log/20/curl985.out --include --trace-ascii log/20/trace985 --trace-time pop3://127.0.0.1:46815/985 -u user:secret --ssl-reqd > log/20/stdout985 2> log/20/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/18/valgrind980 ../src/curl -q --output log/18/curl980.out --include --trace-ascii log/18/trace980 --trace-time smtp://127.0.0.1:45429/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/18/stdout980 2> log/18/stderr980 s of files in the log/14/ dir after test 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/14/valgrind979 ../src/curl -q --output log/14/curl979.out --include --trace-ascii log/14/trace979 --trace-time http://first:secret@127.0.0.1:34115/979 -L -u smith:doggie > log/14/stdout979 2> log/14/stderr979 === End of file commands.log === Start of file http_server.log 07:52:00.650354 ====> Client connect 07:52:00.650389 accept_connection 3 returned 4 07:52:00.650407 accept_connection 3 returned 0 07:52:00.655014 Read 93 bytes 07:52:00.655037 Process 93 bytes request 07:52:00.655052 Got request: GET /verifiedserver HTTP/1.1 07:52:00.655062 Are-we-friendly question received 07:52:00.655099 Wrote request (93 bytes) input to log/14/server.input 07:52:00.655118 Identifying ourselves as friends 07:52:00.655172 Response sent (56 bytes) and written to log/14/server.response 07:52:00.655184 special request received, no persistency 07:52:00.655193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 44788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind979 ==128662== ==128662== Process terminating with default action of signal 4 (SIGILL) ==128662== Illegal opcode at address 0x4013DC0 ==128662== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128662== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128662== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128662== by 0x40037A4: main (tool_main.c:199) === End of file valgrind979 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/20/valgrind985 ../src/curl -q --output log/20/curl985.out --include --trace-ascii log/20/trace985 --trace-time pop3://127.0.0.1:46815/985 -u user:secret --ssl-reqd > log/20/stdout985 2> log/20/stderr985 985: 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/ dir 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/20/valgrind985 ../src/curl -q --output log/20/curl985.out --include --trace-ascii log/20/trace985 --trace-time pop3://127.0.0.1:46815/985 -u user:secret --ssl-reqd > log/20/stdout985 2> log/20/stderr985 === End of file commands.log === Start of file pop3_server.log 07:52:01.031374 ====> Client connect 07:52:01.031507 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:52:01.038240 < "CAPA" 07:52:01.038292 > "-ERR Unrecognized command[CR][LF]" 07:52:01.038506 < "RETR verifiedserver" 07:52:01.038535 return proof we are we 07:52:01.038558 > "+OK Mail transfer starts[CR][LF]" 07:52:01.038577 > "WE ROOLZ: 121498[CR][LF]" 07:52:01.038592 > ".[CR][LF]" 07:52:01.083765 < "QUIT" 07:52:01.083823 > "+OK curl POP3 server signing off[CR][LF]" 07:52:01.084260 MAIN sockfilt said DISC 07:52:01.084299 ====> Client disconnected 07:52:01.084363 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:52:00.859204 ====> Client connect 07:52:00.859465 Received DATA (on stdin) 07:52:00.859481 > 178 bytes data, server => client 07:52:00.859494 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:00.859506 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:00.859516 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:52:00.859526 've \r\n' 07:52:00.866004 < 6 bytes data, client => server 07:52:00.866027 'CAPA\r\n' 07:52:00.866239 Received DATA (on stdin) 07:52:00.866252 > 27 bytes data, server => client 07:52:00.866263 '-ERR Unrecognized command\r\n' 07:52:00.866346 < 21 bytes data, client => server 07:52:00.866359 'RETR verifiedserver\r\n' 07:52:00.866535 Received DATA (on stdin) 07:52:00.866548 > 26 bytes data, server => client 07:52:00.866558 '+OK Mail transfer starts\r\n' 07:52:00.866579 Received DATA (on stdin) 07:52:00.866590 > 18 bytes data, server => client 07:52:00.866600 'WE ROOLZ: 121498\r\n' 07:52:00.866614 Received DATA (on stdin) 07:52:00.866624 > 3 bytes data, server => client 07:52:00.866634 '.\r\n' 07:52:00.911513 < 6 bytes data, client => server 07:52:00.911544 'QUIT\r\n' 07:52:00.911773 Received DATA (on stdin) 07:52:00.911789 > 34 bytes data, server => client 07:52:00.911801 '+OK curl POP3 server signing off\r\n' 07:52:00.912140 ====> Client disconnect 07:52:00.912304 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 ==129059== ==129059== Process terminating with default action of signal 4 (SIGILL) ==129059== Illegal opcode at address 0x4013DC0 ==129059== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129059== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129059== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129059== by 0x40037A4: main (tool_main.c:199) === End of file valgrind985 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/18/valgrind980 ../src/curl -q --output log/18/curl980.out --include --trace-ascii log/18/trace980 --trace-time smtp://127.0.0.1:45429/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/18/stdout980 2> log/18/stderr980 980: 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/ dir 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/18/valgrind980 ../src/curl -q --output log/18/curl980.out --include --trace-ascii log/18/trace980 --trace-time smtp://127.0.0.1:45429/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/18/stdout980 2> log/18/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 07:52:00.962108 ====> Client connect 07:52:00.962248 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.962528 < "EHLO verifiedserver" 07:52:00.962572 > "250 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/24/valgrind982 ../src/curl -q --output log/24/curl982.out --include --trace-ascii log/24/trace982 --trace-time pop3://127.0.0.1:38919/982 -u user:secret --ssl > log/24/stdout982 2> log/24/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/11/valgrind983 ../src/curl -q --output log/11/curl983.out --include --trace-ascii log/11/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:46223/983 -T log/11/test983.txt -u user:secret -P 127.0.0.1 > log/11/stdout983 2> log/11/stderr983 SMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:00.962740 < "HELP" 07:52:00.962770 > "214 WE ROOLZ: 124421[CR][LF]" 07:52:00.962783 return proof we are we 07:52:00.962968 < "QUIT" 07:52:00.962992 > "221 curl ESMTP server signing off[CR][LF]" 07:52:00.963843 MAIN sockfilt said DISC 07:52:00.963871 ====> Client disconnected 07:52:00.963935 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:00.789932 ====> Client connect 07:52:00.790201 Received DATA (on stdin) 07:52:00.790217 > 160 bytes data, server => client 07:52:00.790229 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.790240 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.790249 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.790323 < 21 bytes data, client => server 07:52:00.790335 'EHLO verifiedserver\r\n' 07:52:00.790517 Received DATA (on stdin) 07:52:00.790530 > 53 bytes data, server => client 07:52:00.790541 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:00.790593 < 6 bytes data, client => server 07:52:00.790604 'HELP\r\n' 07:52:00.790722 Received DATA (on stdin) 07:52:00.790733 > 22 bytes data, server => client 07:52:00.790743 '214 WE ROOLZ: 124421\r\n' 07:52:00.790828 < 6 bytes data, client => server 07:52:00.790840 'QUIT\r\n' 07:52:00.790933 Received DATA (on stdin) 07:52:00.790943 > 35 bytes data, server => client 07:52:00.790954 '221 curl ESMTP server signing off\r\n' 07:52:00.791733 ====> Client disconnect 07:52:00.791876 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 ==128905== ==128905== Process terminating with default action of signal 4 (SIGILL) ==128905== Illegal opcode at address 0x4013DC0 ==128905== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128905== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128905== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128905== by 0x40037A4: main (tool_main.c:199) === End of file valgrind980 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/24/valgrind982 ../src/curl -q --output log/24/curl982.out --include --trace-ascii log/24/trace982 --trace-time pop3://127.0.0.1:38919/982 -u user:secret --ssl > log/24/stdout982 2> log/24/stderr982 982: 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/ dir 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/24/valgrind982 ../src/curl -q --output log/24/curl982.out --include --trace-ascii log/24/trace982 --trace-time pop3://127.0.0.1:38919/982 -u user:secret --ssl > log/24/stdout982 2> log/24/stderr982 === End of file commands.log === Start of file pop3_server.log 07:52:00.971301 ====> Client connect 07:52:00.971442 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:52:00.978208 < "CAPA" 07:52:00.978266 > "-ERR Unrecognized command[CR][LF]" 07:52:00.978482 < "RETR verifiedserver" 07:52:00.978509 return proof we are we 07:52:00.978531 > "+OK Mail transfer starts[CR][LF]" 07:52:00.978548 > "WE ROOLZ: 121382[CR][LF]" 07:52:00.978564 > ".[CR][LF]" 07:52:01.028207 < "QUIT" 07:52:01.028262 > "+OK curl POP3 server signing off[CR][LF]" 07:52:01.029518 MAIN sockfilt said DISC 07:52:01.029561 ====> Client disconnected 07:52:01.029636 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:52:00.799133 ====> Client connect 07:52:00.802686 Received DATA (on stdin) 07:52:00.802719 > 178 bytes data, server => client 07:52:00.802732 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:00.802743 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:00.802754 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:52:00.802763 've \r\n' 07:52:00.805925 < 6 bytes data, client => server 07:52:00.805962 'CAPA\r\n' 07:52:00.806214 Received DATA (on stdin) 07:52:00.806228 > 27 bytes data, server => client 07:52:00.806241 '-ERR Unrecognized command\r\n' 07:52:00.806324 < 21 bytes data, client => server 07:52:00.806336 'RETR verifiedserver\r\n' 07:52:00.806506 Received DATA (on stdin) 07:52:00.806518 > 26 bytes data, server => client 07:52:00.806529 '+OK Mail transfer starts\r\n' 07:52:00.806550 Received DATA (on stdin) 07:52:00.806560 > 18 bytes data, server => client 07:52:00.806571 'WE ROOLZ: 121382\r\n' 07:52:00.806584 Received DATA (on stdin) 07:52:00.806594 > 3 bytes data, server => client 07:52:00.806604 '.\r\n' 07:52:00.855968 < 6 bytes data, client => server 07:52:00.855996 'QUIT\r\n' 07:52:00.856207 Received DATA (on stdin) 07:52:00.856222 > 34 bytes data, server => client 07:52:00.856233 '+OK curl POP3 server signing off\r\n' 07:52:00.857396 ====> Client disconnect 07:52:00.857580 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 ==129016== ==129016== Process terminating with default action of signal 4 (SIGILL) ==129016== Illegal opcode at address 0x4013DC0 ==129016== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129016== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129016== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129016== by 0x40037A4: main (tool_main.c:199) === End of file valgrind982 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/11/valgrind983 ../src/curl -q --output log/11/curl983.out --include --trace-ascii log/11/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:46223/983 -T log/11/test983.txt -u user:secret -P 127.0.0.1 > log/11/stdout983 2> log/11/stderr983 983: 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/ dir 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/11/valgrind983 ../src/curl -q --output log/11/curl983.out --include --trace-ascii log/11/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:46223/983 -T log/11/test983.txt -u user:secret -P 127.0.0.1 > log/11/stdout983 2> log/11/stderr983 === End of file commands.log === Start of file ftp_server.log 07:52:00.964689 ====> Client connect 07:52:00.964831 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:00.973524 < "USER anonymous" 07:52:00.973580 > "331 We are happy you popped in![CR][LF]" 07:52:00.973777 < "PASS ftp@example.com" 07:52:00.973807 > "230 Welcome you silly person[CR][LF]" 07:52:00.973967 < "PWD" 07:52:00.974001 > "257 "/" is current directory[CR][LF]" 07:52:00.974165 < "EPSV" 07:52:00.974189 ====> Passive DATA channel requested by client 07:52:00.974204 DATA sockfilt for passive data channel starting... 07:52:00.994626 DATA sockfilt for passive data channel started (pid 128896) 07:52:00.998033 DATA sockfilt for passive data channel 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/valgrind984 ../src/curl -q --output log/23/curl984.out --include --trace-ascii log/23/trace984 --trace-time imap://127.0.0.1:39993/984 -T log/23/upload984 -u user:secret --ssl-reqd > log/23/stdout984 2> log/23/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/16/valgrind981 ../src/curl -q --output log/16/curl981.out --include --trace-ascii log/16/trace981 --trace-time imap://127.0.0.1:33983/981 -T log/16/upload981 -u user:secret --ssl > log/16/stdout981 2> log/16/stderr981 istens on port 33023 07:52:00.998114 > "229 Entering Passive Mode (|||33023|)[CR][LF]" 07:52:00.998133 Client has been notified that DATA conn will be accepted on port 33023 07:52:00.999182 Client connects to port 33023 07:52:00.999251 ====> Client established passive DATA connection on port 33023 07:52:00.999388 < "TYPE I" 07:52:00.999438 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:00.999718 < "SIZE verifiedserver" 07:52:00.999772 > "213 17[CR][LF]" 07:52:00.999980 < "RETR verifiedserver" 07:52:01.000022 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:01.000134 =====> Closing passive DATA connection... 07:52:01.000155 Server disconnects passive DATA connection 07:52:01.000637 Server disconnected passive DATA connection 07:52:01.000670 DATA sockfilt for passive data channel quits (pid 128896) 07:52:01.000966 DATA sockfilt for passive data channel quit (pid 128896) 07:52:01.000995 =====> Closed passive DATA connection 07:52:01.001028 > "226 File transfer complete[CR][LF]" 07:52:01.048238 < "QUIT" 07:52:01.051309 > "221 bye bye baby[CR][LF]" 07:52:01.052382 MAIN sockfilt said DISC 07:52:01.052424 ====> Client disconnected 07:52:01.052494 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:00.792526 ====> Client connect 07:52:00.792787 Received DATA (on stdin) 07:52:00.792804 > 160 bytes data, server => client 07:52:00.792818 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:00.792831 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:00.792842 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:00.801267 < 16 bytes data, client => server 07:52:00.801290 'USER anonymous\r\n' 07:52:00.801530 Received DATA (on stdin) 07:52:00.801545 > 33 bytes data, server => client 07:52:00.801558 '331 We are happy you popped in!\r\n' 07:52:00.801618 < 22 bytes data, client => server 07:52:00.801631 'PASS ftp@example.com\r\n' 07:52:00.801751 Received DATA (on stdin) 07:52:00.801763 > 30 bytes data, server => client 07:52:00.801776 '230 Welcome you silly person\r\n' 07:52:00.801825 < 5 bytes data, client => server 07:52:00.801837 'PWD\r\n' 07:52:00.801944 Received DATA (on stdin) 07:52:00.801956 > 30 bytes data, server => client 07:52:00.801968 '257 "/" is current directory\r\n' 07:52:00.802025 < 6 bytes data, client => server 07:52:00.802038 'EPSV\r\n' 07:52:00.826089 Received DATA (on stdin) 07:52:00.826110 > 39 bytes data, server => client 07:52:00.826123 '229 Entering Passive Mode (|||33023|)\r\n' 07:52:00.826334 < 8 bytes data, client => server 07:52:00.826351 'TYPE I\r\n' 07:52:00.827397 Received DATA (on stdin) 07:52:00.827419 > 33 bytes data, server => client 07:52:00.827432 '200 I modify TYPE as you wanted\r\n' 07:52:00.827540 < 21 bytes data, client => server 07:52:00.827558 'SIZE verifiedserver\r\n' 07:52:00.827723 Received DATA (on stdin) 07:52:00.827739 > 8 bytes data, server => client 07:52:00.827751 '213 17\r\n' 07:52:00.827818 < 21 bytes data, client => server 07:52:00.827834 'RETR verifiedserver\r\n' 07:52:00.828105 Received DATA (on stdin) 07:52:00.828120 > 29 bytes data, server => client 07:52:00.828132 '150 Binary junk (17 bytes).\r\n' 07:52:00.828977 Received DATA (on stdin) 07:52:00.828993 > 28 bytes data, server => client 07:52:00.829005 '226 File transfer complete\r\n' 07:52:00.876007 < 6 bytes data, client => server 07:52:00.876035 'QUIT\r\n' 07:52:00.879199 Received DATA (on stdin) 07:52:00.879224 > 18 bytes data, server => client 07:52:00.879236 '221 bye bye baby\r\n' 07:52:00.880262 ====> Client disconnect 07:52:00.880452 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:00.808515 Running IPv4 version 07:52:00.808587 Listening on port 33023 07:52:00.808624 Wrote pid 128896 to log/11/server/ftp_sockdata.pid 07:52:00.814291 Received PING (on stdin) 07:52:00.822936 Received PORT (on stdin) 07:52:00.827043 ====> Client connect 07:52:00.828164 Received DATA (on stdin) 07:52:00.828183 > 17 bytes data, server => client 07:52:00.828195 'WE ROOLZ: 83264\r\n' 07:52:00.828407 Received DISC (on stdin) 07:52:00.828424 ====> Client forcibly disconnected 07:52:00.828627 Received QUIT (on stdin) 07:52:00.828643 quits 07:52:00.828717 ============> 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 ==129008== ==129008== Process terminating with default action of signal 4 (SIGILL) ==129008== Illegal opcode at address 0x4013DC0 ==129008== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129008== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129008== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129008== by 0x40037A4: main (tool_main.c:199) === End of file valgrind983 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/23/valgrind984 ../src/curl -q --output log/23/curl984.out --include --trace-ascii log/23/trace984 --trace-time imap://127.0.0.1:39993/984 -T log/23/upload984 -u user:secret --ssl-reqd > log/23/stdout984 2> log/23/stderr984 984: 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/ dir 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/23/valgrind984 ../src/curl -q --output log/23/curl984.out --include --trace-ascii log/23/trace984 --trace-time imap://127.0.0.1:39993/984 -T log/23/upload984 -u user:secret --ssl-reqd > log/23/stdout984 2> log/23/stderr984 === End of file commands.log === Start of file imap_server.log 07:52:01.017970 ====> Client connect 07:52:01.018117 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:01.018436 < "A001 CAPABILITY" 07:52:01.018476 > "A001 BAD Command[CR][LF]" 07:52:01.018643 < "A002 LIST "verifiedserver" *" 07:52:01.018671 LIST_imap got "verifiedserver" * 07:52:01.018694 > "* LIST () "/" "WE ROOLZ: 118776"[CR][LF]" 07:52:01.018711 > "A002 OK LIST Completed[CR][LF]" 07:52:01.018723 return proof we are we 07:52:01.068153 < "A003 LOGOUT" 07:52:01.068212 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:01.068231 > "A003 OK LOGOUT completed[CR][LF]" 07:52:01.069284 MAIN sockfilt said DISC 07:52:01.069327 ====> Client disconnected 07:52:01.069402 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:00.845785 ====> Client connect 07:52:00.846070 Received DATA (on stdin) 07:52:00.846086 > 178 bytes data, server => client 07:52:00.846099 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:00.846110 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:00.846121 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:00.846130 'rve\r\n' 07:52:00.846230 < 17 bytes data, client => server 07:52:00.846242 'A001 CAPABILITY\r\n' 07:52:00.846418 Received DATA (on stdin) 07:52:00.846430 > 18 bytes data, server => client 07:52:00.846440 'A001 BAD Command\r\n' 07:52:00.846495 < 30 bytes data, client => server 07:52:00.846507 'A002 LIST "verifiedserver" *\r\n' 07:52:00.846662 Received DATA (on stdin) 07:52:00.846674 > 34 bytes data, server => client 07:52:00.846685 '* LIST () "/" "WE ROOLZ: 118776"\r\n' 07:52:00.846703 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/12/valgrind991 ../src/curl -q --output log/12/curl991.out --include --trace-ascii log/12/trace991 --trace-time http://127.0.0.1:38023/991 -w '%output{>>log/12/output}%{http_code}' > log/12/stdout991 2> log/12/stderr991 ved DATA (on stdin) 07:52:00.846713 > 24 bytes data, server => client 07:52:00.846724 'A002 OK LIST Completed\r\n' 07:52:00.895870 < 13 bytes data, client => server 07:52:00.895910 'A003 LOGOUT\r\n' 07:52:00.896175 Received DATA (on stdin) 07:52:00.896190 > 36 bytes data, server => client 07:52:00.896201 '* BYE curl IMAP server signing off\r\n' 07:52:00.896231 Received DATA (on stdin) 07:52:00.896241 > 26 bytes data, server => client 07:52:00.896251 'A003 OK LOGOUT completed\r\n' 07:52:00.897162 ====> Client disconnect 07:52:00.897344 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 ==129035== ==129035== Process terminating with default action of signal 4 (SIGILL) ==129035== Illegal opcode at address 0x4013DC0 ==129035== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129035== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129035== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129035== by 0x40037A4: main (tool_main.c:199) === 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/16/valgrind981 ../src/curl -q --output log/16/curl981.out --include --trace-ascii log/16/trace981 --trace-time imap://127.0.0.1:33983/981 -T log/16/upload981 -u user:secret --ssl > log/16/stdout981 2> log/16/stderr981 981: 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/ dir 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/16/valgrind981 ../src/curl -q --output log/16/curl981.out --include --trace-ascii log/16/trace981 --trace-time imap://127.0.0.1:33983/981 -T log/16/upload981 -u user:secret --ssl > log/16/stdout981 2> log/16/stderr981 === End of file commands.log === Start of file imap_server.log 07:52:00.977322 ====> Client connect 07:52:00.977892 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:00.978044 < "A001 CAPABILITY" 07:52:00.978085 > "A001 BAD Command[CR][LF]" 07:52:00.978291 < "A002 LIST "verifiedserver" *" 07:52:00.978325 LIST_imap got "verifiedserver" * 07:52:00.978353 > "* LIST () "/" "WE ROOLZ: 118550"[CR][LF]" 07:52:00.978373 > "A002 OK LIST Completed[CR][LF]" 07:52:00.978387 return proof we are we 07:52:01.028307 < "A003 LOGOUT" 07:52:01.028368 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:01.028387 > "A003 OK LOGOUT completed[CR][LF]" 07:52:01.029946 MAIN sockfilt said DISC 07:52:01.030004 ====> Client disconnected 07:52:01.030087 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:00.804030 ====> Client connect 07:52:00.805561 Received DATA (on stdin) 07:52:00.805608 > 178 bytes data, server => client 07:52:00.805632 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:00.805655 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:00.805680 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:00.805691 'rve\r\n' 07:52:00.805772 < 17 bytes data, client => server 07:52:00.805786 'A001 CAPABILITY\r\n' 07:52:00.806032 Received DATA (on stdin) 07:52:00.806049 > 18 bytes data, server => client 07:52:00.806061 'A001 BAD Command\r\n' 07:52:00.806123 < 30 bytes data, client => server 07:52:00.806137 'A002 LIST "verifiedserver" *\r\n' 07:52:00.806329 Received DATA (on stdin) 07:52:00.806344 > 34 bytes data, server => client 07:52:00.806356 '* LIST () "/" "WE ROOLZ: 118550"\r\n' 07:52:00.806379 Received DATA (on stdin) 07:52:00.806391 > 24 bytes data, server => client 07:52:00.806404 'A002 OK LIST Completed\r\n' 07:52:00.856039 < 13 bytes data, client => server 07:52:00.856080 'A003 LOGOUT\r\n' 07:52:00.856334 Received DATA (on stdin) 07:52:00.856348 > 36 bytes data, server => client 07:52:00.856360 '* BYE curl IMAP server signing off\r\n' 07:52:00.856385 Received DATA (on stdin) 07:52:00.856396 > 26 bytes data, server => client 07:52:00.856407 'A003 OK LOGOUT completed\r\n' 07:52:00.857496 ====> Client disconnect 07:52:00.858032 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd CAPA STARTTLS REPLY STARTTLS A002 BAD currently unavailable\r\nA003 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 ==128993== ==128993== Process terminating with default action of signal 4 (SIGILL) ==128993== Illegal opcode at address 0x4013DC0 ==128993== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==128993== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128993== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==128993== by 0x40037A4: main (tool_main.c:199) === End of file valgrind981 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:38023/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/ dir 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:38023/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 07:52:01.072265 ====> Client connect 07:52:01.072298 accept_connection 3 returned 4 07:52:01.072315 accept_connection 3 returned 0 07:52:01.072331 Read 93 bytes 07:52:01.072341 Process 93 bytes request 07:52:01.072357 Got request: GET /verifiedserver HTTP/1.1 07:52:01.072366 Are-we-friendly question received 07:52:01.072393 Wrote request (93 bytes) input to log/12/server.input 07:52:01.072410 Identifying ourselves as friends 07:52:01.072461 Response sent (56 bytes) and written to log/12/server.response 07:52:01.072472 special request received, no persistency 07:52:01.072482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 49534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < CMD (33792): ../libtool --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/valgrind986 ../src/curl -q --output log/13/curl986.out --include --trace-ascii log/13/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:33699/986 -T log/13/test986.txt -u user:secret > log/13/stdout986 2> log/13/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/21/valgrind990 ../src/curl -q --output log/21/curl990.out --include --trace-ascii log/21/trace990 --trace-time http://127.0.0.1:45761/990 -w '%output{log/21/output}%{http_code}\n' > log/21/stdout990 2> log/21/stderr990 HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind991 ==129355== ==129355== Process terminating with default action of signal 4 (SIGILL) ==129355== Illegal opcode at address 0x4013DC0 ==129355== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129355== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129355== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129355== by 0x40037A4: main (tool_main.c:199) === End of file valgrind991 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/13/valgrind986 ../src/curl -q --output log/13/curl986.out --include --trace-ascii log/13/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:33699/986 -T log/13/test986.txt -u user:secret > log/13/stdout986 2> log/13/stderr986 986: 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/ dir 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/13/valgrind986 ../src/curl -q --output log/13/curl986.out --include --trace-ascii log/13/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:33699/986 -T log/13/test986.txt -u user:secret > log/13/stdout986 2> log/13/stderr986 === End of file commands.log === Start of file ftp_server.log 07:52:01.115009 ====> Client connect 07:52:01.115213 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:01.120161 < "USER anonymous" 07:52:01.120216 > "331 We are happy you popped in![CR][LF]" 07:52:01.120463 < "PASS ftp@example.com" 07:52:01.120499 > "230 Welcome you silly person[CR][LF]" 07:52:01.120673 < "PWD" 07:52:01.120710 > "257 "/" is current directory[CR][LF]" 07:52:01.120897 < "EPSV" 07:52:01.120923 ====> Passive DATA channel requested by client 07:52:01.120938 DATA sockfilt for passive data channel starting... 07:52:01.126091 DATA sockfilt for passive data channel started (pid 129118) 07:52:01.126211 DATA sockfilt for passive data channel listens on port 36785 07:52:01.126253 > "229 Entering Passive Mode (|||36785|)[CR][LF]" 07:52:01.126273 Client has been notified that DATA conn will be accepted on port 36785 07:52:01.126563 Client connects to port 36785 07:52:01.126595 ====> Client established passive DATA connection on port 36785 07:52:01.126697 < "TYPE I" 07:52:01.126755 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:01.126925 < "SIZE verifiedserver" 07:52:01.126983 > "213 17[CR][LF]" 07:52:01.127724 < "RETR verifiedserver" 07:52:01.127764 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:01.127857 =====> Closing passive DATA connection... 07:52:01.127876 Server disconnects passive DATA connection 07:52:01.128162 Server disconnected passive DATA connection 07:52:01.128189 DATA sockfilt for passive data channel quits (pid 129118) 07:52:01.128418 DATA sockfilt for passive data channel quit (pid 129118) 07:52:01.128898 =====> Closed passive DATA connection 07:52:01.128925 > "226 File transfer complete[CR][LF]" 07:52:01.178925 < "QUIT" 07:52:01.178987 > "221 bye bye baby[CR][LF]" 07:52:01.180045 MAIN sockfilt said DISC 07:52:01.180089 ====> Client disconnected 07:52:01.180163 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:01.939142 ====> Client connect 07:52:01.943181 Received DATA (on stdin) 07:52:01.943203 > 160 bytes data, server => client 07:52:01.943217 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:01.943229 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:01.943241 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:01.947891 < 16 bytes data, client => server 07:52:01.947916 'USER anonymous\r\n' 07:52:01.948172 Received DATA (on stdin) 07:52:01.948188 > 33 bytes data, server => client 07:52:01.948200 '331 We are happy you popped in!\r\n' 07:52:01.948278 < 22 bytes data, client => server 07:52:01.948300 'PASS ftp@example.com\r\n' 07:52:01.948445 Received DATA (on stdin) 07:52:01.948459 > 30 bytes data, server => client 07:52:01.948472 '230 Welcome you silly person\r\n' 07:52:01.948525 < 5 bytes data, client => server 07:52:01.948537 'PWD\r\n' 07:52:01.948656 Received DATA (on stdin) 07:52:01.948669 > 30 bytes data, server => client 07:52:01.948681 '257 "/" is current directory\r\n' 07:52:01.948747 < 6 bytes data, client => server 07:52:01.948762 'EPSV\r\n' 07:52:01.954221 Received DATA (on stdin) 07:52:01.954236 > 39 bytes data, server => client 07:52:01.954249 '229 Entering Passive Mode (|||36785|)\r\n' 07:52:01.954417 < 8 bytes data, client => server 07:52:01.954436 'TYPE I\r\n' 07:52:01.954700 Received DATA (on stdin) 07:52:01.954714 > 33 bytes data, server => client 07:52:01.954726 '200 I modify TYPE as you wanted\r\n' 07:52:01.954779 < 21 bytes data, client => server 07:52:01.954793 'SIZE verifiedserver\r\n' 07:52:01.955485 Received DATA (on stdin) 07:52:01.955505 > 8 bytes data, server => client 07:52:01.955517 '213 17\r\n' 07:52:01.955573 < 21 bytes data, client => server 07:52:01.955587 'RETR verifiedserver\r\n' 07:52:01.955823 Received DATA (on stdin) 07:52:01.955846 > 29 bytes data, server => client 07:52:01.955856 '150 Binary junk (17 bytes).\r\n' 07:52:01.956869 Received DATA (on stdin) 07:52:01.956882 > 28 bytes data, server => client 07:52:01.956892 '226 File transfer complete\r\n' 07:52:02.006656 < 6 bytes data, client => server 07:52:02.006689 'QUIT\r\n' 07:52:02.006938 Received DATA (on stdin) 07:52:02.006955 > 18 bytes data, server => client 07:52:02.006966 '221 bye bye baby\r\n' 07:52:02.007924 ====> Client disconnect 07:52:02.008105 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:01.952566 Running IPv4 version 07:52:01.952630 Listening on port 36785 07:52:01.952671 Wrote pid 129118 to log/13/server/ftp_sockdata.pid 07:52:01.953960 Received PING (on stdin) 07:52:01.954064 Received PORT (on stdin) 07:52:01.954459 ====> Client connect 07:52:01.955882 Received DATA (on stdin) 07:52:01.955896 > 17 bytes data, server => client 07:52:01.955963 'WE ROOLZ: 80695\r\n' 07:52:01.955989 Received DISC (on stdin) 07:52:01.956001 ====> Client forcibly disconnected 07:52:01.956141 Received QUIT (on stdin) 07:52:01.956153 quits 07:52:01.956221 ============> 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 ==129220== ==129220== Process terminating with default action of signal 4 (SIGILL) ==129220== Illegal opcode at address 0x4013DC0 ==129220== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129220== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129220== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129220== by 0x40037A4: main (tool_main.c:199) === 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=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/4/valgrind993 ../src/curl -q --output log/4/curl993.out --include --trace-ascii log/4/trace993 --trace-time pop3://127.0.0.1:37109/ -u user:secret > log/4/stdout993 2> log/4/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/8/valgrind992 ../src/curl -q --output log/8/curl992.out --include --trace-ascii log/8/trace992 --trace-time smtp://127.0.0.1:40465/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/8/stdout992 2> log/8/stderr992 /21/valgrind990 ../src/curl -q --output log/21/curl990.out --include --trace-ascii log/21/trace990 --trace-time http://127.0.0.1:45761/990 -w '%output{log/21/output}%{http_code}\n' > log/21/stdout990 2> log/21/stderr990 990: 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/ dir 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/21/valgrind990 ../src/curl -q --output log/21/curl990.out --include --trace-ascii log/21/trace990 --trace-time http://127.0.0.1:45761/990 -w '%output{log/21/output}%{http_code}\n' > log/21/stdout990 2> log/21/stderr990 === End of file commands.log === Start of file http_server.log 07:52:01.084277 ====> Client connect 07:52:01.084311 accept_connection 3 returned 4 07:52:01.084328 accept_connection 3 returned 0 07:52:01.084342 Read 93 bytes 07:52:01.084352 Process 93 bytes request 07:52:01.084365 Got request: GET /verifiedserver HTTP/1.1 07:52:01.084374 Are-we-friendly question received 07:52:01.084399 Wrote request (93 bytes) input to log/21/server.input 07:52:01.084416 Identifying ourselves as friends 07:52:01.084471 Response sent (56 bytes) and written to log/21/server.response 07:52:01.084481 special request received, no persistency 07:52:01.084490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind990 ==129362== ==129362== Process terminating with default action of signal 4 (SIGILL) ==129362== Illegal opcode at address 0x4013DC0 ==129362== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129362== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129362== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129362== by 0x40037A4: main (tool_main.c:199) === End of file valgrind990 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/4/valgrind993 ../src/curl -q --output log/4/curl993.out --include --trace-ascii log/4/trace993 --trace-time pop3://127.0.0.1:37109/ -u user:secret > log/4/stdout993 2> log/4/stderr993 993: 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/ dir 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/4/valgrind993 ../src/curl -q --output log/4/curl993.out --include --trace-ascii log/4/trace993 --trace-time pop3://127.0.0.1:37109/ -u user:secret > log/4/stdout993 2> log/4/stderr993 === End of file commands.log === Start of file pop3_server.log 07:52:01.342862 ====> Client connect 07:52:01.343055 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:52:01.343420 < "CAPA" 07:52:01.343472 > "-ERR Unrecognized command[CR][LF]" 07:52:01.343686 < "RETR verifiedserver" 07:52:01.343718 return proof we are we 07:52:01.343742 > "+OK Mail transfer starts[CR][LF]" 07:52:01.343765 > "WE ROOLZ: 121552[CR][LF]" 07:52:01.343784 > ".[CR][LF]" 07:52:01.394484 < "QUIT" 07:52:01.394549 > "+OK curl POP3 server signing off[CR][LF]" 07:52:01.396375 MAIN sockfilt said DISC 07:52:01.396423 ====> Client disconnected 07:52:01.396506 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:52:01.170665 ====> Client connect 07:52:01.171018 Received DATA (on stdin) 07:52:01.171036 > 178 bytes data, server => client 07:52:01.171050 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:01.171063 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:01.171075 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:52:01.171086 've \r\n' 07:52:01.171177 < 6 bytes data, client => server 07:52:01.171194 'CAPA\r\n' 07:52:01.171421 Received DATA (on stdin) 07:52:01.171436 > 27 bytes data, server => client 07:52:01.171449 '-ERR Unrecognized command\r\n' 07:52:01.171512 < 21 bytes data, client => server 07:52:01.171528 'RETR verifiedserver\r\n' 07:52:01.171729 Received DATA (on stdin) 07:52:01.171743 > 26 bytes data, server => client 07:52:01.171755 '+OK Mail transfer starts\r\n' 07:52:01.171780 Received DATA (on stdin) 07:52:01.171792 > 18 bytes data, server => client 07:52:01.171804 'WE ROOLZ: 121552\r\n' 07:52:01.171819 Received DATA (on stdin) 07:52:01.171830 > 3 bytes data, server => client 07:52:01.171841 '.\r\n' 07:52:01.222214 < 6 bytes data, client => server 07:52:01.222243 'QUIT\r\n' 07:52:01.222516 Received DATA (on stdin) 07:52:01.222534 > 34 bytes data, server => client 07:52:01.222547 '+OK curl POP3 server signing off\r\n' 07:52:01.223623 ====> Client disconnect 07:52:01.224462 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 ==129511== ==129511== Process terminating with default action of signal 4 (SIGILL) ==129511== Illegal opcode at address 0x4013DC0 ==129511== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129511== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129511== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129511== by 0x40037A4: main (tool_main.c:199) === 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/8/valgrind992 ../src/curl -q --output log/8/curl992.out --include --trace-ascii log/8/trace992 --trace-time smtp://127.0.0.1:40465/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/8/stdout992 2> log/8/stderr992 992: 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/ dir 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/8/valgrind992 ../src/curl -q --output log/8/curl992.out --include --trace-ascii log/8/trace992 --trace-time smtp://127.0.0.1:40465/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/8/stdout992 2> log/8/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 07:52:01.290901 ====> Client connect 07:52:01.29CMD (33792): ../libtool --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/valgrind995 ../src/curl -q --trace-ascii log/7/trace995 --trace-time -o log/7/there http://127.0.0.1:39661/995 --skip-existing > log/7/stdout995 2> log/7/stderr995 CMD (33792): ../libtool --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/valgrind994 ../src/curl -q --include --trace-ascii log/17/trace994 --trace-time -o "log/17/#1" "http://127.0.0.1:42601/994/{hey,ho}" --skip-existing > log/17/stdout994 2> log/17/stderr994 1077 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:01.295491 < "EHLO verifiedserver" 07:52:01.295561 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:01.295788 < "HELP" 07:52:01.295830 > "214 WE ROOLZ: 124722[CR][LF]" 07:52:01.295847 return proof we are we 07:52:01.296091 < "QUIT" 07:52:01.296124 > "221 curl ESMTP server signing off[CR][LF]" 07:52:01.297094 MAIN sockfilt said DISC 07:52:01.297127 ====> Client disconnected 07:52:01.297333 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:02.118402 ====> Client connect 07:52:02.119039 Received DATA (on stdin) 07:52:02.119061 > 160 bytes data, server => client 07:52:02.119073 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:02.119084 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:02.119094 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:02.123210 < 21 bytes data, client => server 07:52:02.123237 'EHLO verifiedserver\r\n' 07:52:02.123517 Received DATA (on stdin) 07:52:02.123534 > 53 bytes data, server => client 07:52:02.123549 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:02.123613 < 6 bytes data, client => server 07:52:02.123629 'HELP\r\n' 07:52:02.123792 Received DATA (on stdin) 07:52:02.123807 > 22 bytes data, server => client 07:52:02.123819 '214 WE ROOLZ: 124722\r\n' 07:52:02.123928 < 6 bytes data, client => server 07:52:02.123946 'QUIT\r\n' 07:52:02.124071 Received DATA (on stdin) 07:52:02.124085 > 35 bytes data, server => client 07:52:02.124098 '221 curl ESMTP server signing off\r\n' 07:52:02.124982 ====> Client disconnect 07:52:02.125181 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 ==129408== ==129408== Process terminating with default action of signal 4 (SIGILL) ==129408== Illegal opcode at address 0x4013DC0 ==129408== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129408== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129408== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129408== by 0x40037A4: main (tool_main.c:199) === End of file valgrind992 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/7/valgrind995 ../src/curl -q --trace-ascii log/7/trace995 --trace-time -o log/7/there http://127.0.0.1:39661/995 --skip-existing > log/7/stdout995 2> log/7/stderr995 995: 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/ dir 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/7/valgrind995 ../src/curl -q --trace-ascii log/7/trace995 --trace-time -o log/7/there http://127.0.0.1:39661/995 --skip-existing > log/7/stdout995 2> log/7/stderr995 === End of file commands.log === Start of file http_server.log 07:52:02.462590 ====> Client connect 07:52:02.462633 accept_connection 3 returned 4 07:52:02.462654 accept_connection 3 returned 0 07:52:02.462672 Read 93 bytes 07:52:02.462683 Process 93 bytes request 07:52:02.462697 Got request: GET /verifiedserver HTTP/1.1 07:52:02.462707 Are-we-friendly question received 07:52:02.462731 Wrote request (93 bytes) input to log/7/server.input 07:52:02.462748 Identifying ourselves as friends 07:52:02.462821 Response sent (56 bytes) and written to log/7/server.response 07:52:02.462833 special request received, no persistency 07:52:02.462843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 55600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind995 ==129725== ==129725== Process terminating with default action of signal 4 (SIGILL) ==129725== Illegal opcode at address 0x4013DC0 ==129725== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129725== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129725== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129725== by 0x40037A4: main (tool_main.c:199) === End of file valgrind995 CMD (33792): ../libtool --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:35709 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/2/valgrind998 ../src/curl -q --output log/2/curl998.out --include --trace-ascii log/2/trace998 --trace-time -x 127.0.0.1:43955 http://alberto:einstein@somewhere.example/998 --location-trusted > log/2/stdout998 2> log/2/stderr998 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/17/valgrind994 ../src/curl -q --include --trace-ascii log/17/trace994 --trace-time -o "log/17/#1" "http://127.0.0.1:42601/994/{hey,ho}" --skip-existing > log/17/stdout994 2> log/17/stderr994 994: stderr FAILED: --- log/17/check-expected 2025-11-07 07:52:03.084040640 +0000 +++ log/17/check-generated 2025-11-07 07:52:03.084040640 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/17/hey" exists locally[CR][LF] -Note: skips transfer, "log/17/ho" exists locally[CR][LF] == Contents of files in the log/17/ dir after test 994 === Start of file check-expected Note: skips transfer, "log/17/hey" exists locally[CR][LF] Note: skips transfer, "log/17/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/17/valgrind994 ../src/curl -q --include --trace-ascii log/17/trace994 --trace-time -o "log/17/#1" "http://127.0.0.1:42601/994/{hey,ho}" --skip-existing > log/17/stdout994 2> log/17/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 07:52:02.446928 ====> Client connect 07:52:02.446960 accept_connection 3 returned 4 07:52:02.446977 accept_connection 3 returned 0 07:52:02.446992 Read 93 bytes 07:52:02.447003 Process 93 bytes request 07:52:02.447017 Got request: GET /verifiedserver HTTP/1.1 07:52:02.447027 Are-we-friendly question received 07:52:02.447049 Wrote request (93 bytes) input to log/17/server.input 07:52:02.447066 Identifying ourselves as friends 07:52:02.447117 Response sent (56 bytes) and written to log/17/server.response 07:52:02.447127 special request received, no persistency 07:52:02.447137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 35056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind994 ==129713== ==129713== Process terminating with default action of signal 4 (SIGILL) ==129713== Illegal opcode at address 0x4013DC0 ==129713== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129713== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129713== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129713== by 0x40037A4: main (tool_main.c:199) === End of file valgrind994 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:35709 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/ dir 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:35709 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 07:52:01.479563 ====> Client connect 07:52:01.479595 accept_connection 3 returned 4 07:52:01.479611 accept_connection 3 returned 0 07:52:01.479624 Read 93 bytes 07:52:01.479635 Process 93 bytes request 07:52:01.479647 Got request: GET /verifiedserver HTTP/1.1 07:52:01.479657 Are-we-friendly question received 07:52:01.479679 Wrote request (93 bytes) input to log/1/server.input 07:52:01.479696 Identifying ourselves as friends 07:52:01.479816 Response sent (56 bytes) and written to log/1/server.response 07:52:01.479827 special request received, no persistency 07:52:01.479837 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 32922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind999 ==129746== ==129746== Process terminating with default action of signal 4 (SIGILL) ==129746== Illegal opcode at address 0x4013DC0 ==129746== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129746== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129746== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129746== by 0x40037A4: main (tool_main.c:199) === 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/2/valgrind998 ../src/curl -q --output log/2/curl998.out --include --trace-ascii log/2/trace998 --trace-time -x 127.0.0.1:43955 http://alberto:einstein@somewhere.example/998 --location-trusted > log/2/stdout998 2> log/2/stderr998 998: 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/ dir 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/2/valgrind998 ../src/curl -q --output log/2/curl998.out --include --trace-ascii log/2/trace998 --trace-time -x 127.0.0.1:43955 http://alberto:einstein@somewhere.example/998 --location-trusted > log/2/stdout998 2> log/2/stderr998 === End of file commands.log === Start of file http_server.log 07:52:02.495892 ====> Client connect 07:52:02.495926 accept_connection 3 returned 4 07:52:02.495943 accept_connection 3 returned 0 07:52:02.495958 Read 93 bytes 07:52:02.495969 Process 93 bytes request 07:52:02.495982 Got request: GET /verifiedserver HTTP/1.1 07:52:02.495992 Are-we-friendly question received 07:52:02.496026 Wrote request (93 bytes) input to log/2/server.input 07:52:02.496044 Identifying ourselves as friends 07:52:02.496101 Response sent (56 bytes) and written to log/2/server.response 07:52:02.496113 special request received, no persistency 07:52:02.496122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established 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/3/valgrind996 ../src/curl -q --include --trace-ascii log/3/trace996 --trace-time -o log/3/there http://127.0.0.1:34059/996 --skip-existing > log/3/stdout996 2> log/3/stderr996 to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 37162 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind998 ==129763== ==129763== Process terminating with default action of signal 4 (SIGILL) ==129763== Illegal opcode at address 0x4013DC0 ==129763== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129763== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129763== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129763== by 0x40037A4: main (tool_main.c:199) === End of file valgrind998 CMD (33792): ../libtool --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/valgrind997 ../src/curl -q --output log/6/curl997.out --include --trace-ascii log/6/trace997 --trace-time pop3://127.0.0.1:41121 -u user:secret -X 'STAT' > log/6/stdout997 2> log/6/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/22/valgrind1000 ../src/curl -q --output log/22/curl1000.out --include --trace-ascii log/22/trace1000 --trace-time ftp://127.0.0.1:38231/1000/ -I > log/22/stdout1000 2> log/22/stderr1000 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/3/valgrind996 ../src/curl -q --include --trace-ascii log/3/trace996 --trace-time -o log/3/there http://127.0.0.1:34059/996 --skip-existing > log/3/stdout996 2> log/3/stderr996 996: stderr FAILED: --- log/3/check-expected 2025-11-07 07:52:03.154040641 +0000 +++ log/3/check-generated 2025-11-07 07:52:03.150707308 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/3/there" exists locally[CR][LF] == Contents of files in the log/3/ dir after test 996 === Start of file check-expected Note: skips transfer, "log/3/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/3/valgrind996 ../src/curl -q --include --trace-ascii log/3/trace996 --trace-time -o log/3/there http://127.0.0.1:34059/996 --skip-existing > log/3/stdout996 2> log/3/stderr996 === End of file commands.log === Start of file http_server.log 07:52:02.474488 ====> Client connect 07:52:02.474520 accept_connection 3 returned 4 07:52:02.474536 accept_connection 3 returned 0 07:52:02.474550 Read 93 bytes 07:52:02.474560 Process 93 bytes request 07:52:02.474573 Got request: GET /verifiedserver HTTP/1.1 07:52:02.474583 Are-we-friendly question received 07:52:02.474607 Wrote request (93 bytes) input to log/3/server.input 07:52:02.474623 Identifying ourselves as friends 07:52:02.474673 Response sent (56 bytes) and written to log/3/server.response 07:52:02.474684 special request received, no persistency 07:52:02.474693 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 33514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==129730== ==129730== Process terminating with default action of signal 4 (SIGILL) ==129730== Illegal opcode at address 0x4013DC0 ==129730== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129730== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129730== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129730== by 0x40037A4: main (tool_main.c:199) === End of file valgrind996 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/6/valgrind997 ../src/curl -q --output log/6/curl997.out --include --trace-ascii log/6/trace997 --trace-time pop3://127.0.0.1:41121 -u user:secret -X 'STAT' > log/6/stdout997 2> log/6/stderr997 997: 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/ dir 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/6/valgrind997 ../src/curl -q --output log/6/curl997.out --include --trace-ascii log/6/trace997 --trace-time pop3://127.0.0.1:41121 -u user:secret -X 'STAT' > log/6/stdout997 2> log/6/stderr997 === End of file commands.log === Start of file pop3_server.log 07:52:01.638019 ====> Client connect 07:52:01.638197 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:52:01.638550 < "CAPA" 07:52:01.638603 > "-ERR Unrecognized command[CR][LF]" 07:52:01.644814 < "RETR verifiedserver" 07:52:01.644858 return proof we are we 07:52:01.644890 > "+OK Mail transfer starts[CR][LF]" 07:52:01.644911 > "WE ROOLZ: 122342[CR][LF]" 07:52:01.644931 > ".[CR][LF]" 07:52:01.688804 < "QUIT" 07:52:01.688866 > "+OK curl POP3 server signing off[CR][LF]" 07:52:01.690098 MAIN sockfilt said DISC 07:52:01.690143 ====> Client disconnected 07:52:01.690241 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:52:01.465858 ====> Client connect 07:52:01.466152 Received DATA (on stdin) 07:52:01.466170 > 178 bytes data, server => client 07:52:01.466183 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:01.466195 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:01.466207 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:52:01.466218 've \r\n' 07:52:01.466320 < 6 bytes data, client => server 07:52:01.466334 'CAPA\r\n' 07:52:01.466549 Received DATA (on stdin) 07:52:01.466563 > 27 bytes data, server => client 07:52:01.466575 '-ERR Unrecognized command\r\n' 07:52:01.466636 < 21 bytes data, client => server 07:52:01.466649 'RETR verifiedserver\r\n' 07:52:01.472878 Received DATA (on stdin) 07:52:01.472895 > 26 bytes data, server => client 07:52:01.472908 '+OK Mail transfer starts\r\n' 07:52:01.472938 Received DATA (on stdin) 07:52:01.472950 > 18 bytes data, server => client 07:52:01.472961 'WE ROOLZ: 122342\r\n' 07:52:01.472976 Received DATA (on stdin) 07:52:01.472987 > 3 bytes data, server => client 07:52:01.472998 '.\r\n' 07:52:01.516535 < 6 bytes data, client => server 07:52:01.516574 'QUIT\r\n' 07:52:01.516814 Received DATA (on stdin) 07:52:01.516829 > 34 bytes data, server => client 07:52:01.516842 '+OK curl POP3 server signing off\r\n' 07:52:01.517961 ====> Client disconnect 07:52:01.518191 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 ==129771== ==129771== Process terminating with default action of signal 4 (SIGILL) ==129771== Illegal opcode at address 0x4013DC0 ==129771== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==129771== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129771== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==129771== by 0x40037A4: main (tool_main.c:199) === End of file valgrind997 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/22/valgrind1000 ../src/curl -q --output log/22/curl1000.out --include --trace-ascii log/22/trace1000 --trace-time ftp://127.0.0.1:38231/1000/ -I > log/22/stdout1000 2> log/22/stderr1000 1000: 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/ dir 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/22/valgrind1000 ../src/curl -q --output log/22/curl1000.out --include --trace-ascii log/22/trace1000 --trace-time ftp://127.0.0.1:38231/1000/ -I > log/22/stdout1000 2> log/22/stderr1000 === End of file commands.log === Start of file ftp_server.log 07:52:02.037946 ====> Client connect 07:52:02.038167 > "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/19/valgrind1003 ../src/curl -q --output log/19/curl1003.out --include --trace-ascii log/19/trace1003 --trace-time ftp://127.0.0.1:44991/path/1003 > log/19/stdout1003 2> log/19/stderr1003 | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:02.038531 < "USER anonymous" 07:52:02.038573 > "331 We are happy you popped in![CR][LF]" 07:52:02.038758 < "PASS ftp@example.com" 07:52:02.038785 > "230 Welcome you silly person[CR][LF]" 07:52:02.038936 < "PWD" 07:52:02.038968 > "257 "/" is current directory[CR][LF]" 07:52:02.039122 < "EPSV" 07:52:02.039146 ====> Passive DATA channel requested by client 07:52:02.039159 DATA sockfilt for passive data channel starting... 07:52:02.045786 DATA sockfilt for passive data channel started (pid 130045) 07:52:02.045897 DATA sockfilt for passive data channel listens on port 34343 07:52:02.045942 > "229 Entering Passive Mode (|||34343|)[CR][LF]" 07:52:02.045959 Client has been notified that DATA conn will be accepted on port 34343 07:52:02.046229 Client connects to port 34343 07:52:02.046258 ====> Client established passive DATA connection on port 34343 07:52:02.046332 < "TYPE I" 07:52:02.046362 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:02.046513 < "SIZE verifiedserver" 07:52:02.046548 > "213 17[CR][LF]" 07:52:02.046690 < "RETR verifiedserver" 07:52:02.046722 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:02.046803 =====> Closing passive DATA connection... 07:52:02.046818 Server disconnects passive DATA connection 07:52:02.046983 Server disconnected passive DATA connection 07:52:02.047005 DATA sockfilt for passive data channel quits (pid 130045) 07:52:02.047256 DATA sockfilt for passive data channel quit (pid 130045) 07:52:02.047277 =====> Closed passive DATA connection 07:52:02.047302 > "226 File transfer complete[CR][LF]" 07:52:02.091599 < "QUIT" 07:52:02.091659 > "221 bye bye baby[CR][LF]" 07:52:02.092704 MAIN sockfilt said DISC 07:52:02.092746 ====> Client disconnected 07:52:02.092824 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:01.856370 ====> Client connect 07:52:01.866132 Received DATA (on stdin) 07:52:01.866157 > 160 bytes data, server => client 07:52:01.866171 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:01.866182 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:01.866193 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:01.866312 < 16 bytes data, client => server 07:52:01.866326 'USER anonymous\r\n' 07:52:01.866520 Received DATA (on stdin) 07:52:01.866534 > 33 bytes data, server => client 07:52:01.866547 '331 We are happy you popped in!\r\n' 07:52:01.866604 < 22 bytes data, client => server 07:52:01.866616 'PASS ftp@example.com\r\n' 07:52:01.866727 Received DATA (on stdin) 07:52:01.866738 > 30 bytes data, server => client 07:52:01.866749 '230 Welcome you silly person\r\n' 07:52:01.866799 < 5 bytes data, client => server 07:52:01.866810 'PWD\r\n' 07:52:01.866909 Received DATA (on stdin) 07:52:01.866920 > 30 bytes data, server => client 07:52:01.866931 '257 "/" is current directory\r\n' 07:52:01.866987 < 6 bytes data, client => server 07:52:01.866998 'EPSV\r\n' 07:52:01.873907 Received DATA (on stdin) 07:52:01.873921 > 39 bytes data, server => client 07:52:01.873933 '229 Entering Passive Mode (|||34343|)\r\n' 07:52:01.874088 < 8 bytes data, client => server 07:52:01.874103 'TYPE I\r\n' 07:52:01.874303 Received DATA (on stdin) 07:52:01.874316 > 33 bytes data, server => client 07:52:01.874327 '200 I modify TYPE as you wanted\r\n' 07:52:01.874376 < 21 bytes data, client => server 07:52:01.874388 'SIZE verifiedserver\r\n' 07:52:01.874488 Received DATA (on stdin) 07:52:01.874500 > 8 bytes data, server => client 07:52:01.874510 '213 17\r\n' 07:52:01.874557 < 21 bytes data, client => server 07:52:01.874568 'RETR verifiedserver\r\n' 07:52:01.874851 Received DATA (on stdin) 07:52:01.874864 > 29 bytes data, server => client 07:52:01.874876 '150 Binary junk (17 bytes).\r\n' 07:52:01.875245 Received DATA (on stdin) 07:52:01.875258 > 28 bytes data, server => client 07:52:01.875269 '226 File transfer complete\r\n' 07:52:01.919334 < 6 bytes data, client => server 07:52:01.919365 'QUIT\r\n' 07:52:01.919606 Received DATA (on stdin) 07:52:01.919620 > 18 bytes data, server => client 07:52:01.919632 '221 bye bye baby\r\n' 07:52:01.920583 ====> Client disconnect 07:52:01.920767 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:02.873398 Running IPv4 version 07:52:02.873469 Listening on port 34343 07:52:02.873506 Wrote pid 130045 to log/22/server/ftp_sockdata.pid 07:52:02.873673 Received PING (on stdin) 07:52:02.873753 Received PORT (on stdin) 07:52:02.874124 ====> Client connect 07:52:02.874762 Received DATA (on stdin) 07:52:02.874777 > 17 bytes data, server => client 07:52:02.874788 'WE ROOLZ: 80638\r\n' 07:52:02.874815 Received DISC (on stdin) 07:52:02.874826 ====> Client forcibly disconnected 07:52:02.874955 Received QUIT (on stdin) 07:52:02.874967 quits 07:52:02.875038 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==130055== ==130055== Process terminating with default action of signal 4 (SIGILL) ==130055== Illegal opcode at address 0x4013DC0 ==130055== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130055== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130055== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130055== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1000 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/19/valgrind1003 ../src/curl -q --output log/19/curl1003.out --include --trace-ascii log/19/trace1003 --trace-time ftp://127.0.0.1:44991/path/1003 > log/19/stdout1003 2> log/19/stderr1003 1003: 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/ dir 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/19/valgrind1003 ../src/curl -q --output log/19/curl1003.out --include --trace-ascii log/19/trace1003 --trace-time ftp://127.0.0.1:44991/path/1003 > log/19/stdout1003 2> log/19/stderr1003 === End of file commands.log === Start of file ftp_server.log 07:52:02.210128 ====> Client connect 07:52:02.210293 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:02.210626 < "USER anonymous" 07:52:02.210672 > "331 We are happy you popped in![CR][LF]" 07:52:02.210885 < "PASS ftp@example.com" 07:52:02.210921 > "230 Welcome you silly person[CR][LF]" 07:52:02.211110 < "PWD" 07:52:02.211150 > "257 "/" is current directory[CR][LF]" 07:52:02.211368 < "EPSV" 07:52:02.211395 ====> Passive DATA channel requested by client 07:52:02.211423 DATA sockfilt for passive data channel starting... 07:52:02.216059 DATA sockfilt for passive data channel started (pid 130137) 07:52:02.216182 DATA sockfilt for passive data channel listens on port 42991 07:52:02.216226 > "229 Entering Passive Mode (|||42991|)[CR][LF]" 07:52:02.216243 Client has been notified that DATA conn will be accepted on port 42991 07:52:02.219255 Client connects to port 42991 07:52:02.219290 ====> Client established passive DATA connection on port 42991 07:52:02.219390 < "TYPE I" 07:52:02.219425 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:02.219617 < "SIZE verifiedserver" 07:52:02.219653 > "213 17[CR][LF]" 07:52:02.219795 < "RETR verifiedserver" 07:52:02.219828 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:02.219913 =====> Closing passive DATA connection... 07:52:02.219928 Server disconnects passive DATA connection 07:52:02.220043 Server disconnected passive DATA connection 07:52:02.220061 DATA sockfilt for passive data channel quits (pid 130137) 07:52:02.220267 DATA sockfilt for passive data channel quit (pid 130137) 07:52:02.220289 =====> Closed passive DATA connection 07:52:02.220313 > "226 File transfer complete[CR][LF]" 07:52:02.264883 < "QUIT" 07:52:02.264936 > "221 bye bye baby[CR][LF]" 07:52:02.265720 MAIN sockfilt said DISC 07:52:02.265747 ====> Client disconnected 07:52:02.265827 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:02.037960 ====> Client connect 07:52:02.038259 Received DATA (on stdin) 07:52:02.038281 > 160 bytes data, server => client 07:52:02.038296 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:02.038309 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:02.038322 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:02.038405 < 16 bytes data, client => server 07:52:02.038422 'USER anonymous\r\n' 07:52:02.038622 Received DATA (on stdin) 07:52:02.038638 > 33 bytes data, server => client 07:52:02.038651 '331 We are happy you popped in!\r\n' 07:52:02.038710 < 22 bytes data, client => server 07:52:02.038728 'PASS ftp@example.com\r\n' 07:52:02.038869 Received DATA (on stdin) 07:52:02.038885 > 30 bytes data, server => client 07:52:02.038897 '230 Welcome you silly person\r\n' 07:52:02.038953 < 5 bytes data, client => server 07:52:02.038967 'PWD\r\n' 07:52:02.039096 Received DATA (on stdin) 07:52:02.039110 > 30 bytes data, server => client 07:52:02.039122 '257 "/" is current directory\r\n' 07:52:02.039197 < 6 bytes data, client => server 07:52:02.039212 'EPSV\r\n' 07:52:02.044193 Received DATA (on stdin) 07:52:02.044212 > 39 bytes data, server => client 07:52:02.044224 '229 Entering Passive Mode (|||42991|)\r\n' 07:52:02.044382 < 8 bytes data, client => server 07:52:02.044407 'TYPE I\r\n' 07:52:02.047373 Received DATA (on stdin) 07:52:02.047389 > 33 bytes data, server => client 07:52:02.047401 '200 I modify TYPE as you wanted\r\n' 07:52:02.047480 < 21 bytes data, client => server 07:52:02.047491 'SIZE verifiedserver\r\n' 07:52:02.047594 Received DATA (on stdin) 07:52:02.047606 > 8 bytes data, server => client 07:52:02.047617 '213 17\r\n' 07:52:02.047660 < 21 bytes data, client => server 07:52:02.047671 'RETR verifiedserver\r\n' 07:52:02.048255 Received DATA (on stdin) 07:52:02.048267 > 29 bytes data, server => client 07:52:02.048278 '150 Binary junk (17 bytes).\r\n' 07:52:02.048300 Received DATA (on stdin) 07:52:02.048310 > 28 bytes data, server => client 07:52:02.048321 '226 File transfer complete\r\n' 07:52:02.092617 < 6 bytes data, client => server 07:52:02.092652 'QUIT\r\n' 07:52:02.092882 Received DATA (on stdin) 07:52:02.092894 > 18 bytes data, server => client 07:52:02.092905 '221 bye bye baby\r\n' 07:52:02.093611 ====> Client disconnect 07:52:02.093768 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:02.043673 Running IPv4 version 07:52:02.043743 Listening on port 42991 07:52:02.043777 Wrote pid 130137 to log/19/server/ftp_sockdata.pid 07:52:02.043945 Received PING (on stdin) 07:52:02.044030 Received PORT (on stdin) 07:52:02.047139 ====> Client connect 07:52:02.047872 Received DATA (on stdin) 07:52:02.047885 > 17 bytes data, server => client 07:52:02.047896 'WE ROOLZ: 80634\r\n' 07:52:02.047924 Received DISC (on stdin) 07:52:02.047937 ====> Client forcibly disconnected 07:52:02.048008 Received QUIT (on stdin) 07:52:02.048019 quits 07:52:02.048071 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind1002 ../src/curl -q --output log/9/curl1002.out --include --trace-ascii log/9/trace1002 --trace-time http://127.0.0.1:42717/1002.upload1 -T log/9/1002 http://127.0.0.1:42717/1002.upload2 -T log/9/1002 -u auser:apasswd --digest -x http://127.0.0.1:42717 -C 2 -X GET > log/9/stdout1002 2> log/9/stderr1002 CMD (33792): ../libtool --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/valgrind1001 ../src/curl -q --output log/5/curl1001.out --include --trace-ascii log/5/trace1001 --trace-time http://127.0.0.1:42797/1001 -u auser:apasswd --digest -T log/5/1001 -x http://127.0.0.1:42797 -C 2 -X GET > log/5/stdout1001 2> log/5/stderr1001 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==130206== ==130206== Process terminating with default action of signal 4 (SIGILL) ==130206== Illegal opcode at address 0x4013DC0 ==130206== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130206== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130206== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130206== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1003 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/9/valgrind1002 ../src/curl -q --output log/9/curl1002.out --include --trace-ascii log/9/trace1002 --trace-time http://127.0.0.1:42717/1002.upload1 -T log/9/1002 http://127.0.0.1:42717/1002.upload2 -T log/9/1002 -u auser:apasswd --digest -x http://127.0.0.1:42717 -C 2 -X GET > log/9/stdout1002 2> log/9/stderr1002 1002: 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/ dir 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/9/valgrind1002 ../src/curl -q --output log/9/curl1002.out --include --trace-ascii log/9/trace1002 --trace-time http://127.0.0.1:42717/1002.upload1 -T log/9/1002 http://127.0.0.1:42717/1002.upload2 -T log/9/1002 -u auser:apasswd --digest -x http://127.0.0.1:42717 -C 2 -X GET > log/9/stdout1002 2> log/9/stderr1002 === End of file commands.log === Start of file http_server.log 07:52:02.008346 ====> Client connect 07:52:02.008382 accept_connection 3 returned 4 07:52:02.008401 accept_connection 3 returned 0 07:52:02.008418 Read 93 bytes 07:52:02.008430 Process 93 bytes request 07:52:02.008445 Got request: GET /verifiedserver HTTP/1.1 07:52:02.008456 Are-we-friendly question received 07:52:02.008485 Wrote request (93 bytes) input to log/9/server.input 07:52:02.008504 Identifying ourselves as friends 07:52:02.008563 Response sent (56 bytes) and written to log/9/server.response 07:52:02.008576 special request received, no persistency 07:52:02.008587 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 52086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1002 ==130146== ==130146== Process terminating with default action of signal 4 (SIGILL) ==130146== Illegal opcode at address 0x4013DC0 ==130146== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130146== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130146== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130146== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1002 test 1001...[HTTP POST --digest with PUT and resumed upload and modified method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-cheCMD (33792): ../libtool --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/valgrind1004 ../src/curl -q --output log/15/curl1004.out --include --trace-ascii log/15/trace1004 --trace-time http://127.0.0.1:43789/1004 --proxy "" > log/15/stdout1004 2> log/15/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/10/valgrind1005 ../src/curl -q --output log/10/curl1005.out --include --trace-ascii log/10/trace1005 --trace-time ftp://127.0.0.1:36851/path/1005 > log/10/stdout1005 2> log/10/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/18/valgrind1008 ../src/curl -q --output log/18/curl1008.out --include --trace-ascii log/18/trace1008 --trace-time http://test.remote.example.com.1008:46763/path/10080002 --proxy http://127.0.0.1:46763 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/18/stdout1008 2> log/18/stderr1008 ck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1001 ../src/curl -q --output log/5/curl1001.out --include --trace-ascii log/5/trace1001 --trace-time http://127.0.0.1:42797/1001 -u auser:apasswd --digest -T log/5/1001 -x http://127.0.0.1:42797 -C 2 -X GET > log/5/stdout1001 2> log/5/stderr1001 1001: 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/ dir 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/5/valgrind1001 ../src/curl -q --output log/5/curl1001.out --include --trace-ascii log/5/trace1001 --trace-time http://127.0.0.1:42797/1001 -u auser:apasswd --digest -T log/5/1001 -x http://127.0.0.1:42797 -C 2 -X GET > log/5/stdout1001 2> log/5/stderr1001 === End of file commands.log === Start of file http_server.log 07:52:02.011931 ====> Client connect 07:52:02.011967 accept_connection 3 returned 4 07:52:02.011986 accept_connection 3 returned 0 07:52:02.012002 Read 93 bytes 07:52:02.012013 Process 93 bytes request 07:52:02.012026 Got request: GET /verifiedserver HTTP/1.1 07:52:02.012037 Are-we-friendly question received 07:52:02.012070 Wrote request (93 bytes) input to log/5/server.input 07:52:02.012089 Identifying ourselves as friends 07:52:02.012149 Response sent (56 bytes) and written to log/5/server.response 07:52:02.012161 special request received, no persistency 07:52:02.012171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1001 ==130143== ==130143== Process terminating with default action of signal 4 (SIGILL) ==130143== Illegal opcode at address 0x4013DC0 ==130143== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130143== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130143== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130143== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1001 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/15/valgrind1004 ../src/curl -q --output log/15/curl1004.out --include --trace-ascii log/15/trace1004 --trace-time http://127.0.0.1:43789/1004 --proxy "" > log/15/stdout1004 2> log/15/stderr1004 1004: 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/ dir 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/15/valgrind1004 ../src/curl -q --output log/15/curl1004.out --include --trace-ascii log/15/trace1004 --trace-time http://127.0.0.1:43789/1004 --proxy "" > log/15/stdout1004 2> log/15/stderr1004 === End of file commands.log === Start of file http_server.log 07:52:02.140618 ====> Client connect 07:52:02.140656 accept_connection 3 returned 4 07:52:02.140674 accept_connection 3 returned 0 07:52:02.140690 Read 93 bytes 07:52:02.140701 Process 93 bytes request 07:52:02.140715 Got request: GET /verifiedserver HTTP/1.1 07:52:02.140725 Are-we-friendly question received 07:52:02.140761 Wrote request (93 bytes) input to log/15/server.input 07:52:02.140779 Identifying ourselves as friends 07:52:02.140837 Response sent (56 bytes) and written to log/15/server.response 07:52:02.140849 special request received, no persistency 07:52:02.140859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 48874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1004 ==130243== ==130243== Process terminating with default action of signal 4 (SIGILL) ==130243== Illegal opcode at address 0x4013DC0 ==130243== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130243== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130243== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130243== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1004 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/10/valgrind1005 ../src/curl -q --output log/10/curl1005.out --include --trace-ascii log/10/trace1005 --trace-time ftp://127.0.0.1:36851/path/1005 > log/10/stdout1005 2> log/10/stderr1005 1005: 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/ dir 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/10/valgrind1005 ../src/curl -q --output log/10/curl1005.out --include --trace-ascii log/10/trace1005 --trace-time ftp://127.0.0.1:36851/path/1005 > log/10/stdout1005 2> log/10/stderr1005 === End of file commands.log === Start of file ftp_server.log 07:52:02.391179 ====> Client connect 07:52:02.391338 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:02.395639 < "USER anonymous" 07:52:02.395691 > "331 We are happy you popped in![CR][LF]" 07:52:02.395879 < "PASS ftp@example.com" 07:52:02.395907 > "230 Welcome you silly person[CR][LF]" 07:52:02.396052 < "PWD" 07:52:02.396083 > "257 "/" is current directory[CR][LF]" 07:52:02.396228 < "EPSV" 07:52:02.396250 ====> Passive DATA channel requested by client 07:52:02.396263 DATA sockfilt for passive data channel starting... 07:52:02.404776 DATA sockfilt for passive data channel started (pid 130331) 07:52:02.404892 DATA sockfilt for passive data channel listens on port 35337 07:52:02.404932 > "229 Entering Passive Mode (|||35337|)[CR][LF]" 07:52:02.404950 Client has been notified that DATA conn will be accepted on port 35337 07:52:02.405207 Client connects to port 35337 07:52:02.405236 ====> Client established passive DATA connection on port 35337 07:52:02.405312 < "TYPE I" 07:52:02.405342 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:02.405495 < "SIZE verifiedserver" 07:52:02.405531 > "213 17[CR][LF]" 07:52:02.405674 < "RETR verifiedserver" 07:52:02.405706 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:02.405790 =====> Closing passive DATA connection... 07:52:02.405805 Server disconnects passive DATA connection 07:52:02.406045 Server disconnected passive DATA connection 07:52:02.406071 DATA sockfilt for passive data channel quits (pid 130331) 07:52:02.406289 DATA sockfilt for passive data channel quit (pid 130331) 07:52:02.406309 =====> Closed passive DATA connection 07:52:02.406335 > "226 File transfer complete[CR][LF]" 07:52:02.448435 < "QUIT" 07:52:02.448492 > "221 bye bye baby[CR][LF]" 07:52:02.449403 MAIN sockfilt said DISC 07:52:02.449435 ====> Client disconnected 07:52:02.449511 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:02.219007 ====> Client connect 07:52:02.219294 Received DATA (on stdin) 07:52:02.219311 > 160 bytes data, server => client 07:52:02.219324 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:02.219334 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:02.219344 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:02.222574 < 16 bytes data, client => server 07:52:02.222599 'USER anonymous\r\n' 07:52:02.223640 Received DATA (on stdin) 07:52:02.223656 > 33 bytes data, server => client 07:52:02.223667 '331 We are happy you popped in!\r\n' 07:52:02.223726 < 22 bytes data, client => server 07:52:02.223738 'PASS ftp@example.com\r\n' 07:52:02.223849 Received DATA (on stdin) 07:52:02.223860 > 30 bytes data, server => client 07:52:02.223871 '230 Welcome you silly person\r\n' 07:52:02.223916 < 5 bytes data, client => server 07:52:02.223927 'PWD\r\n' 07:52:02.224023 Received DATA (on stdin) 07:52:02.224034 > 30 bytes data, server => client 07:52:02.224044 '257 "/" is current directory\r\n' 07:52:02.224095 < 6 bytes data, client => server 07:52:02.224106 'EPSV\r\n' 07:52:02.232897 Received DATA (on stdin) 07:52:02.232912 > 39 bytes data, server => client 07:52:02.232924 '229 Entering Passive Mode (|||35337|)\r\n' 07:52:02.233069 < 8 bytes data, client => server 07:52:02.233084 'TYPE I\r\n' 07:52:02.233284 Received DATA (on stdin) 07:52:02.233297 > 33 bytes data, server => client 07:52:02.233307 '200 I modify TYPE as you wanted\r\n' 07:52:02.233359 < 21 bytes data, client => server 07:52:02.233370 'SIZE verifiedserver\r\n' 07:52:02.233476 Received DATA (on stdin) 07:52:02.233487 > 8 bytes data, server => client 07:52:02.233498 '213 17\r\n' 07:52:02.233541 < 21 bytes data, client => server 07:52:02.233552 'RETR verifiedserver\r\n' 07:52:02.233748 Received DATA (on stdin) 07:52:02.233760 > 29 bytes data, server => client 07:52:02.233771 '150 Binary junk (17 bytes).\r\n' 07:52:02.234278 Received DATA (on stdin) 07:52:02.234291 > 28 bytes data, server => client 07:52:02.234302 '226 File transfer complete\r\n' 07:52:02.276174 < 6 bytes data, client => server 07:52:02.276205 'QUIT\r\n' 07:52:02.276438 Received DATA (on stdin) 07:52:02.276450 > 18 bytes data, server => client 07:52:02.276461 '221 bye bye baby\r\n' 07:52:02.277296 ====> Client disconnect 07:52:02.277452 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:02.230273 Running IPv4 version 07:52:02.230341 Listening on port 35337 07:52:02.230377 Wrote pid 130331 to log/10/server/ftp_sockdata.pid 07:52:02.232649 Received PING (on stdin) 07:52:02.232743 Received PORT (on stdin) 07:52:02.233104 ====> Client connect 07:52:02.233823 Received DATA (on stdin) 07:52:02.233837 > 17 bytes data, server => client 07:52:02.233848 'WE ROOLZ: 80620\r\n' 07:52:02.233873 Received DISC (on stdin) 07:52:02.233884 ====> Client forcibly disconnected 07:52:02.234020 Received QUIT (on stdin) 07:52:02.234031 quits 07:52:02.234101 ============> 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 ==130421== ==130421== Process terminating with default action of signal 4 (SIGILL) ==130421== Illegal opcode at address 0x4013DC0 ==130421== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130421== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130421== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130421== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1005 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/18/valgrind1008 ../src/curl -q --output log/18/curl1008.out --include --trace-ascii log/18/trace1008 --trace-time http://test.remote.example.com.1008:46763/path/10080002 --proxy http://127.0.0.1:46763 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/18/stdout1008 2> log/18/stderr1008 1008: 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/ dir 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/18/valgrind1008 ../src/curl -q --output log/18/curl1008.out --include --trace-ascii log/18/trace1008 --trace-time http://test.remote.example.com.1008:46763/path/10080002 --proxy http://127.0.0.1:46763 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/18/stdout1008 2> log/18/stderr1008 === End of file commands.log === Start of file http_server.log 07:52:03.308227 ====> Client connect 07:52:03.308260 accept_connection 3 returned 4 07:52:03.308277 accept_connection 3 returned 0 07:52:03.308658 Read 93 bytes 07:52:03.308678 Process 93 bytes request 07:52:03.308693 Got request: GET /verifiedserver HTTP/1.1 07:52:03.308702 Are-we-friendly question received 07:52:03.308735 Wrote request (93 bytes) input to log/18/server.input 07:52:03.308753 Identifying ourselves as friends 07:52:03.308838 Response sent (56 bytes) and written to log/18/server.response 07:52:03.308850 special request received, no persistency 07:52:03.308860 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 32836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 ==CMD (33792): ../libtool --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/valgrind1006 ../src/curl -q --output log/14/curl1006.out --include --trace-ascii log/14/trace1006 --trace-time ftp://127.0.0.1:39555/path/1006 > log/14/stdout1006 2> log/14/stderr1006 = End of file server.response === Start of file valgrind1008 ==130461== ==130461== Process terminating with default action of signal 4 (SIGILL) ==130461== Illegal opcode at address 0x4013DC0 ==130461== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130461== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130461== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130461== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1008 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/14/valgrind1006 ../src/curl -q --output log/14/curl1006.out --include --trace-ascii log/14/trace1006 --trace-time ftp://127.0.0.1:39555/path/1006 > log/14/stdout1006 2> log/14/stderr1006 1006: 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/ dir 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/14/valgrind1006 ../src/curl -q --output log/14/curl1006.out --include --trace-ascii log/14/trace1006 --trace-time ftp://127.0.0.1:39555/path/1006 > log/14/stdout1006 2> log/14/stderr1006 === End of file commands.log === Start of file ftp_server.log 07:52:02.421313 ====> Client connect 07:52:02.421495 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:02.423933 < "USER anonymous" 07:52:02.423987 > "331 We are happy you popped in![CR][LF]" 07:52:02.424211 < "PASS ftp@example.com" 07:52:02.424247 > "230 Welcome you silly person[CR][LF]" 07:52:02.424437 < "PWD" 07:52:02.424476 > "257 "/" is current directory[CR][LF]" 07:52:02.424685 < "EPSV" 07:52:02.424713 ====> Passive DATA channel requested by client 07:52:02.424728 DATA sockfilt for passive data channel starting... 07:52:02.426741 DATA sockfilt for passive data channel started (pid 130361) 07:52:02.426840 DATA sockfilt for passive data channel listens on port 37201 07:52:02.426878 > "229 Entering Passive Mode (|||37201|)[CR][LF]" 07:52:02.426894 Client has been notified that DATA conn will be accepted on port 37201 07:52:02.427130 Client connects to port 37201 07:52:02.427161 ====> Client established passive DATA connection on port 37201 07:52:02.427243 < "TYPE I" 07:52:02.427276 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:02.427451 < "SIZE verifiedserver" 07:52:02.427494 > "213 17[CR][LF]" 07:52:02.427666 < "RETR verifiedserver" 07:52:02.427703 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:02.427786 =====> Closing passive DATA connection... 07:52:02.427803 Server disconnects passive DATA connection 07:52:02.428007 Server disconnected passive DATA connection 07:52:02.428029 DATA sockfilt for passive data channel quits (pid 130361) 07:52:02.428303 DATA sockfilt for passive data channel quit (pid 130361) 07:52:02.428327 =====> Closed passive DATA connection 07:52:02.428358 > "226 File transfer complete[CR][LF]" 07:52:02.471546 < "QUIT" 07:52:02.471605 > "221 bye bye baby[CR][LF]" 07:52:02.472727 MAIN sockfilt said DISC 07:52:02.472773 ====> Client disconnected 07:52:02.472847 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:02.246128 ====> Client connect 07:52:02.249882 Received DATA (on stdin) 07:52:02.249909 > 160 bytes data, server => client 07:52:02.249923 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:02.249942 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:02.249954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:02.251696 < 16 bytes data, client => server 07:52:02.251715 'USER anonymous\r\n' 07:52:02.251941 Received DATA (on stdin) 07:52:02.251958 > 33 bytes data, server => client 07:52:02.251971 '331 We are happy you popped in!\r\n' 07:52:02.252034 < 22 bytes data, client => server 07:52:02.252050 'PASS ftp@example.com\r\n' 07:52:02.252195 Received DATA (on stdin) 07:52:02.252209 > 30 bytes data, server => client 07:52:02.252221 '230 Welcome you silly person\r\n' 07:52:02.252276 < 5 bytes data, client => server 07:52:02.252290 'PWD\r\n' 07:52:02.252424 Received DATA (on stdin) 07:52:02.252438 > 30 bytes data, server => client 07:52:02.252450 '257 "/" is current directory\r\n' 07:52:02.252527 < 6 bytes data, client => server 07:52:02.252543 'EPSV\r\n' 07:52:02.254840 Received DATA (on stdin) 07:52:02.254854 > 39 bytes data, server => client 07:52:02.254866 '229 Entering Passive Mode (|||37201|)\r\n' 07:52:02.254987 < 8 bytes data, client => server 07:52:02.255004 'TYPE I\r\n' 07:52:02.255220 Received DATA (on stdin) 07:52:02.255234 > 33 bytes data, server => client 07:52:02.255247 '200 I modify TYPE as you wanted\r\n' 07:52:02.255300 < 21 bytes data, client => server 07:52:02.255314 'SIZE verifiedserver\r\n' 07:52:02.255439 Received DATA (on stdin) 07:52:02.255453 > 8 bytes data, server => client 07:52:02.255465 '213 17\r\n' 07:52:02.255518 < 21 bytes data, client => server 07:52:02.255532 'RETR verifiedserver\r\n' 07:52:02.255749 Received DATA (on stdin) 07:52:02.255762 > 29 bytes data, server => client 07:52:02.255774 '150 Binary junk (17 bytes).\r\n' 07:52:02.256304 Received DATA (on stdin) 07:52:02.256319 > 28 bytes data, server => client 07:52:02.256332 '226 File transfer complete\r\n' 07:52:02.299297 < 6 bytes data, client => server 07:52:02.299326 'QUIT\r\n' 07:52:02.299561 Received DATA (on stdin) 07:52:02.299579 > 18 bytes data, server => client 07:52:02.299594 '221 bye bye baby\r\n' 07:52:02.300602 ====> Client disconnect 07:52:02.305850 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:02.254351 Running IPv4 version 07:52:02.254411 Listening on port 37201 07:52:02.254460 Wrote pid 130361 to log/14/server/ftp_sockdata.pid 07:52:02.254625 Received PING (on stdin) 07:52:02.254704 Received PORT (on stdin) 07:52:02.255026 ====> Client connect 07:52:02.255829 Received DATA (on stdin) 07:52:02.255848 > 17 bytes data, server => client 07:52:02.255860 'WE ROOLZ: 81000\r\n' 07:52:02.255887 Received DISC (on stdin) 07:52:02.255899 ====> Client forcibly disconnected 07:52:02.256042 Received QUIT (on stdin) 07:52:02.256056 quits 07:52:02.256116 ============> 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind1010 ../src/curl -q --output log/11/curl1010.out --include --trace-ascii log/11/trace1010 --trace-time ftp://127.0.0.1:46223//list/this/path/1010/ ftp://127.0.0.1:46223//list/this/path/1010/ --ftp-method nocwd > log/11/stdout1010 2> log/11/stderr1010 AAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 1006 === End of file server.cmd === Start of file valgrind1006 ==130443== ==130443== Process terminating with default action of signal 4 (SIGILL) ==130443== Illegal opcode at address 0x4013DC0 ==130443== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130443== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130443== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130443== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1006 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/11/valgrind1010 ../src/curl -q --output log/11/curl1010.out --include --trace-ascii log/11/trace1010 --trace-time ftp://127.0.0.1:46223//list/this/path/1010/ ftp://127.0.0.1:46223//list/this/path/1010/ --ftp-method CMD (33792): ../libtool --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:44351/blah/1012 -L -d "moo" --post301 > log/16/stdout1012 2> log/16/stderr1012 nocwd > log/11/stdout1010 2> log/11/stderr1010 1010: 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/ dir 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/11/valgrind1010 ../src/curl -q --output log/11/curl1010.out --include --trace-ascii log/11/trace1010 --trace-time ftp://127.0.0.1:46223//list/this/path/1010/ ftp://127.0.0.1:46223//list/this/path/1010/ --ftp-method nocwd > log/11/stdout1010 2> log/11/stderr1010 === End of file commands.log === Start of file ftp_server.log 07:52:02.615634 ====> Client connect 07:52:02.615800 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:02.616204 < "USER anonymous" 07:52:02.616249 > "331 We are happy you popped in![CR][LF]" 07:52:02.616453 < "PASS ftp@example.com" 07:52:02.616490 > "230 Welcome you silly person[CR][LF]" 07:52:02.616689 < "PWD" 07:52:02.616726 > "257 "/" is current directory[CR][LF]" 07:52:02.616913 < "EPSV" 07:52:02.616939 ====> Passive DATA channel requested by client 07:52:02.616955 DATA sockfilt for passive data channel starting... 07:52:02.622500 DATA sockfilt for passive data channel started (pid 130592) 07:52:02.622635 DATA sockfilt for passive data channel listens on port 46405 07:52:02.622686 > "229 Entering Passive Mode (|||46405|)[CR][LF]" 07:52:02.622704 Client has been notified that DATA conn will be accepted on port 46405 07:52:02.623018 Client connects to port 46405 07:52:02.623056 ====> Client established passive DATA connection on port 46405 07:52:02.623156 < "TYPE I" 07:52:02.623192 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:02.623380 < "SIZE verifiedserver" 07:52:02.623424 > "213 17[CR][LF]" 07:52:02.623587 < "RETR verifiedserver" 07:52:02.623625 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:02.623717 =====> Closing passive DATA connection... 07:52:02.623732 Server disconnects passive DATA connection 07:52:02.623989 Server disconnected passive DATA connection 07:52:02.624016 DATA sockfilt for passive data channel quits (pid 130592) 07:52:02.624254 DATA sockfilt for passive data channel quit (pid 130592) 07:52:02.624280 =====> Closed passive DATA connection 07:52:02.624320 > "226 File transfer complete[CR][LF]" 07:52:02.674702 < "QUIT" 07:52:02.674760 > "221 bye bye baby[CR][LF]" 07:52:02.679037 MAIN sockfilt said DISC 07:52:02.679088 ====> Client disconnected 07:52:02.679163 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:02.443453 ====> Client connect 07:52:02.443762 Received DATA (on stdin) 07:52:02.443781 > 160 bytes data, server => client 07:52:02.443795 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:02.443808 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:02.443819 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:02.443978 < 16 bytes data, client => server 07:52:02.443997 'USER anonymous\r\n' 07:52:02.444199 Received DATA (on stdin) 07:52:02.444213 > 33 bytes data, server => client 07:52:02.444226 '331 We are happy you popped in!\r\n' 07:52:02.444282 < 22 bytes data, client => server 07:52:02.444297 'PASS ftp@example.com\r\n' 07:52:02.444454 Received DATA (on stdin) 07:52:02.444469 > 30 bytes data, server => client 07:52:02.444482 '230 Welcome you silly person\r\n' 07:52:02.444534 < 5 bytes data, client => server 07:52:02.444548 'PWD\r\n' 07:52:02.444671 Received DATA (on stdin) 07:52:02.444685 > 30 bytes data, server => client 07:52:02.444697 '257 "/" is current directory\r\n' 07:52:02.444761 < 6 bytes data, client => server 07:52:02.444776 'EPSV\r\n' 07:52:02.450656 Received DATA (on stdin) 07:52:02.450675 > 39 bytes data, server => client 07:52:02.450687 '229 Entering Passive Mode (|||46405|)\r\n' 07:52:02.450898 < 8 bytes data, client => server 07:52:02.450912 'TYPE I\r\n' 07:52:02.451138 Received DATA (on stdin) 07:52:02.451152 > 33 bytes data, server => client 07:52:02.451164 '200 I modify TYPE as you wanted\r\n' 07:52:02.451225 < 21 bytes data, client => server 07:52:02.451237 'SIZE verifiedserver\r\n' 07:52:02.451366 Received DATA (on stdin) 07:52:02.451378 > 8 bytes data, server => client 07:52:02.451388 '213 17\r\n' 07:52:02.451439 < 21 bytes data, client => server 07:52:02.451451 'RETR verifiedserver\r\n' 07:52:02.451773 Received DATA (on stdin) 07:52:02.451786 > 29 bytes data, server => client 07:52:02.451798 '150 Binary junk (17 bytes).\r\n' 07:52:02.452266 Received DATA (on stdin) 07:52:02.452280 > 28 bytes data, server => client 07:52:02.452291 '226 File transfer complete\r\n' 07:52:02.499282 < 6 bytes data, client => server 07:52:02.499313 'QUIT\r\n' 07:52:02.505862 Received DATA (on stdin) 07:52:02.505890 > 18 bytes data, server => client 07:52:02.505903 '221 bye bye baby\r\n' 07:52:02.506912 ====> Client disconnect 07:52:02.507107 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:02.450069 Running IPv4 version 07:52:02.450150 Listening on port 46405 07:52:02.450190 Wrote pid 130592 to log/11/server/ftp_sockdata.pid 07:52:02.450380 Received PING (on stdin) 07:52:02.450478 Received PORT (on stdin) 07:52:02.450861 ====> Client connect 07:52:02.451678 Received DATA (on stdin) 07:52:02.451692 > 17 bytes data, server => client 07:52:02.451704 'WE ROOLZ: 83264\r\n' 07:52:02.451735 Received DISC (on stdin) 07:52:02.451746 ====> Client forcibly disconnected 07:52:02.451970 Received QUIT (on stdin) 07:52:02.451982 quits 07:52:02.452058 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==130672== ==130672== Process terminating with default action of signal 4 (SIGILL) ==130672== Illegal opcode at address 0x4013DC0 ==130672== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130672== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130672== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130672== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1010 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:44351/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/ dir 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:44351/blah/1012 -L -d "moo" --post301 > log/16/stdout1012 2> log/16/stderr1012 === End of file commands.log === Start of file http_server.log 07:52:02.479156 ====> Client connect 07:52:02.479202 accept_connection 3 returned 4 07:52:02.479238 accept_connection 3 returned 0 07:52:02.480520 Read 93 bytes 07:52:02.480543 Process 93 bytes request 07:52:02.480558 Got request: GET /verifiedserver HTTP/1.1 07:52:02.480568 Are-we-friendly question received 07:52:02.480604 Wrote request (93 bytes) input to log/16/server.input 07:52:02.480623 Identifying ourselves as friends 07:52:02.480675 Response sent (56 bytes) and written to log/16/server.response 07:52:02.480686 special request received, no persistency 07:52:02.480695 CMD (33792): ../libtool --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/valgrind1011 ../src/curl -q --output log/23/curl1011.out --include --trace-ascii log/23/trace1011 --trace-time http://127.0.0.1:41029/blah/1011 -L -d "moo" > log/23/stdout1011 2> log/23/stderr1011 CMD (33792): ../libtool --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/valgrind1013 ../src/curl -q --output log/12/curl1013.out --include --trace-ascii log/12/trace1013 --trace-time --version > log/12/stdout1013 2> log/12/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 pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss CMD (256): /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/12/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/4/valgrind1016 ../src/curl -q --trace-ascii log/4/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/4/test1016.txt > log/4/stdout1016 2> log/4/stderr1016 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1012 ==130660== ==130660== Process terminating with default action of signal 4 (SIGILL) ==130660== Illegal opcode at address 0x4013DC0 ==130660== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130660== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130660== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130660== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1012 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/23/valgrind1011 ../src/curl -q --output log/23/curl1011.out --include --trace-ascii log/23/trace1011 --trace-time http://127.0.0.1:41029/blah/1011 -L -d "moo" > log/23/stdout1011 2> log/23/stderr1011 1011: 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/ dir 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/23/valgrind1011 ../src/curl -q --output log/23/curl1011.out --include --trace-ascii log/23/trace1011 --trace-time http://127.0.0.1:41029/blah/1011 -L -d "moo" > log/23/stdout1011 2> log/23/stderr1011 === End of file commands.log === Start of file http_server.log 07:52:02.495780 ====> Client connect 07:52:02.495811 accept_connection 3 returned 4 07:52:02.495844 accept_connection 3 returned 0 07:52:02.495861 Read 93 bytes 07:52:02.495874 Process 93 bytes request 07:52:02.495889 Got request: GET /verifiedserver HTTP/1.1 07:52:02.495899 Are-we-friendly question received 07:52:02.495924 Wrote request (93 bytes) input to log/23/server.input 07:52:02.495941 Identifying ourselves as friends 07:52:02.495994 Response sent (56 bytes) and written to log/23/server.response 07:52:02.496004 special request received, no persistency 07:52:02.496014 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 38990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1011 ==130657== ==130657== Process terminating with default action of signal 4 (SIGILL) ==130657== Illegal opcode at address 0x4013DC0 ==130657== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1011 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/12/valgrind1013 ../src/curl -q --output log/12/curl1013.out --include --trace-ascii log/12/trace1013 --trace-time --version > log/12/stdout1013 2> log/12/stderr1013 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/12/stdout1013 protocols 1013: postcheck FAILED == Contents of files in the log/12/ dir 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/12/valgrind1013 ../src/curl -q --output log/12/curl1013.out --include --trace-ascii log/12/trace1013 --trace-time --version > log/12/stdout1013 2> log/12/stderr1013 === End of file commands.log === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==130627== ==130627== Process terminating with default action of signal 4 (SIGILL) ==130627== Illegal opcode at address 0x4013DC0 ==130627== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130627== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130627== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130627== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1013 CMD (33792): ../libtool --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/valgrind1017 ../src/curl -q --trace-ascii log/8/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/8/test1017.txt > log/8/stdout1017 2> log/8/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/13/valgrind1014 ../src/curl -q --output log/13/curl1014.out --include --trace-ascii log/13/trace1014 --trace-time --version > log/13/stdout1014 2> log/13/stderr1014 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/4/valgrind1016 ../src/curl -q --trace-ascii log/4/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/4/test1016.txt > log/4/stdout1016 2> log/4/stderr1016 1016: stdout FAILED: --- log/4/check-expected 2025-11-07 07:52:04.254040652 +0000 +++ log/4/check-generated 2025-11-07 07:52:04.254040652 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/4/ dir 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/4/valgrind1016 ../src/curl -q --trace-ascii log/4/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/4/test1016.txt > log/4/stdout1016 2> log/4/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 ==130859== ==130859== Process terminating with default action of signal 4 (SIGILL) ==130859== Illegal opcode at address 0x4013DC0 ==130859== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130859== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130859== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130859== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1016 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. CMD (256): /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/13/stdout1014 features > log/13/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/21/valgrind1015 ../src/curl -q --output log/21/curl1015.out --include --trace-ascii log/21/trace1015 --trace-time http://127.0.0.1:45761/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/21/1015.txt" --data-urlencode @log/21/1015.txt > log/21/stdout1015 2> log/21/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/7/valgrind1018 ../src/curl -q --trace-ascii log/7/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/7/test1018.txt > log/7/stdout1018 2> log/7/stderr1018 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/8/valgrind1017 ../src/curl -q --trace-ascii log/8/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/8/test1017.txt > log/8/stdout1017 2> log/8/stderr1017 1017: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:04.267373985 +0000 +++ log/8/check-generated 2025-11-07 07:52:04.267373985 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/8/ dir 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/8/valgrind1017 ../src/curl -q --trace-ascii log/8/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/8/test1017.txt > log/8/stdout1017 2> log/8/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 ==130875== ==130875== Process terminating with default action of signal 4 (SIGILL) ==130875== Illegal opcode at address 0x4013DC0 ==130875== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130875== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130875== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130875== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1017 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/13/valgrind1014 ../src/curl -q --output log/13/curl1014.out --include --trace-ascii log/13/trace1014 --trace-time --version > log/13/stdout1014 2> log/13/stderr1014 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/13/stdout1014 features > log/13/result1014 1014: postcheck FAILED == Contents of files in the log/13/ dir 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/13/valgrind1014 ../src/curl -q --output log/13/curl1014.out --include --trace-ascii log/13/trace1014 --trace-time --version > log/13/stdout1014 2> log/13/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 ==130689== ==130689== Process terminating with default action of signal 4 (SIGILL) ==130689== Illegal opcode at address 0x4013DC0 ==130689== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130689== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130689== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130689== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1014 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/21/valgrind1015 ../src/curl -q --output log/21/curl1015.out --include --trace-ascii log/21/trace1015 --trace-time http://127.0.0.1:45761/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/21/1015.txt" --data-urlencode @log/21/1015.txt > log/21/stdout1015 2> log/21/stderr1015 1015: 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/ dir 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/21/valgrind1015 ../src/curl -q --output log/21/curl1015.out --include --trace-ascii log/21/trace1015 --trace-time http://127.0.0.1:45761/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/21/1015.txt" --data-urlencode @log/21/1015.txt > log/21/stdout1015 2> log/21/stderr1015 === End of file commands.log === Start of file http_server.log 07:52:02.712578 ====> Client connect 07:52:02.712616 accept_connection 3 returned 4 07:52:02.712633 accept_connection 3 returned 0 07:52:02.712648 Read 93 bytes 07:52:02.712658 Process 93 bytes request 07:52:02.712671 Got request: GET /verifiedserver HTTP/1.1 07:52:02.712680 Are-we-friendly question received 07:52:02.712705 Wrote request (93 bytes) input to log/21/server.input 07:52:02.712721 Identifying ourselves as friends 07:52:02.712782 Response sent (56 bytes) and written to log/21/server.response 07:52:02.712792 special request received, no persistency 07:52:02.712801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1015 ==130946== ==130946== Process terminating with default action of signal 4 (SIGILL) ==130946== Illegal opcode at address 0x4013DC0 ==130946== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==130946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==130946== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1015 CMD (33792): ../libtool --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/valgrind1020 ../src/curl -q --trace-ascii log/1/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/1/test1020.txt > log/1/stdout1020 2> log/1/stderr1020 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/7/valgrind1018 ../src/curl -q --trace-ascii log/7/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/7/test1018.txt > log/7/stdout1018 2> log/7/stderr1018 1018: stdout FAILED: --- log/7/check-expected 2025-11-07 07:52:04.370707319 +0000 +++ log/7/check-generated 2025-11-07 07:52:04.370707319 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/7/ dir 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/7/valgrind1018 ../src/curl -q --trace-ascii log/7/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/7/test1018.txt > log/7/stdout1018 2> log/7/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 ==131066== ==131066== Process terminating with default action of signal 4 (SIGILL) ==131066== Illegal opcode at address 0x4013DC0 ==131066== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131066== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131066== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131066== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1018 CMD (33792): ../libtool --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/valgrind1022 ../src/curl -q --output log/3/curl1022.out --include --trace-ascii log/3/trace1022 --trace-time --version > log/3/stdout1022 2> log/3/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.17.0 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/3/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/17/valgrind1019 ../src/curl -q --trace-ascii log/17/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/17/test1019.txt > log/17/stdout1019 2> log/17/stderr1019 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/1/valgrind1020 ../src/curl -q --trace-ascii log/1/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/1/test1020.txt > log/1/stdout1020 2> log/1/stderr1020 1020: stdout FAILED: --- log/1/check-expected 2025-11-07 07:52:04.400707320 +0000 +++ log/1/check-generated 2025-11-07 07:52:04.400707320 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/1/ dir 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/1/valgrind1020 ../src/curl -q --trace-ascii log/1/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/1/test1020.txt > log/1/stdout1020 2> log/1/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 ==131085== ==131085== Process terminating with default action of signal 4 (SIGILL) ==131085== Illegal opcode at address 0x4013DC0 ==131085== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131085== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131085== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131085== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1020 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/3/valgrind1022 ../src/curl -q --output log/3/curl1022.out --include --trace-ascii log/3/trace1022 --trace-time --version > log/3/stdout1022 2> log/3/stderr1022 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/3/stdout1022 version 1022: postcheck FAILED == Contents of files in the log/3/ dir 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/3/valgrind1022 ../src/curl -q --output log/3/curl1022.out --include --trace-ascii log/3/trace1022 --trace-time --version > log/3/stdout1022 2> log/3/stderr1022 === End of file commands.log === Start of file server.cmd Testnum 1022 === End of file server.cmd === Start of file valgrind1022 ==131175== ==131175== Process terminating with default action of signal 4 (SIGILL) ==131175== Illegal opcode at address 0x4013DC0 ==131175== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131175== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131175== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131175== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1022 CMD (33792): ../libtool --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/valgrind1021 ../src/curl -q --output log/2/curl1021.out --include --trace-ascii log/2/trace1021 --trace-time http://test.remote.example.com.1021:43955/path/10210002 --proxy http://127.0.0.1:43955 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/2/stdout1021 2> log/2/stderr1021 CMD (33792): ../libtool --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/valgrind1023 ../src/curl -q --output log/6/curl1023.out --include --trace-ascii log/6/trace1023 --trace-time --version > log/6/stdout1023 2> log/6/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.17.0 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/6/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/20/valgrind1007 ../src/curl -q --output log/20/curl1007.out --include --trace-ascii log/20/trace1007 --trace-time -T log/20/test1007.txt tftp://127.0.0.1:41830//invalid-file -sS > log/20/stdout1007 2> log/20/stderr1007 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/17/valgrind1019 ../src/curl -q --trace-ascii log/17/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/17/test1019.txt > log/17/stdout1019 2> log/17/stderr1019 1019: stdout FAILED: --- log/17/check-expected 2025-11-07 07:52:04.580707321 +0000 +++ log/17/check-generated 2025-11-07 07:52:04.580707321 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/17/ dir 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/17/valgrind1019 ../src/curl -q --trace-ascii log/17/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/17/test1019.txt > log/17/stdout1019 2> log/17/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 ==131071== ==131071== Process terminating with default action of signal 4 (SIGILL) ==131071== Illegal opcode at address 0x4013DC0 ==131071== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131071== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131071== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131071== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1019 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/2/valgrind1021 ../src/curl -q --output log/2/curl1021.out --include --trace-ascii log/2/trace1021 --trace-time http://test.remote.example.com.1021:43955/path/10210002 --proxy http://127.0.0.1:43955 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/2/stdout1021 2> log/2/stderr1021 1021: 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/ dir 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/2/valgrind1021 ../src/curl -q --output log/2/curl1021.out --include --trace-ascii log/2/trace1021 --trace-time http://test.remote.example.com.1021:43955/path/10210002 --proxy http://127.0.0.1:43955 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/2/stdout1021 2> log/2/stderr1021 === End of file commands.log === Start of file http_server.log 07:52:03.996557 ====> Client connect 07:52:03.996588 accept_connection 3 returned 4 07:52:03.996605 accept_connection 3 returned 0 07:52:03.996620 Read 93 bytes 07:52:03.996631 Process 93 bytes request 07:52:03.996645 Got request: GET /verifiedserver HTTP/1.1 07:52:03.996655 Are-we-friendly question received 07:52:03.996678 Wrote request (93 bytes) input to log/2/server.input 07:52:03.996695 Identifying ourselves as friends 07:52:03.996749 Response sent (56 bytes) and written to log/2/server.response 07:52:03.996760 special request received, no persistency 07:52:03.996769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 37166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1021 ==131197== ==131197== Process terminating with default action of signal 4 (SIGILL) ==131197== Illegal opcode at address 0x4013DC0 ==131197== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131197== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131197== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131197== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1021 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/6/valgrind1023 ../src/curl -q --output log/6/curl1023.out --include --trace-ascii log/6/trace1023 --trace-time --version > log/6/stdout1023 2> log/6/stderr1023 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/6/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/6/ dir 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/6/valgrind1023 ../src/curl -q --output log/6/curl1023.out --include --trace-ascii log/6/trace1023 --trace-time --version > log/6/stdout1023 2> log/6/stderr1023 === End of file commands.log === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==131180== ==131180== Process terminating with default action of signal 4 (SIGILL) ==131180== Illegal opcode at address 0x4013DC0 ==131180== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131180== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131180== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131180== by 0x40037A4: main (tool_main.c:199) === 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/24/valgrind1009 ../src/curl -q --output log/24/curl1009.out --include --trace-ascii log/24/trace1009 --trace-time tftp://127.0.0.1:54571//1009 --local-port 44444-45444 > log/24/stdout1009 2> log/24/stderr1009 CMD (33792): ../libtool --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:34835/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/15/valgrind1029 ../src/curl -q --include --trace-ascii log/15/trace1029 --trace-time http://127.0.0.1:43789/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/15/stdout1029 2> log/15/stderr1029 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/20/server/tftp_server.pid" --portfile "log/20/server/tftp_server.port" --logfile "log/20/tftp_server.log" --logdir "log/20" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 130314 port 41830 * pid tftp => 130314 130314 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/20/valgrind1007 ../src/curl -q --output log/20/curl1007.out --include --trace-ascii log/20/trace1007 --trace-time -T log/20/test1007.txt tftp://127.0.0.1:41830//invalid-file -sS > log/20/stdout1007 2> log/20/stderr1007 1007: stderr FAILED: --- log/20/check-expected 2025-11-07 07:52:04.970707325 +0000 +++ log/20/check-generated 2025-11-07 07:52:04.970707325 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/20/ dir 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/20/valgrind1007 ../src/curl -q --output log/20/curl1007.out --include --trace-ascii log/20/trace1007 --trace-time -T log/20/test1007.txt tftp://127.0.0.1:41830//invalid-file -sS > log/20/stdout1007 2> log/20/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 07:52:02.251578 Wrote pid 130314 to log/20/server/tftp_server.pid 07:52:02.251641 Wrote port 41830 to log/20/server/tftp_server.port 07:52:02.251654 Running IPv4 version on port UDP/41830 === End of file tftp_server.log === Start of file valgrind1007 ==131379== ==131379== Process terminating with default action of signal 4 (SIGILL) ==131379== Illegal opcode at address 0x4013DC0 ==131379== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131379== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131379== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131379== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1007 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 130498 port 54571 * pid tftp => 130498 130498 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/24/valgrind1009 ../src/curl -q --output log/24/curl1009.out --include --trace-ascii log/24/trace1009 --trace-time tftp://127.0.0.1:54571//1009 --local-port 44444-45444 > log/24/stdout1009 2> log/24/stderr1009 1009: 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/ dir 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/24/valgrind1009 ../src/curl -q --output log/24/curl1009.out --include --trace-ascii log/24/trace1009 --trace-time tftp://127.0.0.1:54571//1009 --local-port 44444-45444 > log/24/stdout1009 2> log/24/stderr1009 === End of file commands.log === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 07:52:02.400330 Wrote pid 130498 to log/24/server/tftp_server.pid 07:52:02.400384 Wrote port 54571 to log/24/server/tftp_server.port 07:52:02.400397 Running IPv4 version on port UDP/54571 === End of file tftp_server.log === Start of file valgrind1009 ==131468== ==131468== Process terminating with default action of signal 4 (SIGILL) ==131468== Illegal opcode at address 0x4013DC0 ==131468== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131468== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131468== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131468== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1009 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:34835/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/ dir 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:34835/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 07:52:03.440962 ====> Client connect 07:52:03.440998 accept_connection 3 returned 4 07:52:03.441015 accept_connection 3 returned 0 07:52:03.441639 Read 93 bytes 07:52:03.441660 Process 93 bytes request 07:52:03.441674 Got request: GET /verifiedserver HTTP/1.1 07:52:03.441684 Are-we-friendly question received 07:52:03.441716 Wrote request (93 bytes) input to log/19/server.input 07:52:03.441734 Identifying ourselves as friends 07:52:03.441790 Response sent (56 bytes) and written to log/19/server.response 07:52:03.441801 special request received, no persistency 07:52:03.441810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1025 ==131512== ==131512== Process terminating with default action of signal 4 (SIGILL) ==131512== Illegal opcode at address 0x4013DC0 ==131512== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131512== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131512== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131512== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1025 CMD (33792): ../libtool --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/valgrind1024 ../src/curl -q --output log/22/curl1024.out --include --trace-ascii log/22/trace1024 --trace-time http://127.0.0.1:40377/want/1024 -L -c log/22/jar1024 > log/22/stdout1024 2> log/22/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/9/valgrind1027 ../src/curl -q --output log/9/curl1027.out --include --trace-ascii log/9/trace1027 --trace-time --help > log/9/stdout1027 2> log/9/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/9/stdout1027 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/15/valgrind1029 ../src/curl -q --include --trace-ascii log/15/trace1029 --trace-time http://127.0.0.1:43789/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/15/stdout1029 2> log/15/stderr1029 1029: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:05.104040660 +0000 +++ log/15/check-generated 2025-11-07 07:52:05.104040660 +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:43789/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:43789/we/want/our/1029 0 [LF] == Contents of files in the log/15/ dir 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:43789/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:43789/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/15/valgrind1029 ../src/curl -q --include --trace-ascii log/15/trace1029 --trace-time http://127.0.0.1:43789/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/15/stdout1029 2> log/15/stderr1029 === End of file commands.log === Start of file http_server.log 07:52:03.611754 ====> Client connect 07:52:03.611792 accept_connection 3 returned 4 07:52:03.611811 accept_connection 3 returned 0 07:52:03.611920 Read 93 bytes 07:52:03.611935 Process 93 bytes request 07:52:03.611949 Got request: GET /verifiedserver HTTP/1.1 07:52:03.611959 Are-we-friendly question received 07:52:03.611992 Wrote request (93 bytes) input to log/15/server.input 07:52:03.612017 Identifying ourselves as friends 07:52:03.612073 Response sent (56 bytes) and written to log/15/server.response 07:52:03.612084 special request received, no persistency 07:52:03.612094 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 48882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1029 ==131723== ==131723== Process terminating with default action of signal 4 (SIGILL) ==131723== Illegal opcode at address 0x4013DC0 ==131723== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131723== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131723== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131723== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1029 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/22/valgrind1024 ../src/curl -q --output log/22/curl1024.out --include --trace-ascii log/22/trace1024 --trace-time http://127.0.0.1:40377/want/1024 -L -c log/22/jar1024 > log/22/stdout1024 2> log/22/stderr1024 1024: 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/ dir 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/22/valgrind1024 ../src/curl -q --output log/22/curl1024.out --include --trace-ascii log/22/trace1024 --trace-time http://127.0.0.1:40377/want/1024 -L -c log/22/jar1024 > log/22/stdout1024 2> log/22/stderr1024 === End of file commands.log === Start of file http_server.log 07:52:03.390401 ====> Client connect 07:52:03.390439 accept_connection 3 returned 4 07:52:03.390458 accept_connection 3 returned 0 07:52:03.390474 Read 93 bytes 07:52:03.390485 Process 93 bytes request 07:52:03.390500 Got request: GET /verifiedserver HTTP/1.1 07:52:03.390510 Are-we-friendly question received 07:52:03.390538 Wrote request (93 bytes) input to log/22/server.input 07:52:03.390557 Identifying ourselves as friends 07:52:03.390615 Response sent (56 bytes) and written to log/22/server.response 07:52:03.390627 special request received, no persistency 07:52:03.390637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 58356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1024 ==131499== ==131499== Process terminating with default action of signal 4 (SIGILL) ==131499== Illegal opcode at address 0x4013DC0 ==131499== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131499== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131499== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131499== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1024 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/9/valgrind1027 ../src/curl -q --output log/9/curl1027.out --include --trace-ascii log/9/trace1027 --trace-time --help > log/9/stdout1027 2> log/9/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/9/stdout1027 1027: postcheck FAILED == Contents of files in the log/9/ dir 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/9/valgrind1027 ../src/curl -q --output log/9/curl1027.out --include --trace-ascii log/9/trace1027 --trace-time --help > log/9/stdout1027 2> log/9/stderr1027 === End of file commands.log === Start of file server.cmd Testnum 1027 === End of file server.cmd === Start of file valgrind1027 ==131465== ==131465== Process terminating with default action of signal 4 (SIGILL) ==131465== Illegal opcode at address 0x4013DC0 ==131465== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131465== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131465== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131465== by 0x40037A4: main (toCMD (33792): ../libtool --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/valgrind1032 ../src/curl -q --output log/14/curl1032.out --include --trace-ascii log/14/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:34115/1032 > log/14/stdout1032 2> log/14/stderr1032 CMD (33792): ../libtool --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/valgrind1028 ../src/curl -q --include --trace-ascii log/5/trace1028 --trace-time http://127.0.0.1:42797/10280001 -L > log/5/stdout1028 2> log/5/stderr1028 ol_main.c:199) === End of file valgrind1027 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/14/valgrind1032 ../src/curl -q --output log/14/curl1032.out --include --trace-ascii log/14/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:34115/1032 > log/14/stdout1032 2> log/14/stderr1032 1032: 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/ dir 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/14/valgrind1032 ../src/curl -q --output log/14/curl1032.out --include --trace-ascii log/14/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:34115/1032 > log/14/stdout1032 2> log/14/stderr1032 === End of file commands.log === Start of file http_server.log 07:52:03.785899 ====> Client connect 07:52:03.785937 accept_connection 3 returned 4 07:52:03.785956 accept_connection 3 returned 0 07:52:03.785974 Read 93 bytes 07:52:03.785986 Process 93 bytes request 07:52:03.786002 Got request: GET /verifiedserver HTTP/1.1 07:52:03.786013 Are-we-friendly question received 07:52:03.786040 Wrote request (93 bytes) input to log/14/server.input 07:52:03.786060 Identifying ourselves as friends 07:52:03.786128 Response sent (56 bytes) and written to log/14/server.response 07:52:03.786142 special request received, no persistency 07:52:03.786152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 44804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1032 ==131862== ==131862== Process terminating with default action of signal 4 (SIGILL) ==131862== Illegal opcode at address 0x4013DC0 ==131862== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131862== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131862== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131862== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1032 CMD (33792): ../libtool --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/valgrind1030 ../src/curl -q --output log/10/curl1030.out --include --trace-ascii log/10/trace1030 --trace-time http://127.0.0.1:34041/1030 -T log/10/put1030 -u testuser:testpass --anyauth > log/10/stdout1030 2> log/10/stderr1030 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/5/valgrind1028 ../src/curl -q --include --trace-ascii log/5/trace1028 --trace-time http://127.0.0.1:42797/10280001 -L > log/5/stdout1028 2> log/5/stderr1028 1028: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:05.314040662 +0000 +++ log/5/check-generated 2025-11-07 07:52:05.314040662 +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:39251/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/5/ dir 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:39251/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/5/valgrind1028 ../src/curl -q --include --trace-ascii log/5/trace1028 --trace-time http://127.0.0.1:42797/10280001 -L > log/5/stdout1028 2> log/5/stderr1028 === End of file commands.log === Start of file ftp_server.log 07:52:03.764206 ====> Client connect 07:52:03.764374 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:03.764700 < "USER anonymous" 07:52:03.764739 > "331 We are happy you popped in![CR][LF]" 07:52:03.764911 < "PASS ftp@example.com" 07:52:03.764939 > "230 Welcome you silly person[CR][LF]" 07:52:03.765963 < "PWD" 07:52:03.765998 > "257 "/" is current directory[CR][LF]" 07:52:03.766154 < "EPSV" 07:52:03.766177 ====> Passive DATA channel requested by client 07:52:03.766189 DATA sockfilt for passive data channel starting... 07:52:03.779156 DATA sockfilt for passive data channel started (pid 131679) 07:52:03.779308 DATA sockfilt for passive data channel listens on port 40721 07:52:03.779357 > "229 Entering Passive Mode (|||40721|)[CR][LF]" 07:52:03.779377 Client has been notified that DATA conn will be accepted on port 40721 07:52:03.779686 Client connects to port 40721 07:52:03.779717 ====> Client established passive DATA connection on port 40721 07:52:03.779810 < "TYPE I" 07:52:03.779843 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:03.780005 < "SIZE verifiedserver" 07:52:03.780045 > "213 17[CR][LF]" 07:52:03.780189 < "RETR verifiedserver" 07:52:03.780221 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:03.780304 =====> Closing passive DATA connection... 07:52:03.780318 Server disconnects passive DATA connection 07:52:03.780558 Server disconnected passive DATA connection 07:52:03.780584 DATA sockfilt for passive data channel quits (pid 131679) 07:52:03.780827 DATA sockfilt for passive data channel quit (pid 131679) 07:52:03.780848 =====> Closed passive DATA connection 07:52:03.780875 > "226 File transfer complete[CR][LF]" 07:52:03.832027 < "QUIT" 07:52:03.832088 > "221 bye bye baby[CR][LF]" 07:52:03.833397 MAIN sockfilt said DISC 07:52:03.833447 ====> Client disconnected 07:52:03.833530 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:03.592012 ====> Client connect 07:52:03.592330 Received DATA (on stdin) 07:52:03.592344 > 160 bytes data, server => client 07:52:03.592356 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:03.592367 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:03.592377 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:03.592479 < 16 bytes data, client => server 07:52:03.592491 'USER anonymous\r\n' 07:52:03.592683 Received DATA (on stdin) 07:52:03.592695 > 33 bytes data, server => client 07:52:03.592706 '331 We are happy you popped in!\r\n' 07:52:03.592759 < 22 bytes data, client => server 07:52:03.592770 'PASS ftp@example.com\r\n' 07:52:03.592879 Received DATA (on stdin) 07:52:03.592890 > 30 bytes data, server => client 07:52:03.592901 '230 Welcome you silly person\r\n' 07:52:03.593792 < 5 bytes data, client => server 07:52:03.593812 'PWD\r\n' 07:52:03.593939 Received DATA (on stdin) 07:52:03.593950 > 30 bytes data, server => client 07:52:03.593961 '257 "/" is current directory\r\n' 07:52:03.594014 < 6 bytes data, client => server 07:52:03.594025 'EPSV\r\n' 07:52:03.607328 Received DATA (on stdin) 07:52:03.607345 > 39 bytes data, server => client 07:52:03.607358 '229 Entering Passive Mode (|||40721|)\r\n' 07:52:03.607542 < 8 bytes data, client => server 07:52:03.607558 'TYPE I\r\n' 07:52:03.607787 Received DATA (on stdin) 07:52:03.607800 > 33 bytes data, server => client 07:52:03.607811 '200 I modify TYPE as you wanted\r\n' 07:52:03.607864 < 21 bytes data, client => server 07:52:03.607875 'SIZE verifiedserver\r\n' 07:52:03.607985 Received DATA (on stdin) 07:52:03.607997 > 8 bytes data, server => client 07:52:03.608008 '213 17\r\n' 07:52:03.608053 < 21 bytes data, client => server 07:52:03.608064 'RETR verifiedserver\r\n' 07:52:03.608263 Received DATA (on stdin) 07:52:03.608276 > 29 bytes data, server => client 07:52:03.608287 '150 Binary junk (17 bytes).\r\n' 07:52:03.608819 Received DATA (on stdin) 07:52:03.608833 > 28 bytes data, server => client 07:52:03.608844 '226 File transfer complete\r\n' 07:52:03.659203 < 6 bytes data, client => server 07:52:03.659243 'QUIT\r\n' 07:52:03.660041 Received DATA (on stdin) 07:52:03.660058 > 18 bytes data, server => client 07:52:03.660070 '221 bye bye baby\r\n' 07:52:03.661004 ====> Client disconnect 07:52:03.661475 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:03.606197 Running IPv4 version 07:52:03.606284 Listening on port 40721 07:52:03.606318 Wrote pid 131679 to log/5/server/ftp_sockdata.pid 07:52:03.606340 Received PING (on stdin) 07:52:03.607146 Received PORT (on stdin) 07:52:03.607578 ====> Client connect 07:52:03.608312 Received DATA (on stdin) 07:52:03.608325 > 17 bytes data, server => client 07:52:03.608336 'WE ROOLZ: 80550\r\n' 07:52:03.608360 Received DISC (on stdin) 07:52:03.608371 ====> Client forcibly disconnected 07:52:03.608536 Received QUIT (on stdin) 07:52:03.608548 quits 07:52:03.608613 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:03.531033 ====> Client connect 07:52:03.531071 accept_connection 3 returned 4 07:52:03.531089 accept_connection 3 returned 0 07:52:03.531105 Read 93 bytes 07:52:03.531116 Process 93 bytes request 07:52:03.531132 Got request: GET /verifiedserver HTTP/1.1 07:52:03.531143 Are-we-friendly question received 07:52:03.531169 Wrote request (93 bytes) input to log/5/server.input 07:52:03.531188 Identifying ourselves as friends 07:52:03.531247 Response sent (56 bytes) and written to log/5/server.response 07:52:03.531258 special request received, no persistency 07:52:03.531269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out CMD (33792): ../libtool --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/valgrind1031 ../src/curl -q --output log/18/curl1031.out --include --trace-ascii log/18/trace1031 --trace-time http://127.0.0.1:46763/want/this/1031 -L > log/18/stdout1031 2> log/18/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/23/valgrind1035 ../src/curl -q --output log/23/curl1035.out --include --trace-ascii log/23/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/23/stdout1035 2> log/23/stderr1035 WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1028 ==131749== ==131749== Process terminating with default action of signal 4 (SIGILL) ==131749== Illegal opcode at address 0x4013DC0 ==131749== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131749== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131749== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131749== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1028 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/10/valgrind1030 ../src/curl -q --output log/10/curl1030.out --include --trace-ascii log/10/trace1030 --trace-time http://127.0.0.1:34041/1030 -T log/10/put1030 -u testuser:testpass --anyauth > log/10/stdout1030 2> log/10/stderr1030 1030: 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/ dir 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/10/valgrind1030 ../src/curl -q --output log/10/curl1030.out --include --trace-ascii log/10/trace1030 --trace-time http://127.0.0.1:34041/1030 -T log/10/put1030 -u testuser:testpass --anyauth > log/10/stdout1030 2> log/10/stderr1030 === End of file commands.log === Start of file http_server.log 07:52:03.760788 ====> Client connect 07:52:03.760826 accept_connection 3 returned 4 07:52:03.760844 accept_connection 3 returned 0 07:52:03.760861 Read 93 bytes 07:52:03.760872 Process 93 bytes request 07:52:03.760886 Got request: GET /verifiedserver HTTP/1.1 07:52:03.760898 Are-we-friendly question received 07:52:03.760925 Wrote request (93 bytes) input to log/10/server.input 07:52:03.760944 Identifying ourselves as friends 07:52:03.761005 Response sent (56 bytes) and written to log/10/server.response 07:52:03.761018 special request received, no persistency 07:52:03.761028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 48890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1030 ==131852== ==131852== Process terminating with default action of signal 4 (SIGILL) ==131852== Illegal opcode at address 0x4013DC0 ==131852== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131852== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131852== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131852== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1030 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/18/valgrind1031 ../src/curl -q --output log/18/curl1031.out --include --trace-ascii log/18/trace1031 --trace-time http://127.0.0.1:46763/want/this/1031 -L > log/18/stdout1031 2> log/18/stderr1031 1031: 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/ dir 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/18/valgrind1031 ../src/curl -q --output log/18/curl1031.out --include --trace-ascii log/18/trace1031 --trace-time http://127.0.0.1:46763/want/this/1031 -L > log/18/stdout1031 2> log/18/stderr1031 === End of file commands.log === Start of file http_server.log 07:52:04.748837 ====> Client connect 07:52:04.748886 accept_connection 3 returned 4 07:52:04.748908 accept_connection 3 returned 0 07:52:04.748927 Read 93 bytes 07:52:04.748939 Process 93 bytes request 07:52:04.748954 Got request: GET /verifiedserver HTTP/1.1 07:52:04.748965 Are-we-friendly question received 07:52:04.748994 Wrote request (93 bytes) input to log/18/server.input 07:52:04.749013 Identifying ourselves as friends 07:52:04.749092 Response sent (56 bytes) and written to log/18/server.response 07:52:04.749105 special request received, no persistency 07:52:04.749116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 32850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1031 ==131839== ==131839== Process terminating with default action of signal 4 (SIGILL) ==131839== Illegal opcode at address 0x4013DC0 ==131839== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==131839== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131839== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==131839== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1031 setenv LC_ALL = C.UTF-8 test 1035...[HTTP over proxy with too long IDN host 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/23/valgrind1035 ../src/curl -q --output log/23/curl1035.out --include --trace-ascii log/23/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/23/stdout1035 2> log/23/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/23/ dir 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/23/valgrind1035 ../src/curl -q --output log/23/curl1035.out --include --trace-ascii log/23/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/23/stdout1035 2> log/23/stderr1035 === End of file commands.log === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==132059== ==132059== Process terminating with default action of signal 4 (SIGILL) ==132059== Illegal opcode at address 0x4013DC0 ==132059== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132059== by 0x40037A4: 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/16/valgrind1034 ../src/curl -q --output log/16/curl1034.out --include --trace-ascii log/16/trace1034 --trace-time -K - -x 127.0.0.1:47 log/16/stdout1034 2> log/16/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/11/valgrind1033 ../src/curl -q --output log/11/curl1033.out --include --trace-ascii log/11/trace1033 --trace-time http://127.0.0.1:38169/1033 > log/11/stdout1033 2> log/11/stderr1033 CMD (33792): ../libtool --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/valgrind1036 ../src/curl -q --output log/12/curl1036.out --include --trace-ascii log/12/trace1036 --trace-time ftp://127.0.0.1:46141/1036 -C - > log/12/stdout1036 2> log/12/stderr1036 (tool_getparam.c:3029) ==132059== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132059== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1035 setenv LC_ALL = C.UTF-8 test 1034...[HTTP over proxy with malformatted IDN host 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/16/valgrind1034 ../src/curl -q --output log/16/curl1034.out --include --trace-ascii log/16/trace1034 --trace-time -K - -x 127.0.0.1:47 log/16/stdout1034 2> log/16/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/16/ dir 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/16/valgrind1034 ../src/curl -q --output log/16/curl1034.out --include --trace-ascii log/16/trace1034 --trace-time -K - -x 127.0.0.1:47 log/16/stdout1034 2> log/16/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 ==132034== ==132034== Process terminating with default action of signal 4 (SIGILL) ==132034== Illegal opcode at address 0x4013DC0 ==132034== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132034== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132034== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132034== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1034 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/11/valgrind1033 ../src/curl -q --output log/11/curl1033.out --include --trace-ascii log/11/trace1033 --trace-time http://127.0.0.1:38169/1033 > log/11/stdout1033 2> log/11/stderr1033 1033: 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/ dir 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/11/valgrind1033 ../src/curl -q --output log/11/curl1033.out --include --trace-ascii log/11/trace1033 --trace-time http://127.0.0.1:38169/1033 > log/11/stdout1033 2> log/11/stderr1033 === End of file commands.log === Start of file http_server.log 07:52:03.967862 ====> Client connect 07:52:03.967896 accept_connection 3 returned 4 07:52:03.967913 accept_connection 3 returned 0 07:52:03.967927 Read 93 bytes 07:52:03.967938 Process 93 bytes request 07:52:03.967952 Got request: GET /verifiedserver HTTP/1.1 07:52:03.967961 Are-we-friendly question received 07:52:03.967984 Wrote request (93 bytes) input to log/11/server.input 07:52:03.968000 Identifying ourselves as friends 07:52:03.968049 Response sent (56 bytes) and written to log/11/server.response 07:52:03.968059 special request received, no persistency 07:52:03.968068 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 57786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1033 ==132086== ==132086== Process terminating with default action of signal 4 (SIGILL) ==132086== Illegal opcode at address 0x4013DC0 ==132086== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132086== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132086== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132086== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1033 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/12/valgrind1036 ../src/curl -q --output log/12/curl1036.out --include --trace-ascii log/12/trace1036 --trace-time ftp://127.0.0.1:46141/1036 -C - > log/12/stdout1036 2> log/12/stderr1036 1036: 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/ dir 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/12/valgrind1036 ../src/curl -q --output log/12/curl1036.out --include --trace-ascii log/12/trace1036 --trace-time ftp://127.0.0.1:46141/1036 -C - > log/12/stdout1036 2> log/12/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 07:52:04.208957 ====> Client connect 07:52:04.209124 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:04.209435 < "USER anonymous" 07:52:04.209474 > "331 We are happy you popped in![CR][LF]" 07:52:04.209660 < "PASS ftp@example.com" 07:52:04.209688 > "230 Welcome you silly person[CR][LF]" 07:52:04.209847 < "PWD" 07:52:04.209879 > "257 "/" is current directory[CR][LF]" 07:52:04.210046 < "EPSV" 07:52:04.210069 ====> Passive DATA channel requested by client 07:52:04.210083 DATA sockfilt for passive data channel starting... 07:52:04.215744 DATA sockfilt for passive data channel started (pid 132143) 07:52:04.216261 DATA sockfilt for passive data channel listens on port 42641 07:52:04.216316 > "229 Entering Passive Mode (|||42641|)[CR][LF]" 07:52:04.216335 Client has been notified that DATA conn will be accepted on port 42641 07:52:04.216595 Client connects to port 42641 07:52:04.216625 ====> Client established passive DATA connection on port 42641 07:52:04.216708 < "TYPE I" 07:52:04.216738 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:04.216909 < "SIZE verifiedserver" 07:52:04.216948 > "213 17[CR][LF]" 07:52:04.217110 < "RETR verifiedserver" 07:52:04.217149 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:04.217239 =====> Closing passive DATA connection... 07:52:04.217255 Server disconnects passive DATA connection 07:52:04.217467 Server disconnected passive DATA connection 07:52:04.217493 DATA sockfilt for passive data channel quits (pid 132143) 07:52:04.217779 DATA sockfilt for passive data channel quit (pid 132143) 07:52:04.217805 =====> Closed passive DATA connection 07:52:04.217833 > "226 File transfer complete[CR][LF]" 07:52:04.264898 < "QUIT" 07:52:04.264950 > "221 bye bye baby[CR][LF]" 07:52:04.266121 MAIN sockfilt said DISC 07:52:04.266166 ====> Client disconnected 07:52:04.266239 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:04.036754 ====> Client connect 07:52:04.037082 Received DATA (on stdin) 07:52:04.037100 > 160 bytes data, server => client 07:52:04.037114 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:04.037127 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 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/valgrind1038 ../src/curl -q --output log/8/curl1038.out --include --trace-ascii log/8/trace1038 --trace-time ftp://127.0.0.1:35961/1038 -T log/8/upload1038 -C - > log/8/stdout1038 2> log/8/stderr1038 7:52:04.037139 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:04.037221 < 16 bytes data, client => server 07:52:04.037235 'USER anonymous\r\n' 07:52:04.037421 Received DATA (on stdin) 07:52:04.037435 > 33 bytes data, server => client 07:52:04.037447 '331 We are happy you popped in!\r\n' 07:52:04.037501 < 22 bytes data, client => server 07:52:04.037514 'PASS ftp@example.com\r\n' 07:52:04.037631 Received DATA (on stdin) 07:52:04.037644 > 30 bytes data, server => client 07:52:04.037656 '230 Welcome you silly person\r\n' 07:52:04.037705 < 5 bytes data, client => server 07:52:04.037717 'PWD\r\n' 07:52:04.037820 Received DATA (on stdin) 07:52:04.037832 > 30 bytes data, server => client 07:52:04.037845 '257 "/" is current directory\r\n' 07:52:04.037902 < 6 bytes data, client => server 07:52:04.037917 'EPSV\r\n' 07:52:04.044286 Received DATA (on stdin) 07:52:04.044303 > 39 bytes data, server => client 07:52:04.044316 '229 Entering Passive Mode (|||42641|)\r\n' 07:52:04.044453 < 8 bytes data, client => server 07:52:04.044470 'TYPE I\r\n' 07:52:04.044682 Received DATA (on stdin) 07:52:04.044696 > 33 bytes data, server => client 07:52:04.044708 '200 I modify TYPE as you wanted\r\n' 07:52:04.044762 < 21 bytes data, client => server 07:52:04.044776 'SIZE verifiedserver\r\n' 07:52:04.044892 Received DATA (on stdin) 07:52:04.044905 > 8 bytes data, server => client 07:52:04.044917 '213 17\r\n' 07:52:04.044967 < 21 bytes data, client => server 07:52:04.044980 'RETR verifiedserver\r\n' 07:52:04.045202 Received DATA (on stdin) 07:52:04.045216 > 29 bytes data, server => client 07:52:04.045229 '150 Binary junk (17 bytes).\r\n' 07:52:04.045778 Received DATA (on stdin) 07:52:04.045793 > 28 bytes data, server => client 07:52:04.045805 '226 File transfer complete\r\n' 07:52:04.092655 < 6 bytes data, client => server 07:52:04.092688 'QUIT\r\n' 07:52:04.092897 Received DATA (on stdin) 07:52:04.092912 > 18 bytes data, server => client 07:52:04.092924 '221 bye bye baby\r\n' 07:52:04.093808 ====> Client disconnect 07:52:04.094183 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:04.041569 Running IPv4 version 07:52:04.041629 Listening on port 42641 07:52:04.041672 Wrote pid 132143 to log/12/server/ftp_sockdata.pid 07:52:04.043614 Received PING (on stdin) 07:52:04.044098 Received PORT (on stdin) 07:52:04.044492 ====> Client connect 07:52:04.045287 Received DATA (on stdin) 07:52:04.045303 > 17 bytes data, server => client 07:52:04.045316 'WE ROOLZ: 80617\r\n' 07:52:04.045344 Received DISC (on stdin) 07:52:04.045358 ====> Client forcibly disconnected 07:52:04.045509 Received QUIT (on stdin) 07:52:04.045524 quits 07:52:04.045582 ============> 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 ==132228== ==132228== Process terminating with default action of signal 4 (SIGILL) ==132228== Illegal opcode at address 0x4013DC0 ==132228== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132228== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132228== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132228== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1036 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/8/valgrind1038 ../src/curl -q --output log/8/curl1038.out --include --trace-ascii log/8/trace1038 --trace-time ftp://127.0.0.1:35961/1038 -T log/8/upload1038 -C - > log/8/stdout1038 2> log/8/stderr1038 1038: 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/ dir 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/8/valgrind1038 ../src/curl -q --output log/8/curl1038.out --include --trace-ascii log/8/trace1038 --trace-time ftp://127.0.0.1:35961/1038 -T log/8/upload1038 -C - > log/8/stdout1038 2> log/8/stderr1038 === End of file commands.log === Start of file ftp_server.log 07:52:04.349133 ====> Client connect 07:52:04.349311 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:04.349940 < "USER anonymous" 07:52:04.349986 > "331 We are happy you popped in![CR][LF]" 07:52:04.350167 < "PASS ftp@example.com" 07:52:04.350199 > "230 Welcome you silly person[CR][LF]" 07:52:04.350348 < "PWD" 07:52:04.350379 > "257 "/" is current directory[CR][LF]" 07:52:04.350533 < "EPSV" 07:52:04.350555 ====> Passive DATA channel requested by client 07:52:04.350568 DATA sockfilt for passive data channel starting... 07:52:04.377972 DATA sockfilt for passive data channel started (pid 132282) 07:52:04.378170 DATA sockfilt for passive data channel listens on port 38599 07:52:04.378229 > "229 Entering Passive Mode (|||38599|)[CR][LF]" 07:52:04.378248 Client has been notified that DATA conn will be accepted on port 38599 07:52:04.384649 Client connects to port 38599 07:52:04.384692 ====> Client established passive DATA connection on port 38599 07:52:04.384808 < "TYPE I" 07:52:04.384848 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:04.388143 < "SIZE verifiedserver" 07:52:04.388203 > "213 17[CR][LF]" 07:52:04.388378 < "RETR verifiedserver" 07:52:04.388413 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:04.388497 =====> Closing passive DATA connection... 07:52:04.388512 Server disconnects passive DATA connection 07:52:04.391439 Server disconnected passive DATA connection 07:52:04.391477 DATA sockfilt for passive data channel quits (pid 132282) 07:52:04.397944 DATA sockfilt for passive data channel quit (pid 132282) 07:52:04.397980 =====> Closed passive DATA connection 07:52:04.398017 > "226 File transfer complete[CR][LF]" 07:52:04.434600 < "QUIT" 07:52:04.434656 > "221 bye bye baby[CR][LF]" 07:52:04.435624 MAIN sockfilt said DISC 07:52:04.435667 ====> Client disconnected 07:52:04.435734 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:04.176960 ====> Client connect 07:52:04.177271 Received DATA (on stdin) 07:52:04.177289 > 160 bytes data, server => client 07:52:04.177303 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:04.177316 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:04.177328 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:04.177714 < 16 bytes data, client => server 07:52:04.177733 'USER anonymous\r\n' 07:52:04.177934 Received DATA (on stdin) 07:52:04.177948 > 33 bytes data, server => client 07:52:04.177959 '331 We are happy you popped in!\r\n' 07:52:04.178011 < 22 bytes data, client => server 07:52:04.178024 'PASS ftp@example.com\r\n' 07:52:04.178140 Received DATA (on stdin) 07:52:04.178152 > 30 bytes data, server => client 07:52:04.178164 '230 Welcome you silly person\r\n' 07:52:04.178209 < 5 bytes data, client => server 07:52:04.178220 'PWD\r\n' 07:52:04.178320 Received DATA (on stdin) 07:52:04.178331 > 30 bytes data, server => client 07:52:04.178343 '257 "/" is current directory\r\n' 07:52:04.178396 < 6 bytes data, client => server 07:52:04.178407 'EPSV\r\n' 07:52:04.209187 Received DATA (on stdin) 07:52:04.209212 > 39 bytes data, server => client 07:52:04.209228 '229 Entering Passive Mode (|||38599|)\r\n' 07:52:04.209353 < 8 bytes data, client => server 07:52:04.209368 'TYPE I\r\n' 07:52:04.215845 Received DATA (on stdin) 07:52:04.215864 > 33 bytes data, server => client 07:52:04.215876 '200 I modify TYPE as you wanted\r\n' 07:52:04.215944 < 21 bytes data, client => server 07:52:04.215957 'SIZE verifiedserver\r\n' 07:52:04.216151 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/4/valgrind1037 ../src/curl -q --output log/4/curl1037.out --include --trace-ascii log/4/trace1037 --trace-time ftp://127.0.0.1:37071/1037 -C - > log/4/stdout1037 2> log/4/stderr1037 (on stdin) 07:52:04.216163 > 8 bytes data, server => client 07:52:04.216173 '213 17\r\n' 07:52:04.216227 < 21 bytes data, client => server 07:52:04.216238 'RETR verifiedserver\r\n' 07:52:04.216457 Received DATA (on stdin) 07:52:04.216469 > 29 bytes data, server => client 07:52:04.216480 '150 Binary junk (17 bytes).\r\n' 07:52:04.225966 Received DATA (on stdin) 07:52:04.225982 > 28 bytes data, server => client 07:52:04.225994 '226 File transfer complete\r\n' 07:52:04.262371 < 6 bytes data, client => server 07:52:04.262395 'QUIT\r\n' 07:52:04.262604 Received DATA (on stdin) 07:52:04.262618 > 18 bytes data, server => client 07:52:04.262629 '221 bye bye baby\r\n' 07:52:04.263307 ====> Client disconnect 07:52:04.263678 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:04.186718 Running IPv4 version 07:52:04.186792 Listening on port 38599 07:52:04.186829 Wrote pid 132282 to log/8/server/ftp_sockdata.pid 07:52:04.192911 Received PING (on stdin) 07:52:04.205987 Received PORT (on stdin) 07:52:04.212521 ====> Client connect 07:52:04.219243 Received DATA (on stdin) 07:52:04.219271 > 17 bytes data, server => client 07:52:04.219284 'WE ROOLZ: 80636\r\n' 07:52:04.219330 Received DISC (on stdin) 07:52:04.219345 ====> Client forcibly disconnected 07:52:04.222517 Received QUIT (on stdin) 07:52:04.222542 quits 07:52:04.222613 ============> 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're gonna upload worx? === End of file upload1038 === Start of file valgrind1038 ==132367== ==132367== Process terminating with default action of signal 4 (SIGILL) ==132367== Illegal opcode at address 0x4013DC0 ==132367== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132367== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132367== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132367== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1038 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/4/valgrind1037 ../src/curl -q --output log/4/curl1037.out --include --trace-ascii log/4/trace1037 --trace-time ftp://127.0.0.1:37071/1037 -C - > log/4/stdout1037 2> log/4/stderr1037 1037: 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/ dir 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/4/valgrind1037 ../src/curl -q --output log/4/curl1037.out --include --trace-ascii log/4/trace1037 --trace-time ftp://127.0.0.1:37071/1037 -C - > log/4/stdout1037 2> log/4/stderr1037 === End of file commands.log === Start of file ftp_server.log 07:52:04.349093 ====> Client connect 07:52:04.349277 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:04.349592 < "USER anonymous" 07:52:04.349632 > "331 We are happy you popped in![CR][LF]" 07:52:04.349818 < "PASS ftp@example.com" 07:52:04.349849 > "230 Welcome you silly person[CR][LF]" 07:52:04.373018 < "PWD" 07:52:04.373091 > "257 "/" is current directory[CR][LF]" 07:52:04.373360 < "EPSV" 07:52:04.373392 ====> Passive DATA channel requested by client 07:52:04.373407 DATA sockfilt for passive data channel starting... 07:52:04.376909 DATA sockfilt for passive data channel started (pid 132300) 07:52:04.377046 DATA sockfilt for passive data channel listens on port 46389 07:52:04.377099 > "229 Entering Passive Mode (|||46389|)[CR][LF]" 07:52:04.377119 Client has been notified that DATA conn will be accepted on port 46389 07:52:04.377431 Client connects to port 46389 07:52:04.377465 ====> Client established passive DATA connection on port 46389 07:52:04.377570 < "TYPE I" 07:52:04.377642 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:04.377785 < "SIZE verifiedserver" 07:52:04.377825 > "213 17[CR][LF]" 07:52:04.384662 < "RETR verifiedserver" 07:52:04.384709 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:04.384804 =====> Closing passive DATA connection... 07:52:04.384820 Server disconnects passive DATA connection 07:52:04.385007 Server disconnected passive DATA connection 07:52:04.385030 DATA sockfilt for passive data channel quits (pid 132300) 07:52:04.385289 DATA sockfilt for passive data channel quit (pid 132300) 07:52:04.385310 =====> Closed passive DATA connection 07:52:04.385337 > "226 File transfer complete[CR][LF]" 07:52:04.429152 < "QUIT" 07:52:04.429201 > "221 bye bye baby[CR][LF]" 07:52:04.430074 MAIN sockfilt said DISC 07:52:04.430113 ====> Client disconnected 07:52:04.430177 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:04.176923 ====> Client connect 07:52:04.177237 Received DATA (on stdin) 07:52:04.177257 > 160 bytes data, server => client 07:52:04.177271 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:04.177284 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:04.177296 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:04.177375 < 16 bytes data, client => server 07:52:04.177389 'USER anonymous\r\n' 07:52:04.177580 Received DATA (on stdin) 07:52:04.177595 > 33 bytes data, server => client 07:52:04.177607 '331 We are happy you popped in!\r\n' 07:52:04.177661 < 22 bytes data, client => server 07:52:04.177674 'PASS ftp@example.com\r\n' 07:52:04.177792 Received DATA (on stdin) 07:52:04.177806 > 30 bytes data, server => client 07:52:04.177819 '230 Welcome you silly person\r\n' 07:52:04.177869 < 5 bytes data, client => server 07:52:04.177882 'PWD\r\n' 07:52:04.201047 Received DATA (on stdin) 07:52:04.201066 > 30 bytes data, server => client 07:52:04.201078 '257 "/" is current directory\r\n' 07:52:04.201194 < 6 bytes data, client => server 07:52:04.201207 'EPSV\r\n' 07:52:04.205072 Received DATA (on stdin) 07:52:04.205090 > 39 bytes data, server => client 07:52:04.205102 '229 Entering Passive Mode (|||46389|)\r\n' 07:52:04.205282 < 8 bytes data, client => server 07:52:04.205300 'TYPE I\r\n' 07:52:04.205527 Received DATA (on stdin) 07:52:04.205541 > 33 bytes data, server => client 07:52:04.205584 '200 I modify TYPE as you wanted\r\n' 07:52:04.205640 < 21 bytes data, client => server 07:52:04.205652 'SIZE verifiedserver\r\n' 07:52:04.205766 Received DATA (on stdin) 07:52:04.205778 > 8 bytes data, server => client 07:52:04.205789 '213 17\r\n' 07:52:04.205838 < 21 bytes data, client => server 07:52:04.205863 'RETR verifiedserver\r\n' 07:52:04.212767 Received DATA (on stdin) 07:52:04.212782 > 29 bytes data, server => client 07:52:04.212795 '150 Binary junk (17 bytes).\r\n' 07:52:04.213281 Received DATA (on stdin) 07:52:04.213295 > 28 bytes data, server => client 07:52:04.213307 '226 File transfer complete\r\n' 07:52:04.256937 < 6 bytes data, client => server 07:52:04.256962 'QUIT\r\n' 07:52:04.257148 Received DATA (on stdin) 07:52:04.257161 > 18 bytes data, server => client 07:52:04.257173 '221 bye bye baby\r\n' 07:52:04.257956 ====> Client disconnect 07:52:04.258119 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:04.203781 Running IPv4 version 07:52:04.204715 Listening on port 46389 07:52:04.204766 Wrote pid 132300 to log/4/server/ftp_sockdata.pid 07:52:04.204790 Received PING (on stdin) 07:52:04.204891 Received PORT (on stdin) 07:52:04.205324 ====> Client connect 07:52:04.212829 Received DATA (on stdin) 07:52:04.212845 > 17 bytes data, server => client 07:52:04.212857 'WE ROOLZ: 80637\r\n' 07:52:04.212887 Received DISC (on stdin) 07:52:04.212900 ====> CliCMD (33792): ../libtool --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/valgrind1042 ../src/curl -q --output log/1/curl1042.out --include --trace-ascii log/1/trace1042 --trace-time http://127.0.0.1:35709/1042 -C 200 > log/1/stdout1042 2> log/1/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/valgrind1040 ../src/curl -q --output log/21/curl1040.out --include --trace-ascii log/21/trace1040 --trace-time http://127.0.0.1:45761/1040 -C - > log/21/stdout1040 2> log/21/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/7/valgrind1041 ../src/curl -q --output log/7/curl1041.out --include --trace-ascii log/7/trace1041 --trace-time http://127.0.0.1:39661/1041 -Tlog/7/test1041.txt -C - > log/7/stdout1041 2> log/7/stderr1041 ent forcibly disconnected 07:52:04.212976 Received QUIT (on stdin) 07:52:04.212988 quits 07:52:04.213051 ============> 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 ==132368== ==132368== Process terminating with default action of signal 4 (SIGILL) ==132368== Illegal opcode at address 0x4013DC0 ==132368== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132368== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132368== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132368== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1037 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/1/valgrind1042 ../src/curl -q --output log/1/curl1042.out --include --trace-ascii log/1/trace1042 --trace-time http://127.0.0.1:35709/1042 -C 200 > log/1/stdout1042 2> log/1/stderr1042 1042: 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/ dir 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/1/valgrind1042 ../src/curl -q --output log/1/curl1042.out --include --trace-ascii log/1/trace1042 --trace-time http://127.0.0.1:35709/1042 -C 200 > log/1/stdout1042 2> log/1/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 07:52:04.333139 ====> Client connect 07:52:04.333177 accept_connection 3 returned 4 07:52:04.333196 accept_connection 3 returned 0 07:52:04.333213 Read 93 bytes 07:52:04.333225 Process 93 bytes request 07:52:04.333241 Got request: GET /verifiedserver HTTP/1.1 07:52:04.333252 Are-we-friendly question received 07:52:04.333280 Wrote request (93 bytes) input to log/1/server.input 07:52:04.333299 Identifying ourselves as friends 07:52:04.333364 Response sent (56 bytes) and written to log/1/server.response 07:52:04.333376 special request received, no persistency 07:52:04.333386 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 32936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1042 ==132482== ==132482== Process terminating with default action of signal 4 (SIGILL) ==132482== Illegal opcode at address 0x4013DC0 ==132482== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132482== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1042 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/21/valgrind1040 ../src/curl -q --output log/21/curl1040.out --include --trace-ascii log/21/trace1040 --trace-time http://127.0.0.1:45761/1040 -C - > log/21/stdout1040 2> log/21/stderr1040 1040: 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/ dir 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/21/valgrind1040 ../src/curl -q --output log/21/curl1040.out --include --trace-ascii log/21/trace1040 --trace-time http://127.0.0.1:45761/1040 -C - > log/21/stdout1040 2> log/21/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 07:52:04.231928 ====> Client connect 07:52:04.231972 accept_connection 3 returned 4 07:52:04.231992 accept_connection 3 returned 0 07:52:04.232008 Read 93 bytes 07:52:04.232019 Process 93 bytes request 07:52:04.232034 Got request: GET /verifiedserver HTTP/1.1 07:52:04.232044 Are-we-friendly question received 07:52:04.232076 Wrote request (93 bytes) input to log/21/server.input 07:52:04.232094 Identifying ourselves as friends 07:52:04.232316 Response sent (56 bytes) and written to log/21/server.response 07:52:04.232329 special request received, no persistency 07:52:04.232339 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.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:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1040 ==132352== ==132352== Process terminating with default action of signal 4 (SIGILL) ==132352== Illegal opcode at address 0x4013DC0 ==132352== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132352== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132352== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132352== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1040 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/7/valgrind1041 ../src/curl -q --output log/7/curl1041.out --include --trace-ascii log/7/trace1041 --trace-time http://127.0.0.1:39661/1041 -Tlog/7/test1041.txt -C - > log/7/stdout1041 2> log/7/stderr1041 1041: 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/ dir 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/7/valgrind1041 ../src/curl -q --output log/7/curl1041.out --include --trace-ascii log/7/trace1041 --trace-time http://127.0.0.1:39661/1041 -Tlog/7/test1041.txt -C - > log/7/stdout1041 2> log/7/stderr1041 === End of file commands.log === Start of file http_server.log 07:52:05.270021 ====> Client connect 07:52:05.270057 accept_connection 3 returned 4 07:52:05.270076 accept_connection 3 returned 0 07:52:05.270092 Read 93 bytes 07:52:05.270104 Process 93 bytes 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/2/valgrind1045 ../src/curl -q --output log/2/curl1045.out --include --trace-ascii log/2/trace1045 --trace-time http://127.0.0.1:43955/1045 --interface 127.0.0.1 > log/2/stdout1045 2> log/2/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/3/valgrind1043 ../src/curl -q --output log/3/curl1043.out --include --trace-ascii log/3/trace1043 --trace-time http://127.0.0.1:34059/1043 -C - > log/3/stdout1043 2> log/3/stderr1043 CMD (33792): ../libtool --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/valgrind1039 ../src/curl -q --output log/13/curl1039.out --include --trace-ascii log/13/trace1039 --trace-time ftp://127.0.0.1:33699/1039 -T log/13/upload1039 -C - > log/13/stdout1039 2> log/13/stderr1039 t 07:52:05.270119 Got request: GET /verifiedserver HTTP/1.1 07:52:05.270130 Are-we-friendly question received 07:52:05.270157 Wrote request (93 bytes) input to log/7/server.input 07:52:05.270177 Identifying ourselves as friends 07:52:05.270237 Response sent (56 bytes) and written to log/7/server.response 07:52:05.270250 special request received, no persistency 07:52:05.270260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 55608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === 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 ==132378== ==132378== Process terminating with default action of signal 4 (SIGILL) ==132378== Illegal opcode at address 0x4013DC0 ==132378== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132378== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132378== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132378== by 0x40037A4: main (tool_main.c:199) === 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/2/valgrind1045 ../src/curl -q --output log/2/curl1045.out --include --trace-ascii log/2/trace1045 --trace-time http://127.0.0.1:43955/1045 --interface 127.0.0.1 > log/2/stdout1045 2> log/2/stderr1045 1045: 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/ dir 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/2/valgrind1045 ../src/curl -q --output log/2/curl1045.out --include --trace-ascii log/2/trace1045 --trace-time http://127.0.0.1:43955/1045 --interface 127.0.0.1 > log/2/stdout1045 2> log/2/stderr1045 === End of file commands.log === Start of file http_server.log 07:52:05.573348 ====> Client connect 07:52:05.573378 accept_connection 3 returned 4 07:52:05.573395 accept_connection 3 returned 0 07:52:05.573410 Read 93 bytes 07:52:05.573420 Process 93 bytes request 07:52:05.573433 Got request: GET /verifiedserver HTTP/1.1 07:52:05.573444 Are-we-friendly question received 07:52:05.573466 Wrote request (93 bytes) input to log/2/server.input 07:52:05.573482 Identifying ourselves as friends 07:52:05.573532 Response sent (56 bytes) and written to log/2/server.response 07:52:05.573542 special request received, no persistency 07:52:05.573551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 37172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1045 ==132772== ==132772== Process terminating with default action of signal 4 (SIGILL) ==132772== Illegal opcode at address 0x4013DC0 ==132772== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132772== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132772== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132772== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1045 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/3/valgrind1043 ../src/curl -q --output log/3/curl1043.out --include --trace-ascii log/3/trace1043 --trace-time http://127.0.0.1:34059/1043 -C - > log/3/stdout1043 2> log/3/stderr1043 1043: 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/ dir 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/3/valgrind1043 ../src/curl -q --output log/3/curl1043.out --include --trace-ascii log/3/trace1043 --trace-time http://127.0.0.1:34059/1043 -C - > log/3/stdout1043 2> log/3/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 07:52:05.502579 ====> Client connect 07:52:05.502617 accept_connection 3 returned 4 07:52:05.502635 accept_connection 3 returned 0 07:52:05.502651 Read 93 bytes 07:52:05.502662 Process 93 bytes request 07:52:05.502675 Got request: GET /verifiedserver HTTP/1.1 07:52:05.502685 Are-we-friendly question received 07:52:05.502710 Wrote request (93 bytes) input to log/3/server.input 07:52:05.502727 Identifying ourselves as friends 07:52:05.502789 Response sent (56 bytes) and written to log/3/server.response 07:52:05.502799 special request received, no persistency 07:52:05.502809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 33520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1043 ==132700== ==132700== Process terminating with default action of signal 4 (SIGILL) ==132700== Illegal opcode at address 0x4013DC0 ==132700== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132700== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132700== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132700== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1043 test 1039...[FTP PASV upload 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/13/valgrind1039 ../src/curl -q --output log/13/curl1039.out --include --trace-ascii log/13/trace1039 --trace-time ftp://127.0.0.1:33699/1039 -T log/13/upload1039 -C - > log/13/stdout1039 2> log/13/stderr1039 1039: protocol FAILED! There was no content at all in the fiCMD (33792): ../libtool --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/valgrind1044 ../src/curl -q --include --trace-ascii log/17/trace1044 --trace-time ftp://127.0.0.1:44771/blalbla/1044 -I > log/17/stdout1044 2> log/17/stderr1044 le log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ dir 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/13/valgrind1039 ../src/curl -q --output log/13/curl1039.out --include --trace-ascii log/13/trace1039 --trace-time ftp://127.0.0.1:33699/1039 -T log/13/upload1039 -C - > log/13/stdout1039 2> log/13/stderr1039 === End of file commands.log === Start of file ftp_server.log 07:52:04.397947 ====> Client connect 07:52:04.398119 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:04.401617 < "USER anonymous" 07:52:04.401671 > "331 We are happy you popped in![CR][LF]" 07:52:04.401860 < "PASS ftp@example.com" 07:52:04.401890 > "230 Welcome you silly person[CR][LF]" 07:52:04.402671 < "PWD" 07:52:04.402711 > "257 "/" is current directory[CR][LF]" 07:52:04.402875 < "EPSV" 07:52:04.402899 ====> Passive DATA channel requested by client 07:52:04.402913 DATA sockfilt for passive data channel starting... 07:52:04.409164 DATA sockfilt for passive data channel started (pid 132323) 07:52:04.409302 DATA sockfilt for passive data channel listens on port 44829 07:52:04.409350 > "229 Entering Passive Mode (|||44829|)[CR][LF]" 07:52:04.409368 Client has been notified that DATA conn will be accepted on port 44829 07:52:04.412009 Client connects to port 44829 07:52:04.412056 ====> Client established passive DATA connection on port 44829 07:52:04.414753 < "TYPE I" 07:52:04.414801 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:04.414997 < "SIZE verifiedserver" 07:52:04.415038 > "213 17[CR][LF]" 07:52:04.415193 < "RETR verifiedserver" 07:52:04.415226 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:04.415320 =====> Closing passive DATA connection... 07:52:04.415336 Server disconnects passive DATA connection 07:52:04.415602 Server disconnected passive DATA connection 07:52:04.415629 DATA sockfilt for passive data channel quits (pid 132323) 07:52:04.415894 DATA sockfilt for passive data channel quit (pid 132323) 07:52:04.415919 =====> Closed passive DATA connection 07:52:04.415946 > "226 File transfer complete[CR][LF]" 07:52:04.468092 < "QUIT" 07:52:04.468146 > "221 bye bye baby[CR][LF]" 07:52:04.479372 MAIN sockfilt said DISC 07:52:04.479427 ====> Client disconnected 07:52:04.479507 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:05.222525 ====> Client connect 07:52:05.229187 Received DATA (on stdin) 07:52:05.229250 > 160 bytes data, server => client 07:52:05.229272 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:05.229285 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:05.229296 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:05.229393 < 16 bytes data, client => server 07:52:05.229406 'USER anonymous\r\n' 07:52:05.229618 Received DATA (on stdin) 07:52:05.229632 > 33 bytes data, server => client 07:52:05.229644 '331 We are happy you popped in!\r\n' 07:52:05.229704 < 22 bytes data, client => server 07:52:05.229716 'PASS ftp@example.com\r\n' 07:52:05.229832 Received DATA (on stdin) 07:52:05.229845 > 30 bytes data, server => client 07:52:05.229857 '230 Welcome you silly person\r\n' 07:52:05.230503 < 5 bytes data, client => server 07:52:05.230520 'PWD\r\n' 07:52:05.230654 Received DATA (on stdin) 07:52:05.230666 > 30 bytes data, server => client 07:52:05.230678 '257 "/" is current directory\r\n' 07:52:05.230736 < 6 bytes data, client => server 07:52:05.230747 'EPSV\r\n' 07:52:05.237321 Received DATA (on stdin) 07:52:05.237339 > 39 bytes data, server => client 07:52:05.237352 '229 Entering Passive Mode (|||44829|)\r\n' 07:52:05.242529 < 8 bytes data, client => server 07:52:05.242554 'TYPE I\r\n' 07:52:05.242748 Received DATA (on stdin) 07:52:05.242762 > 33 bytes data, server => client 07:52:05.242775 '200 I modify TYPE as you wanted\r\n' 07:52:05.242849 < 21 bytes data, client => server 07:52:05.242862 'SIZE verifiedserver\r\n' 07:52:05.242981 Received DATA (on stdin) 07:52:05.242993 > 8 bytes data, server => client 07:52:05.243004 '213 17\r\n' 07:52:05.243052 < 21 bytes data, client => server 07:52:05.243064 'RETR verifiedserver\r\n' 07:52:05.243280 Received DATA (on stdin) 07:52:05.243297 > 29 bytes data, server => client 07:52:05.243310 '150 Binary junk (17 bytes).\r\n' 07:52:05.243892 Received DATA (on stdin) 07:52:05.243906 > 28 bytes data, server => client 07:52:05.243919 '226 File transfer complete\r\n' 07:52:05.295864 < 6 bytes data, client => server 07:52:05.295891 'QUIT\r\n' 07:52:05.304959 Received DATA (on stdin) 07:52:05.304986 > 18 bytes data, server => client 07:52:05.304999 '221 bye bye baby\r\n' 07:52:05.306794 ====> Client disconnect 07:52:05.307463 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:04.236726 Running IPv4 version 07:52:04.236806 Listening on port 44829 07:52:04.236848 Wrote pid 132323 to log/13/server/ftp_sockdata.pid 07:52:04.237048 Received PING (on stdin) 07:52:04.237141 Received PORT (on stdin) 07:52:04.239882 ====> Client connect 07:52:04.243339 Received DATA (on stdin) 07:52:04.243356 > 17 bytes data, server => client 07:52:04.243367 'WE ROOLZ: 80695\r\n' 07:52:04.243393 Received DISC (on stdin) 07:52:04.243406 ====> Client forcibly disconnected 07:52:04.243580 Received QUIT (on stdin) 07:52:04.243593 quits 07:52:04.243658 ============> 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're gonna upload worx? === End of file upload1039 === Start of file valgrind1039 ==132484== ==132484== Process terminating with default action of signal 4 (SIGILL) ==132484== Illegal opcode at address 0x4013DC0 ==132484== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132484== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132484== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132484== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1039 CMD (33792): ../libtool --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/valgrind1047 ../src/curl -q --output log/20/curl1047.out --include --trace-ascii log/20/trace1047 --trace-time ftp://127.0.0.1:33651/ --interface 127.0.0.1 > log/20/stdout1047 2> log/20/stderr1047 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/17/valgrind1044 ../src/curl -q --include --trace-ascii log/17/trace1044 --trace-time ftp://127.0.0.1:44771/blalbla/1044 -I > log/17/stdout1044 2> log/17/stderr1044 1044: stdout FAILED: --- log/17/check-expected 2025-11-07 07:52:06.080707336 +0000 +++ log/17/check-generated 2025-11-07 07:52:06.080707336 +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/17/ dir 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/17/valgrind1044 ../src/curl -q --include --trace-ascii log/17/trace1044 --trace-time ftp://127.0.0.1:44771/blalbla/1044 -I > log/17/stdout1044 2> log/17/stderr1044 === End of file commands.log === Start of file ftp_server.log 07:52:04.698046 ====> Client connect 07:52:04.698190 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:04.700162 < "USER anonymous" 07:52:04.700215 > "331 We are happy you popped in![CR][LF]" 07:52:04.700412 < "PASS ftp@example.com" 07:52:04.700447 > "230 Welcome you silly person[CR][LF]" 07:52:04.700601 < "PWD" 07:52:04.700631 > "257 "/" is current directory[CR][LF]" 07:52:04.700789 < "EPSV" 07:52:04.700811 ====> Passive DATA channel requested by client 07:52:04.700825 DATA sockfilt for passive data channel starting... 07:52:04.707536 DATA sockfilt for passive data channel started (pid 132701) 07:52:04.707653 DATA sockfilt for passive data channel listens on port 38491 07:52:04.707694 > "229 Entering Passive Mode (|||38491|)[CR][LF]" 07:52:04.707712 Client has been notified that DATA conn will be accepted on port 38491 07:52:04.707993 Client connects to port 38491 07:52:04.708029 ====> Client established passive DATA connection on port 38491 07:52:04.708115 < "TYPE I" 07:52:04.708148 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:04.708498 < "SIZE verifiedserver" 07:52:04.708543 > "213 17[CR][LF]" 07:52:04.709910 < "RETR verifiedserver" 07:52:04.709959 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:04.710048 =====> Closing passive DATA connection... 07:52:04.710064 Server disconnects passive DATA connection 07:52:04.710313 Server disconnected passive DATA connection 07:52:04.710339 DATA sockfilt for passive data channel quits (pid 132701) 07:52:04.710578 DATA sockfilt for passive data channel quit (pid 132701) 07:52:04.710602 =====> Closed passive DATA connection 07:52:04.710630 > "226 File transfer complete[CR][LF]" 07:52:04.754889 < "QUIT" 07:52:04.754946 > "221 bye bye baby[CR][LF]" 07:52:04.756025 MAIN sockfilt said DISC 07:52:04.756071 ====> Client disconnected 07:52:04.756148 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:04.525863 ====> Client connect 07:52:04.526146 Received DATA (on stdin) 07:52:04.526163 > 160 bytes data, server => client 07:52:04.526177 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:04.526189 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:04.526201 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:04.527917 < 16 bytes data, client => server 07:52:04.527944 'USER anonymous\r\n' 07:52:04.528164 Received DATA (on stdin) 07:52:04.528180 > 33 bytes data, server => client 07:52:04.528192 '331 We are happy you popped in!\r\n' 07:52:04.528250 < 22 bytes data, client => server 07:52:04.528262 'PASS ftp@example.com\r\n' 07:52:04.528390 Received DATA (on stdin) 07:52:04.528402 > 30 bytes data, server => client 07:52:04.528414 '230 Welcome you silly person\r\n' 07:52:04.528461 < 5 bytes data, client => server 07:52:04.528473 'PWD\r\n' 07:52:04.528573 Received DATA (on stdin) 07:52:04.528585 > 30 bytes data, server => client 07:52:04.528597 '257 "/" is current directory\r\n' 07:52:04.528651 < 6 bytes data, client => server 07:52:04.528663 'EPSV\r\n' 07:52:04.535663 Received DATA (on stdin) 07:52:04.535679 > 39 bytes data, server => client 07:52:04.535692 '229 Entering Passive Mode (|||38491|)\r\n' 07:52:04.535846 < 8 bytes data, client => server 07:52:04.535865 'TYPE I\r\n' 07:52:04.536093 Received DATA (on stdin) 07:52:04.536107 > 33 bytes data, server => client 07:52:04.536118 '200 I modify TYPE as you wanted\r\n' 07:52:04.536172 < 21 bytes data, client => server 07:52:04.536185 'SIZE verifiedserver\r\n' 07:52:04.536487 Received DATA (on stdin) 07:52:04.536501 > 8 bytes data, server => client 07:52:04.536512 '213 17\r\n' 07:52:04.536565 < 21 bytes data, client => server 07:52:04.536577 'RETR verifiedserver\r\n' 07:52:04.538009 Received DATA (on stdin) 07:52:04.538024 > 29 bytes data, server => client 07:52:04.538036 '150 Binary junk (17 bytes).\r\n' 07:52:04.538573 Received DATA (on stdin) 07:52:04.538587 > 28 bytes data, server => client 07:52:04.538599 '226 File transfer complete\r\n' 07:52:04.582639 < 6 bytes data, client => server 07:52:04.582671 'QUIT\r\n' 07:52:04.582895 Received DATA (on stdin) 07:52:04.582909 > 18 bytes data, server => client 07:52:04.582921 '221 bye bye baby\r\n' 07:52:04.583908 ====> Client disconnect 07:52:04.584093 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:04.533332 Running IPv4 version 07:52:04.533395 Listening on port 38491 07:52:04.533443 Wrote pid 132701 to log/17/server/ftp_sockdata.pid 07:52:04.535411 Received PING (on stdin) 07:52:04.535507 Received PORT (on stdin) 07:52:04.535887 ====> Client connect 07:52:04.538064 Received DATA (on stdin) 07:52:04.538077 > 17 bytes data, server => client 07:52:04.538088 'WE ROOLZ: 80557\r\n' 07:52:04.538112 Received DISC (on stdin) 07:52:04.538125 ====> Client forcibly disconnected 07:52:04.538290 Received QUIT (on stdin) 07:52:04.538303 quits 07:52:04.538368 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==132777== ==132777== Process terminating with default action of signal 4 (SIGILL) ==132777== Illegal opcode at address 0x4013DC0 ==132777== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132777== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132777== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132777== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1044 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/20/valgrind1047 ../src/curl -q --output log/20/curl1047.out --include --trace-ascii log/20/trace1047 --trace-time ftp://127.0.0.1:33651/ --interface 127.0.0.1 > log/20/stdout1047 2> log/20/stderr1047 1047: 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/ dir 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/20/valgrind1047 ../src/curl -q --output log/20/curl1047.out --include --trace-ascii log/20/trace1047 --trace-time ftp://127.0.0.1:33651/ --interface 127.0.0.1 > log/20/stdout1047 2> log/20/stderr1047 === End of file commands.log === Start of file ftp_server.log 07:52:05.057664 ====> Client connect 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/22/valgrind1051 ../src/curl -q --output log/22/curl1051.out --include --trace-ascii log/22/trace1051 --trace-time http://127.0.0.1:40377/want/1051 -L -T log/22/test1051.txt > log/22/stdout1051 2> log/22/stderr1051 7:52:05.057890 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:05.058194 < "USER anonymous" 07:52:05.058235 > "331 We are happy you popped in![CR][LF]" 07:52:05.058404 < "PASS ftp@example.com" 07:52:05.058432 > "230 Welcome you silly person[CR][LF]" 07:52:05.058582 < "PWD" 07:52:05.058610 > "257 "/" is current directory[CR][LF]" 07:52:05.058764 < "EPSV" 07:52:05.058786 ====> Passive DATA channel requested by client 07:52:05.058800 DATA sockfilt for passive data channel starting... 07:52:05.064865 DATA sockfilt for passive data channel started (pid 132932) 07:52:05.065001 DATA sockfilt for passive data channel listens on port 39763 07:52:05.065045 > "229 Entering Passive Mode (|||39763|)[CR][LF]" 07:52:05.065065 Client has been notified that DATA conn will be accepted on port 39763 07:52:05.071304 Client connects to port 39763 07:52:05.071338 ====> Client established passive DATA connection on port 39763 07:52:05.071427 < "TYPE I" 07:52:05.071462 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:05.071639 < "SIZE verifiedserver" 07:52:05.071678 > "213 17[CR][LF]" 07:52:05.071827 < "RETR verifiedserver" 07:52:05.071856 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:05.071940 =====> Closing passive DATA connection... 07:52:05.071955 Server disconnects passive DATA connection 07:52:05.072208 Server disconnected passive DATA connection 07:52:05.072231 DATA sockfilt for passive data channel quits (pid 132932) 07:52:05.072574 DATA sockfilt for passive data channel quit (pid 132932) 07:52:05.072597 =====> Closed passive DATA connection 07:52:05.072624 > "226 File transfer complete[CR][LF]" 07:52:05.118220 < "QUIT" 07:52:05.118277 > "221 bye bye baby[CR][LF]" 07:52:05.119355 MAIN sockfilt said DISC 07:52:05.119402 ====> Client disconnected 07:52:05.119475 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:04.885473 ====> Client connect 07:52:04.885861 Received DATA (on stdin) 07:52:04.885880 > 160 bytes data, server => client 07:52:04.885894 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:04.885906 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:04.885917 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:04.885991 < 16 bytes data, client => server 07:52:04.886004 'USER anonymous\r\n' 07:52:04.886181 Received DATA (on stdin) 07:52:04.886194 > 33 bytes data, server => client 07:52:04.886206 '331 We are happy you popped in!\r\n' 07:52:04.886255 < 22 bytes data, client => server 07:52:04.886267 'PASS ftp@example.com\r\n' 07:52:04.886375 Received DATA (on stdin) 07:52:04.886387 > 30 bytes data, server => client 07:52:04.886399 '230 Welcome you silly person\r\n' 07:52:04.886444 < 5 bytes data, client => server 07:52:04.886455 'PWD\r\n' 07:52:04.886552 Received DATA (on stdin) 07:52:04.886563 > 30 bytes data, server => client 07:52:04.886575 '257 "/" is current directory\r\n' 07:52:04.886628 < 6 bytes data, client => server 07:52:04.886639 'EPSV\r\n' 07:52:04.895843 Received DATA (on stdin) 07:52:04.895868 > 39 bytes data, server => client 07:52:04.895882 '229 Entering Passive Mode (|||39763|)\r\n' 07:52:04.896014 < 8 bytes data, client => server 07:52:04.896029 'TYPE I\r\n' 07:52:04.899406 Received DATA (on stdin) 07:52:04.899421 > 33 bytes data, server => client 07:52:04.899433 '200 I modify TYPE as you wanted\r\n' 07:52:04.899495 < 21 bytes data, client => server 07:52:04.899508 'SIZE verifiedserver\r\n' 07:52:04.899620 Received DATA (on stdin) 07:52:04.899632 > 8 bytes data, server => client 07:52:04.899643 '213 17\r\n' 07:52:04.899689 < 21 bytes data, client => server 07:52:04.899702 'RETR verifiedserver\r\n' 07:52:04.899899 Received DATA (on stdin) 07:52:04.899911 > 29 bytes data, server => client 07:52:04.899922 '150 Binary junk (17 bytes).\r\n' 07:52:04.900567 Received DATA (on stdin) 07:52:04.900580 > 28 bytes data, server => client 07:52:04.900592 '226 File transfer complete\r\n' 07:52:04.945982 < 6 bytes data, client => server 07:52:04.946015 'QUIT\r\n' 07:52:04.946230 Received DATA (on stdin) 07:52:04.946245 > 18 bytes data, server => client 07:52:04.946257 '221 bye bye baby\r\n' 07:52:04.947235 ====> Client disconnect 07:52:04.947424 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:05.890327 Running IPv4 version 07:52:05.890390 Listening on port 39763 07:52:05.890424 Wrote pid 132932 to log/20/server/ftp_sockdata.pid 07:52:05.892743 Received PING (on stdin) 07:52:05.892856 Received PORT (on stdin) 07:52:05.899186 ====> Client connect 07:52:05.899976 Received DATA (on stdin) 07:52:05.899991 > 17 bytes data, server => client 07:52:05.900003 'WE ROOLZ: 80551\r\n' 07:52:05.900028 Received DISC (on stdin) 07:52:05.900040 ====> Client forcibly disconnected 07:52:05.900183 Received QUIT (on stdin) 07:52:05.900195 quits 07:52:05.900256 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==132951== ==132951== Process terminating with default action of signal 4 (SIGILL) ==132951== Illegal opcode at address 0x4013DC0 ==132951== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==132951== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132951== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==132951== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1047 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/22/valgrind1051 ../src/curl -q --output log/22/curl1051.out --include --trace-ascii log/22/trace1051 --trace-time http://127.0.0.1:40377/want/1051 -L -T log/22/test1051.txt > log/22/stdout1051 2> log/22/stderr1051 1051: 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/ dir 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/22/valgrind1051 ../src/curl -q --output log/22/curl1051.out --include --trace-ascii log/22/trace1051 --trace-time http://127.0.0.1:40377/want/1051 -L -T log/22/test1051.txt > log/22/stdout1051 2> log/22/stderr1051 === End of file commands.log === Start of file http_server.log 07:52:05.059265 ====> Client connect 07:52:05.059305 accept_connection 3 returned 4 07:52:05.059326 accept_connection 3 returned 0 07:52:05.059343 Read 93 bytes 07:52:05.059354 Process 93 bytes request 07:52:05.059369 Got request: GET /verifiedserver HTTP/1.1 07:52:05.059380 Are-we-friendly question received 07:52:05.059405 Wrote request (93 bytes) input to log/22/server.input 07:52:05.059423 Identifying ourselves as friends 07:52:05.059488 Response sent (56 bytes) and written to log/22/server.response 07:52:05.059499 special request received, no persistency 07:52:05.059510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 58360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file 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/9/valgrind1052 ../src/curl -q --output log/9/curl1052.out --include --trace-ascii log/9/trace1052 --trace-time http://127.0.0.1:42717/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 CMD (33792): ../libtool --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/valgrind1053 ../src/curl -q --output log/14/curl1053.out --include --trace-ascii log/14/trace1053 --trace-time http://127.0.0.1:34115/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/14/test1053.txt > log/14/stdout1053 2> log/14/stderr1053 CMD (33792): ../libtool --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/valgrind1050 ../src/curl -q --output log/15/curl1050.out --include --trace-ascii log/15/trace1050 --trace-time -g "ftp://[::1]:45443/" -P ::1 > log/15/stdout1050 2> log/15/stderr1050 1051.txt Weird file to upload for testing the PUT feature === End of file test1051.txt === Start of file valgrind1051 ==133013== ==133013== Process terminating with default action of signal 4 (SIGILL) ==133013== Illegal opcode at address 0x4013DC0 ==133013== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133013== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133013== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133013== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1051 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/9/valgrind1052 ../src/curl -q --output log/9/curl1052.out --include --trace-ascii log/9/trace1052 --trace-time http://127.0.0.1:42717/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 1052: 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/ dir 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/9/valgrind1052 ../src/curl -q --output log/9/curl1052.out --include --trace-ascii log/9/trace1052 --trace-time http://127.0.0.1:42717/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 === End of file commands.log === Start of file http_server.log 07:52:05.129116 ====> Client connect 07:52:05.129152 accept_connection 3 returned 4 07:52:05.129183 accept_connection 3 returned 0 07:52:05.129200 Read 93 bytes 07:52:05.129212 Process 93 bytes request 07:52:05.129227 Got request: GET /verifiedserver HTTP/1.1 07:52:05.129238 Are-we-friendly question received 07:52:05.129271 Wrote request (93 bytes) input to log/9/server.input 07:52:05.129289 Identifying ourselves as friends 07:52:05.129350 Response sent (56 bytes) and written to log/9/server.response 07:52:05.129362 special request received, no persistency 07:52:05.129373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 52088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === 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 ==133085== ==133085== Process terminating with default action of signal 4 (SIGILL) ==133085== Illegal opcode at address 0x4013DC0 ==133085== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133085== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133085== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133085== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1052 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/14/valgrind1053 ../src/curl -q --output log/14/curl1053.out --include --trace-ascii log/14/trace1053 --trace-time http://127.0.0.1:34115/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/14/test1053.txt > log/14/stdout1053 2> log/14/stderr1053 1053: 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/ dir 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/14/valgrind1053 ../src/curl -q --output log/14/curl1053.out --include --trace-ascii log/14/trace1053 --trace-time http://127.0.0.1:34115/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/14/test1053.txt > log/14/stdout1053 2> log/14/stderr1053 === End of file commands.log === Start of file http_server.log 07:52:05.192146 ====> Client connect 07:52:05.192177 accept_connection 3 returned 4 07:52:05.192194 accept_connection 3 returned 0 07:52:05.192209 Read 93 bytes 07:52:05.192220 Process 93 bytes request 07:52:05.192234 Got request: GET /verifiedserver HTTP/1.1 07:52:05.192244 Are-we-friendly question received 07:52:05.192267 Wrote request (93 bytes) input to log/14/server.input 07:52:05.192285 Identifying ourselves as friends 07:52:05.192431 Response sent (56 bytes) and written to log/14/server.response 07:52:05.192442 special request received, no persistency 07:52:05.192452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 44814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === 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 ==133189== ==133189== Process terminating with default action of signal 4 (SIGILL) ==133189== Illegal opcode at address 0x4013DC0 ==133189== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133189== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133189== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133189== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1053 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/15/valgrind1050 ../src/curl -q --output log/15/curl1050.out --include --trace-ascii log/15/trace1050 --trace-time -g "ftp://[::1]:45443/" -P ::1 > log/15/stdout1050 2> log/15/stderr1050 1050: 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/ dir 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/15/valgrind1050 ../src/curl -q --output log/15/curl1050.out --include --trace-ascii log/15/trace1050 --trace-time -g "ftp://[::1]:45443/" -P ::1 > log/15/stdout1050 2> log/15/stderr1050 === End of file commands.log === Start of file ftp_ipv6_server.log 07:52:05.218066 ====> Client connect 07:52:05.218249 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:05.218716 < "USER anonymous" 07:52:05.218758 > "331 We are happy you popped in![CR][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/5/valgrind1054 ../src/curl -q --output log/5/curl1054.out --include --trace-ascii log/5/trace1054 --trace-time http://127.0.0.1:42797/blah/1054 -L -d @log/5/test1054.txt --post301 > log/5/stdout1054 2> log/5/stderr1054 F]" 07:52:05.218951 < "PASS ftp@example.com" 07:52:05.218981 > "230 Welcome you silly person[CR][LF]" 07:52:05.219143 < "PWD" 07:52:05.219175 > "257 "/" is current directory[CR][LF]" 07:52:05.219354 < "EPSV" 07:52:05.219382 ====> Passive DATA channel requested by client 07:52:05.219394 DATA sockfilt for passive data channel starting... 07:52:05.233124 DATA sockfilt for passive data channel started (pid 132993) 07:52:05.238015 DATA sockfilt for passive data channel listens on port 38803 07:52:05.238089 > "229 Entering Passive Mode (|||38803|)[CR][LF]" 07:52:05.238106 Client has been notified that DATA conn will be accepted on port 38803 07:52:05.244640 Client connects to port 38803 07:52:05.244679 ====> Client established passive DATA connection on port 38803 07:52:05.244783 < "TYPE I" 07:52:05.244823 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:05.245022 < "SIZE verifiedserver" 07:52:05.245066 > "213 17[CR][LF]" 07:52:05.245225 < "RETR verifiedserver" 07:52:05.245258 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:05.245348 =====> Closing passive DATA connection... 07:52:05.245364 Server disconnects passive DATA connection 07:52:05.245554 Server disconnected passive DATA connection 07:52:05.245576 DATA sockfilt for passive data channel quits (pid 132993) 07:52:05.245838 DATA sockfilt for passive data channel quit (pid 132993) 07:52:05.245867 =====> Closed passive DATA connection 07:52:05.245895 > "226 File transfer complete[CR][LF]" 07:52:05.298130 < "QUIT" 07:52:05.298183 > "221 bye bye baby[CR][LF]" 07:52:05.299137 MAIN sockfilt said DISC 07:52:05.299177 ====> Client disconnected 07:52:05.301062 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 07:52:05.045873 ====> Client connect 07:52:05.046207 Received DATA (on stdin) 07:52:05.046222 > 160 bytes data, server => client 07:52:05.046235 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:05.046245 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:05.046255 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:05.046466 < 16 bytes data, client => server 07:52:05.046484 'USER anonymous\r\n' 07:52:05.046704 Received DATA (on stdin) 07:52:05.046719 > 33 bytes data, server => client 07:52:05.046731 '331 We are happy you popped in!\r\n' 07:52:05.046790 < 22 bytes data, client => server 07:52:05.046803 'PASS ftp@example.com\r\n' 07:52:05.046923 Received DATA (on stdin) 07:52:05.046936 > 30 bytes data, server => client 07:52:05.046947 '230 Welcome you silly person\r\n' 07:52:05.046997 < 5 bytes data, client => server 07:52:05.047010 'PWD\r\n' 07:52:05.047120 Received DATA (on stdin) 07:52:05.047134 > 30 bytes data, server => client 07:52:05.047146 '257 "/" is current directory\r\n' 07:52:05.047209 < 6 bytes data, client => server 07:52:05.047223 'EPSV\r\n' 07:52:05.069182 Received DATA (on stdin) 07:52:05.069212 > 39 bytes data, server => client 07:52:05.069224 '229 Entering Passive Mode (|||38803|)\r\n' 07:52:05.069404 < 8 bytes data, client => server 07:52:05.069421 'TYPE I\r\n' 07:52:05.072768 Received DATA (on stdin) 07:52:05.072784 > 33 bytes data, server => client 07:52:05.072797 '200 I modify TYPE as you wanted\r\n' 07:52:05.072867 < 21 bytes data, client => server 07:52:05.072879 'SIZE verifiedserver\r\n' 07:52:05.073011 Received DATA (on stdin) 07:52:05.073023 > 8 bytes data, server => client 07:52:05.073034 '213 17\r\n' 07:52:05.073085 < 21 bytes data, client => server 07:52:05.073097 'RETR verifiedserver\r\n' 07:52:05.073420 Received DATA (on stdin) 07:52:05.073435 > 29 bytes data, server => client 07:52:05.073447 '150 Binary junk (17 bytes).\r\n' 07:52:05.073838 Received DATA (on stdin) 07:52:05.073852 > 28 bytes data, server => client 07:52:05.073864 '226 File transfer complete\r\n' 07:52:05.125864 < 6 bytes data, client => server 07:52:05.125902 'QUIT\r\n' 07:52:05.126130 Received DATA (on stdin) 07:52:05.126143 > 18 bytes data, server => client 07:52:05.126155 '221 bye bye baby\r\n' 07:52:05.127012 ====> Client disconnect 07:52:05.127134 Received ACKD (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file ftp_ipv6_sockdata.log 07:52:05.050478 Running IPv6 version 07:52:05.050571 Listening on port 38803 07:52:05.050609 Wrote pid 132993 to log/15/server/ftp_ipv6_sockdata.pid 07:52:05.059186 Received PING (on stdin) 07:52:05.061119 Received PORT (on stdin) 07:52:05.072521 ====> Client connect 07:52:05.073316 Received DATA (on stdin) 07:52:05.073335 > 17 bytes data, server => client 07:52:05.073347 'WE ROOLZ: 90195\r\n' 07:52:05.073380 Received DISC (on stdin) 07:52:05.073392 ====> Client forcibly disconnected 07:52:05.073525 Received QUIT (on stdin) 07:52:05.073537 quits 07:52:05.073600 ============> sockfilt quits === End of file ftp_ipv6_sockdata.log === Start of file server.cmd Testnum 1050 === End of file server.cmd === Start of file valgrind1050 ==133063== ==133063== Process terminating with default action of signal 4 (SIGILL) ==133063== Illegal opcode at address 0x4013DC0 ==133063== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133063== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133063== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133063== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1050 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/5/valgrind1054 ../src/curl -q --output log/5/curl1054.out --include --trace-ascii log/5/trace1054 --trace-time http://127.0.0.1:42797/blah/1054 -L -d @log/5/test1054.txt --post301 > log/5/stdout1054 2> log/5/stderr1054 1054: 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/ dir 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/5/valgrind1054 ../src/curl -q --output log/5/curl1054.out --include --trace-ascii log/5/trace1054 --trace-time http://127.0.0.1:42797/blah/1054 -L -d @log/5/test1054.txt --post301 > log/5/stdout1054 2> log/5/stderr1054 === End of file commands.log === Start of file http_server.log 07:52:05.196942 ====> Client connect 07:52:05.196975 accept_connection 3 returned 4 07:52:05.196992 accept_connection 3 returned 0 07:52:05.197006 Read 93 bytes 07:52:05.197017 Process 93 bytes request 07:52:05.197031 Got request: GET /verifiedserver HTTP/1.1 07:52:05.197041 Are-we-friendly question received 07:52:05.197066 Wrote request (93 bytes) input to log/5/server.input 07:52:05.197082 Identifying ourselves as friends 07:52:05.197133 Response sent (56 bytes) and written to log/5/server.response 07:52:05.197144 special request received, no persistency 07:52:05.197154 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==133169== ==133169== Process terminating with default action of signal 4 (SIGILL) ==133169== Illegal opcode at address 0x4013DC0 ==133169== at 0x4013DC0: 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/23/valgrind1057 ../src/curl -q --output log/23/curl1057.out --include --trace-ascii log/23/trace1057 --trace-time -r -12 ftp://127.0.0.1:39237/1057 > log/23/stdout1057 2> log/23/stderr1057 CMD (33792): ../libtool --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/valgrind1055 ../src/curl -q --output log/10/curl1055.out --include --trace-ascii log/10/trace1055 --trace-time http://127.0.0.1:34041/1055 -L -T log/10/test1055.txt > log/10/stdout1055 2> log/10/stderr1055 arameter (tool_getparam.c:2846) ==133169== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133169== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133169== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1054 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/23/valgrind1057 ../src/curl -q --output log/23/curl1057.out --include --trace-ascii log/23/trace1057 --trace-time -r -12 ftp://127.0.0.1:39237/1057 > log/23/stdout1057 2> log/23/stderr1057 1057: 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/ dir 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/23/valgrind1057 ../src/curl -q --output log/23/curl1057.out --include --trace-ascii log/23/trace1057 --trace-time -r -12 ftp://127.0.0.1:39237/1057 > log/23/stdout1057 2> log/23/stderr1057 === End of file commands.log === Start of file ftp_server.log 07:52:05.458288 ====> Client connect 07:52:05.458460 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:05.458741 < "USER anonymous" 07:52:05.458781 > "331 We are happy you popped in![CR][LF]" 07:52:05.458964 < "PASS ftp@example.com" 07:52:05.458996 > "230 Welcome you silly person[CR][LF]" 07:52:05.459151 < "PWD" 07:52:05.459183 > "257 "/" is current directory[CR][LF]" 07:52:05.459347 < "EPSV" 07:52:05.459372 ====> Passive DATA channel requested by client 07:52:05.459387 DATA sockfilt for passive data channel starting... 07:52:05.461395 DATA sockfilt for passive data channel started (pid 133343) 07:52:05.461514 DATA sockfilt for passive data channel listens on port 42583 07:52:05.461565 > "229 Entering Passive Mode (|||42583|)[CR][LF]" 07:52:05.461587 Client has been notified that DATA conn will be accepted on port 42583 07:52:05.461958 Client connects to port 42583 07:52:05.461997 ====> Client established passive DATA connection on port 42583 07:52:05.462080 < "TYPE I" 07:52:05.462111 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:05.462281 < "SIZE verifiedserver" 07:52:05.462319 > "213 17[CR][LF]" 07:52:05.462469 < "RETR verifiedserver" 07:52:05.462497 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:05.462584 =====> Closing passive DATA connection... 07:52:05.462600 Server disconnects passive DATA connection 07:52:05.462842 Server disconnected passive DATA connection 07:52:05.462868 DATA sockfilt for passive data channel quits (pid 133343) 07:52:05.463118 DATA sockfilt for passive data channel quit (pid 133343) 07:52:05.463141 =====> Closed passive DATA connection 07:52:05.463172 > "226 File transfer complete[CR][LF]" 07:52:05.505836 < "QUIT" 07:52:05.505898 > "221 bye bye baby[CR][LF]" 07:52:05.506862 MAIN sockfilt said DISC 07:52:05.506908 ====> Client disconnected 07:52:05.506986 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:05.286127 ====> Client connect 07:52:05.286417 Received DATA (on stdin) 07:52:05.286433 > 160 bytes data, server => client 07:52:05.286447 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:05.286459 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:05.286470 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:05.286540 < 16 bytes data, client => server 07:52:05.286553 'USER anonymous\r\n' 07:52:05.286727 Received DATA (on stdin) 07:52:05.286740 > 33 bytes data, server => client 07:52:05.286753 '331 We are happy you popped in!\r\n' 07:52:05.286806 < 22 bytes data, client => server 07:52:05.286818 'PASS ftp@example.com\r\n' 07:52:05.286938 Received DATA (on stdin) 07:52:05.286950 > 30 bytes data, server => client 07:52:05.286962 '230 Welcome you silly person\r\n' 07:52:05.287008 < 5 bytes data, client => server 07:52:05.287020 'PWD\r\n' 07:52:05.287125 Received DATA (on stdin) 07:52:05.287137 > 30 bytes data, server => client 07:52:05.287149 '257 "/" is current directory\r\n' 07:52:05.287206 < 6 bytes data, client => server 07:52:05.287218 'EPSV\r\n' 07:52:05.289538 Received DATA (on stdin) 07:52:05.289553 > 39 bytes data, server => client 07:52:05.289566 '229 Entering Passive Mode (|||42583|)\r\n' 07:52:05.289722 < 8 bytes data, client => server 07:52:05.289737 'TYPE I\r\n' 07:52:05.290055 Received DATA (on stdin) 07:52:05.290070 > 33 bytes data, server => client 07:52:05.290082 '200 I modify TYPE as you wanted\r\n' 07:52:05.290138 < 21 bytes data, client => server 07:52:05.290151 'SIZE verifiedserver\r\n' 07:52:05.290262 Received DATA (on stdin) 07:52:05.290275 > 8 bytes data, server => client 07:52:05.290286 '213 17\r\n' 07:52:05.290332 < 21 bytes data, client => server 07:52:05.290344 'RETR verifiedserver\r\n' 07:52:05.290546 Received DATA (on stdin) 07:52:05.290559 > 29 bytes data, server => client 07:52:05.290571 '150 Binary junk (17 bytes).\r\n' 07:52:05.291117 Received DATA (on stdin) 07:52:05.291130 > 28 bytes data, server => client 07:52:05.291143 '226 File transfer complete\r\n' 07:52:05.332755 < 6 bytes data, client => server 07:52:05.332782 'QUIT\r\n' 07:52:05.333854 Received DATA (on stdin) 07:52:05.333874 > 18 bytes data, server => client 07:52:05.333887 '221 bye bye baby\r\n' 07:52:05.334741 ====> Client disconnect 07:52:05.334935 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:05.288917 Running IPv4 version 07:52:05.288981 Listening on port 42583 07:52:05.289016 Wrote pid 133343 to log/23/server/ftp_sockdata.pid 07:52:05.289265 Received PING (on stdin) 07:52:05.289364 Received PORT (on stdin) 07:52:05.289689 ====> Client connect 07:52:05.290599 Received DATA (on stdin) 07:52:05.290613 > 17 bytes data, server => client 07:52:05.290625 'WE ROOLZ: 82431\r\n' 07:52:05.290648 Received DISC (on stdin) 07:52:05.290661 ====> Client forcibly disconnected 07:52:05.290819 Received QUIT (on stdin) 07:52:05.290832 quits 07:52:05.290890 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==133424== ==133424== Process terminating with default action of signal 4 (SIGILL) ==133424== Illegal opcode at address 0x4013DC0 ==133424== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133424== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133424== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133424== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1057 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/10/valgrind1055 ../src/curl -q --output log/10/curl1055.out --include --trace-ascii log/10/trace1055 --trace-time http://127.0.0.1:34041/1055 -L -T log/10/test1055.txt > log/10/stdout1055 2> log/10/stderr1055 1055: 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/ dir 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/10/valgrind1055 ../src/curl -q --output log/10/curl1055.out --include --trace-ascii log/10/trace1055 --trace-time http://127.0.0.1:34041/1055 -L -T log/10/test1055.txt > log/10/stdout1055 2> log/10/stderr1055 === End of file commands.log === Start of file ftp_server.log 07:52:05.448068 ====> Client connect 07:CMD (33792): ../libtool --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/valgrind1058 ../src/curl -q --output log/16/curl1058.out --include --trace-ascii log/16/trace1058 --trace-time http://127.0.0.1:44351/want/1058 -r -101 > log/16/stdout1058 2> log/16/stderr1058 52:05.448227 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:05.448503 < "USER anonymous" 07:52:05.448543 > "331 We are happy you popped in![CR][LF]" 07:52:05.448713 < "PASS ftp@example.com" 07:52:05.448741 > "230 Welcome you silly person[CR][LF]" 07:52:05.448896 < "PWD" 07:52:05.448929 > "257 "/" is current directory[CR][LF]" 07:52:05.449093 < "EPSV" 07:52:05.449118 ====> Passive DATA channel requested by client 07:52:05.449132 DATA sockfilt for passive data channel starting... 07:52:05.451082 DATA sockfilt for passive data channel started (pid 133322) 07:52:05.451189 DATA sockfilt for passive data channel listens on port 36565 07:52:05.451227 > "229 Entering Passive Mode (|||36565|)[CR][LF]" 07:52:05.451251 Client has been notified that DATA conn will be accepted on port 36565 07:52:05.451478 Client connects to port 36565 07:52:05.451507 ====> Client established passive DATA connection on port 36565 07:52:05.451582 < "TYPE I" 07:52:05.451608 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:05.451753 < "SIZE verifiedserver" 07:52:05.451795 > "213 17[CR][LF]" 07:52:05.452037 < "RETR verifiedserver" 07:52:05.452077 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:05.452169 =====> Closing passive DATA connection... 07:52:05.452187 Server disconnects passive DATA connection 07:52:05.452461 Server disconnected passive DATA connection 07:52:05.452490 DATA sockfilt for passive data channel quits (pid 133322) 07:52:05.452717 DATA sockfilt for passive data channel quit (pid 133322) 07:52:05.452739 =====> Closed passive DATA connection 07:52:05.452765 > "226 File transfer complete[CR][LF]" 07:52:05.496978 < "QUIT" 07:52:05.497039 > "221 bye bye baby[CR][LF]" 07:52:05.498151 MAIN sockfilt said DISC 07:52:05.498194 ====> Client disconnected 07:52:05.498278 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:05.275896 ====> Client connect 07:52:05.276180 Received DATA (on stdin) 07:52:05.276196 > 160 bytes data, server => client 07:52:05.276209 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:05.276220 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:05.276230 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:05.276309 < 16 bytes data, client => server 07:52:05.276323 'USER anonymous\r\n' 07:52:05.276488 Received DATA (on stdin) 07:52:05.276501 > 33 bytes data, server => client 07:52:05.276513 '331 We are happy you popped in!\r\n' 07:52:05.276564 < 22 bytes data, client => server 07:52:05.276576 'PASS ftp@example.com\r\n' 07:52:05.276684 Received DATA (on stdin) 07:52:05.276696 > 30 bytes data, server => client 07:52:05.276708 '230 Welcome you silly person\r\n' 07:52:05.276755 < 5 bytes data, client => server 07:52:05.276767 'PWD\r\n' 07:52:05.276871 Received DATA (on stdin) 07:52:05.276883 > 30 bytes data, server => client 07:52:05.276895 '257 "/" is current directory\r\n' 07:52:05.276952 < 6 bytes data, client => server 07:52:05.276964 'EPSV\r\n' 07:52:05.279202 Received DATA (on stdin) 07:52:05.279218 > 39 bytes data, server => client 07:52:05.279230 '229 Entering Passive Mode (|||36565|)\r\n' 07:52:05.279351 < 8 bytes data, client => server 07:52:05.279366 'TYPE I\r\n' 07:52:05.279549 Received DATA (on stdin) 07:52:05.279561 > 33 bytes data, server => client 07:52:05.279573 '200 I modify TYPE as you wanted\r\n' 07:52:05.279624 < 21 bytes data, client => server 07:52:05.279636 'SIZE verifiedserver\r\n' 07:52:05.279743 Received DATA (on stdin) 07:52:05.279758 > 8 bytes data, server => client 07:52:05.279770 '213 17\r\n' 07:52:05.279829 < 21 bytes data, client => server 07:52:05.279842 'RETR verifiedserver\r\n' 07:52:05.280133 Received DATA (on stdin) 07:52:05.280145 > 29 bytes data, server => client 07:52:05.280157 '150 Binary junk (17 bytes).\r\n' 07:52:05.280708 Received DATA (on stdin) 07:52:05.280727 > 28 bytes data, server => client 07:52:05.280740 '226 File transfer complete\r\n' 07:52:05.324707 < 6 bytes data, client => server 07:52:05.324745 'QUIT\r\n' 07:52:05.324993 Received DATA (on stdin) 07:52:05.325010 > 18 bytes data, server => client 07:52:05.325023 '221 bye bye baby\r\n' 07:52:05.326028 ====> Client disconnect 07:52:05.326229 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:05.278700 Running IPv4 version 07:52:05.278763 Listening on port 36565 07:52:05.278798 Wrote pid 133322 to log/10/server/ftp_sockdata.pid 07:52:05.278965 Received PING (on stdin) 07:52:05.279043 Received PORT (on stdin) 07:52:05.279362 ====> Client connect 07:52:05.280223 Received DATA (on stdin) 07:52:05.280240 > 17 bytes data, server => client 07:52:05.280252 'WE ROOLZ: 80620\r\n' 07:52:05.280279 Received DISC (on stdin) 07:52:05.280296 ====> Client forcibly disconnected 07:52:05.280440 Received QUIT (on stdin) 07:52:05.280453 quits 07:52:05.280512 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:05.216987 ====> Client connect 07:52:05.217021 accept_connection 3 returned 4 07:52:05.217039 accept_connection 3 returned 0 07:52:05.217056 Read 93 bytes 07:52:05.217067 Process 93 bytes request 07:52:05.217082 Got request: GET /verifiedserver HTTP/1.1 07:52:05.217092 Are-we-friendly question received 07:52:05.217118 Wrote request (93 bytes) input to log/10/server.input 07:52:05.217136 Identifying ourselves as friends 07:52:05.217194 Response sent (56 bytes) and written to log/10/server.response 07:52:05.217206 special request received, no persistency 07:52:05.217216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 48896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === 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 ==133433== ==133433== Process terminating with default action of signal 4 (SIGILL) ==133433== Illegal opcode at address 0x4013DC0 ==133433== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133433== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133433== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133433== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1055 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/16/valgrind1058 ../src/curl -q --output log/16/curl1058.out --include --trace-ascii log/16/trace1058 --trace-time http://127.0.0.1:44351/want/1058 -r -101 > log/16/stdout1058 2> log/16/stderr1058 1058: 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/ dir 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/16/valgrind1058 ../src/curl -q --output log/16/curl1058.out --include --trace-ascii log/16/trace1058 --trace-time http://127.0.0.1:44351/want/1058 -r -101 > log/16/stdout1058 2> log/16/stderr1058 === 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/11/valgrind1059 ../src/curl -q --output log/11/curl1059.out --include --trace-ascii log/11/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:38169 > log/11/stdout1059 2> log/11/stderr1059 CMD (33792): ../libtool --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/valgrind1060 ../src/curl -q --output log/12/curl1060.out --include --trace-ascii log/12/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:38023 --proxy-user silly:person --proxy-digest --proxytunnel > log/12/stdout1060 2> log/12/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/8/valgrind1061 ../src/curl -q --output log/8/curl1061.out --include --trace-ascii log/8/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:36147 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1061 2> log/8/stderr1061 file commands.log === Start of file http_server.log 07:52:05.298671 ====> Client connect 07:52:05.298704 accept_connection 3 returned 4 07:52:05.298722 accept_connection 3 returned 0 07:52:05.299291 Read 93 bytes 07:52:05.299311 Process 93 bytes request 07:52:05.299326 Got request: GET /verifiedserver HTTP/1.1 07:52:05.299336 Are-we-friendly question received 07:52:05.299366 Wrote request (93 bytes) input to log/16/server.input 07:52:05.299383 Identifying ourselves as friends 07:52:05.299432 Response sent (56 bytes) and written to log/16/server.response 07:52:05.299442 special request received, no persistency 07:52:05.299451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1058 ==133399== ==133399== Process terminating with default action of signal 4 (SIGILL) ==133399== Illegal opcode at address 0x4013DC0 ==133399== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133399== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133399== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133399== by 0x40037A4: main (tool_main.c:199) === 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/11/valgrind1059 ../src/curl -q --output log/11/curl1059.out --include --trace-ascii log/11/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:38169 > log/11/stdout1059 2> log/11/stderr1059 1059: 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/ dir 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/11/valgrind1059 ../src/curl -q --output log/11/curl1059.out --include --trace-ascii log/11/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:38169 > log/11/stdout1059 2> log/11/stderr1059 === End of file commands.log === Start of file http_server.log 07:52:05.435933 ====> Client connect 07:52:05.435971 accept_connection 3 returned 4 07:52:05.435990 accept_connection 3 returned 0 07:52:05.436007 Read 93 bytes 07:52:05.436018 Process 93 bytes request 07:52:05.436030 Got request: GET /verifiedserver HTTP/1.1 07:52:05.436041 Are-we-friendly question received 07:52:05.436065 Wrote request (93 bytes) input to log/11/server.input 07:52:05.436084 Identifying ourselves as friends 07:52:05.436146 Response sent (56 bytes) and written to log/11/server.response 07:52:05.436157 special request received, no persistency 07:52:05.436166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 57800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1059 ==133547== ==133547== Process terminating with default action of signal 4 (SIGILL) ==133547== Illegal opcode at address 0x4013DC0 ==133547== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133547== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133547== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133547== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1059 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/12/valgrind1060 ../src/curl -q --output log/12/curl1060.out --include --trace-ascii log/12/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:38023 --proxy-user silly:person --proxy-digest --proxytunnel > log/12/stdout1060 2> log/12/stderr1060 1060: 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/ dir 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/12/valgrind1060 ../src/curl -q --output log/12/curl1060.out --include --trace-ascii log/12/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:38023 --proxy-user silly:person --proxy-digest --proxytunnel > log/12/stdout1060 2> log/12/stderr1060 === End of file commands.log === Start of file http_server.log 07:52:05.582012 ====> Client connect 07:52:05.582048 accept_connection 3 returned 4 07:52:05.582068 accept_connection 3 returned 0 07:52:05.582085 Read 93 bytes 07:52:05.582097 Process 93 bytes request 07:52:05.582111 Got request: GET /verifiedserver HTTP/1.1 07:52:05.582122 Are-we-friendly question received 07:52:05.582151 Wrote request (93 bytes) input to log/12/server.input 07:52:05.582169 Identifying ourselves as friends 07:52:05.582232 Response sent (56 bytes) and written to log/12/server.response 07:52:05.582244 special request received, no persistency 07:52:05.582254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 49544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1060 ==133712== ==133712== Process terminating with default action of signal 4 (SIGILL) ==133712== Illegal opcode at address 0x4013DC0 ==133712== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133712== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133712== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133712== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1060 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-filCMD (33792): ../libtool --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/valgrind1046 ../src/curl -q --output log/6/curl1046.out --include --trace-ascii log/6/trace1046 --trace-time -g "http://[::1]:39989/1046" --interface ::1 > log/6/stdout1046 2> log/6/stderr1046 CMD (33792): ../libtool --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/valgrind1063 ../src/curl -q --output log/1/curl1063.out --include --trace-ascii log/1/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/1/test1063.txt > log/1/stdout1063 2> log/1/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/21/valgrind1064 ../src/curl -q --include --trace-ascii log/21/trace1064 --trace-time -H "Expect:" -T log/21/1064 http://127.0.0.1:45761/1064.upload1 -T log/21/1064 http://127.0.0.1:45761/10640002.upload2 > log/21/stdout1064 2> log/21/stderr1064 CMD (33792): ../libtool --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/valgrind1062 ../src/curl -q --output log/4/curl1062.out --include --trace-ascii log/4/trace1062 --trace-time ftp://127.0.0.1:37071/path/1062 > log/4/stdout1062 2> log/4/stderr1062 e=log/8/valgrind1061 ../src/curl -q --output log/8/curl1061.out --include --trace-ascii log/8/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:36147 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1061 2> log/8/stderr1061 1061: 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/ dir 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/8/valgrind1061 ../src/curl -q --output log/8/curl1061.out --include --trace-ascii log/8/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:36147 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1061 2> log/8/stderr1061 === End of file commands.log === Start of file http_server.log 07:52:05.625897 ====> Client connect 07:52:05.625936 accept_connection 3 returned 4 07:52:05.625957 accept_connection 3 returned 0 07:52:05.625973 Read 93 bytes 07:52:05.625984 Process 93 bytes request 07:52:05.625999 Got request: GET /verifiedserver HTTP/1.1 07:52:05.626009 Are-we-friendly question received 07:52:05.626036 Wrote request (93 bytes) input to log/8/server.input 07:52:05.626053 Identifying ourselves as friends 07:52:05.626120 Response sent (56 bytes) and written to log/8/server.response 07:52:05.626132 special request received, no persistency 07:52:05.626142 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 60288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1061 ==133746== ==133746== Process terminating with default action of signal 4 (SIGILL) ==133746== Illegal opcode at address 0x4013DC0 ==133746== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133746== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133746== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133746== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1061 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_ipv6_server.pid" --logfile "log/6/http_ipv6_server.log" --logdir "log/6" --portfile log/6/server/http_ipv6_server.port --config log/6/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 132709 port 39989 * pid http-ipv6 => 132709 132709 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/6/valgrind1046 ../src/curl -q --output log/6/curl1046.out --include --trace-ascii log/6/trace1046 --trace-time -g "http://[::1]:39989/1046" --interface ::1 > log/6/stdout1046 2> log/6/stderr1046 1046: 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/ dir 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/6/valgrind1046 ../src/curl -q --output log/6/curl1046.out --include --trace-ascii log/6/trace1046 --trace-time -g "http://[::1]:39989/1046" --interface ::1 > log/6/stdout1046 2> log/6/stderr1046 === End of file commands.log === Start of file http_ipv6_server.log 07:52:04.566612 Running HTTP IPv6 version on port 39989 07:52:04.566745 Wrote pid 132709 to log/6/server/http_ipv6_server.pid 07:52:04.566783 Wrote port 39989 to log/6/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 ==133639== ==133639== Process terminating with default action of signal 4 (SIGILL) ==133639== Illegal opcode at address 0x4013DC0 ==133639== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133639== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133639== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133639== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1046 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/1/valgrind1063 ../src/curl -q --output log/1/curl1063.out --include --trace-ascii log/1/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/1/test1063.txt > log/1/stdout1063 2> log/1/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/1/ dir 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/1/valgrind1063 ../src/curl -q --output log/1/curl1063.out --include --trace-ascii log/1/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/1/test1063.txt > log/1/stdout1063 2> log/1/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 ==133830== ==133830== Process terminating with default action of signal 4 (SIGILL) ==133830== Illegal opcode at address 0x4013DC0 ==133830== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133830== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133830== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133830== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1063 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/21/valgrind1064 ../src/curl -q --include --trace-ascii log/21/trace1064 --trace-time -H "Expect:" -T log/21/1064 http://127.0.0.1:45761/1064.upload1 -T log/21/1064 http://127.0.0.1:45761/10640002.upload2 > log/21/stdout1064 2> log/21/stderr1064 1064: stdout FAILED: --- log/21/check-expected 2025-11-07 07:52:07.420707349 +0000 +++ log/21/check-generated 2025-11-07 07:52:07.420707349 +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/21/ dir 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/21/valgrind1064 ../src/curl -q --include --trace-ascii log/21/trace1064 --trace-time -H "Expect:" -T log/21/1064 http://127.0.0.1:45761/1064.upload1 -T log/21/1064 http://127.0.0.1:45761/10640002.upload2 > log/21/stdout1064 2> log/21/stderr1064 === End of file commands.log === Start of file http_server.log 07:52:05.814583 ====> Client connect 07:52:05.814621 accept_connection 3 returned 4 07:52:05.814640 accept_connection 3 returned 0 07:52:05.814656 Read 93 bytes 07:52:05.814668 Process 93 bytes request 07:52:05.814683 Got request: GET /verifiedserver HTTP/1.1 07:52:05.814694 Are-we-friendly question received 07:52:05.814720 Wrote request (93 bytes) input to log/21/server.input 07:52:05.814738 Identifying ourselves as friends 07:52:05.814798 Response sent (56 bytes) and written to log/21/server.response 07:52:05.814809 special request received, no persistency 07:52:05.814819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1064 ==133941== ==133941== Process terminating with default action of signal 4 (SIGILL) ==133941== Illegal opcode at address 0x4013DC0 ==133941== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133941== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133941== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133941== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1064 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/4/valgrind1062 ../src/curl -q --output log/4/curl1062.out --include --trace-ascii log/4/trace1062 --trace-time ftp://127.0.0.1:37071/path/1062 > log/4/stdout1062 2> log/4/stderr1062 1062: 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/ dir 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/4/valgrind1062 ../src/curl -q --output log/4/curl1062.out --include --trace-ascii log/4/trace1062 --trace-time ftp://127.0.0.1:37071/path/1062 > log/4/stdout1062 2> log/4/stderr1062 === End of file commands.log === Start of file ftp_server.log 07:52:05.826195 ====> Client connect 07:52:05.826355 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:05.826644 < "USER anonymous" 07:52:05.826680 > "331 We are happy you popped in![CR][LF]" 07:52:05.826860 < "PASS ftp@example.com" 07:52:05.826890 > "230 Welcome you silly person[CR][LF]" 07:52:05.827044 < "PWD" 07:52:05.827076 > "257 "/" is current directory[CR][LF]" 07:52:05.827236 < "EPSV" 07:52:05.827261 ====> Passive DATA channel requested by client 07:52:05.827275 DATA sockfilt for passive data channel starting... 07:52:05.838139 DATA sockfilt for passive data channel started (pid 133734) 07:52:05.838259 DATA sockfilt for passive data channel listens on port 37925 07:52:05.838302 > "229 Entering Passive Mode (|||37925|)[CR][LF]" 07:52:05.838323 Client has been notified that DATA conn will be accepted on port 37925 07:52:05.838548 Client connects to port 37925 07:52:05.838580 ====> Client established passive DATA connection on port 37925 07:52:05.838703 < "TYPE I" 07:52:05.838730 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:05.838886 < "SIZE verifiedserver" 07:52:05.838927 > "213 17[CR][LF]" 07:52:05.839073 < "RETR verifiedserver" 07:52:05.839112 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:05.839200 =====> Closing passive DATA connection... 07:52:05.839216 Server disconnects passive DATA connection 07:52:05.839330 Server disconnected passive DATA connection 07:52:05.839351 DATA sockfilt for passive data channel quits (pid 133734) 07:52:05.839618 DATA sockfilt for passive data channel quit (pid 133734) 07:52:05.839640 =====> Closed passive DATA connection 07:52:05.839667 > "226 File transfer complete[CR][LF]" 07:52:05.884897 < "QUIT" 07:52:05.884951 > "221 bye bye baby[CR][LF]" 07:52:05.885688 MAIN sockfilt said DISC 07:52:05.885729 ====> Client disconnected 07:52:05.885804 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:05.654014 ====> Client connect 07:52:05.654312 Received DATA (on stdin) 07:52:05.654328 > 160 bytes data, server => client 07:52:05.654340 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:05.654351 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:05.654362 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:05.654439 < 16 bytes data, client => server 07:52:05.654452 'USER anonymous\r\n' 07:52:05.654626 Received DATA (on stdin) 07:52:05.654640 > 33 bytes data, server => client 07:52:05.654653 '331 We are happy you popped in!\r\n' 07:52:05.654705 < 22 bytes data, client => server 07:52:05.654719 'PASS ftp@example.com\r\n' 07:52:05.654833 Received DATA (on stdin) 07:52:05.654845 > 30 bytes data, server => client 07:52:05.654857 '230 Welcome you silly person\r\n' 07:52:05.654904 < 5 bytes data, client => server 07:52:05.654915 'PWD\r\n' 07:52:05.655019 Received DATA (on stdin) 07:52:05.655031 > 30 bytes data, server => client 07:52:05.655043 '257 "/" is current directory\r\n' 07:52:05.655098 < 6 bytes data, client => server 07:52:05.655110 'EPSV\r\n' 07:52:05.666272 Received DATA (on stdin) 07:52:05.666288 > 39 bytes data, server => client 07:52:05.666300 '229 Entering Passive Mode (|||37925|)\r\n' 07:52:05.666543 < 8 bytes data, client => server 07:52:05.666556 'TYPE I\r\n' 07:52:05.666673 Received DATA (on stdin) 07:52:05.666685 > 33 bytes data, server => client 07:52:05.666697 '200 I modify TYPE as you wanted\r\n' 07:52:05.666747 < 21 bytes data, client => server 07:52:05.666759 'SIZE verifiedserver\r\n' 07:52:05.666868 Received DATA (on stdin) 07:52:05.666880 > 8 bytes data, server => client 07:52:05.666891 '213 17\r\n' 07:52:05.666936 < 21 bytes data, client => server 07:52:05.666947 'RETR verifiedserver\r\n' 07:52:05.667610 Received DATA (on stdin) 07:52:05.667624 > 29 bytes data, server => client 07:52:05.667636 '150 Binary junk (17 bytes).\r\n' 07:52:05.667658 Received DATA (on stdin) 07:52:05.667670 > 28 bytes data, server => client 07:52:05.667681 '226 File transfer complete\r\n' 07:52:05.712629 < 6 bytes data, client => server 07:52:05.712668 'QUIT\r\n' 07:52:05.712902 Received DATA (on stdin) 07:52:05.712917 > 18 bytes data, server => client 07:52:05.712929 '221 bye bye baby\r\n' 07:52:05.713565 ====> Client disconnect 07:52:05.713752 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:05.664198 Running IPv4 version 07:52:05.664270 Listening on port 37925 07:52:05.664321 Wrote pid 133734 to log/4/server/ftp_sockdata.pid 07:52:05.666004 Received PING (on stdin) 07:52:05.666112 Received PORT (on stdin) 07:52:05.666440 ====> Client connect 07:52:05.667159 Received DATA (on stdin) 07:52:05.667174 > 17 bytes data, server => client 07:52:05.667185 'WE ROOLZ: 80637\r\n' 07:52:05.667211 Received DISC (on stdin) 07:52:05.667223 ====> Client forcibly disconnected 07:52:05.667297 Received QUIT (on stdin) 07:52:05.667308 quits 07:52:05.667375 ============> 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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/7/valgrind1065 ../src/curl -q --include --trace-ascii log/7/trace1065 --trace-time -H "Expect:" -T log/7/1065 http://127.0.0.1:39661/1065.upload1 http://127.0.0.1:39661/10650002.url2 > log/7/stdout1065 2> log/7/stderr1065 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-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 ==133798== ==133798== Process terminating with default action of signal 4 (SIGILL) ==133798== Illegal opcode at address 0x4013DC0 ==133798== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133798== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133798== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133798== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1062 CMD (33792): ../libtool --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/valgrind1068 ../src/curl -q --output log/13/curl1068.out --include --trace-ascii log/13/trace1068 --trace-time http://127.0.0.1:35041/bzz/1068 -T - log/13/stdout1068 2> log/13/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/24/valgrind1048 ../src/curl -q --output log/24/curl1048.out --include --trace-ascii log/24/trace1048 --trace-time -g "ftp://[::1]:46369/" --interface ::1 > log/24/stdout1048 2> log/24/stderr1048 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/7/valgrind1065 ../src/curl -q --include --trace-ascii log/7/trace1065 --trace-time -H "Expect:" -T log/7/1065 http://127.0.0.1:39661/1065.upload1 http://127.0.0.1:39661/10650002.url2 > log/7/stdout1065 2> log/7/stderr1065 1065: stdout FAILED: --- log/7/check-expected 2025-11-07 07:52:07.444040682 +0000 +++ log/7/check-generated 2025-11-07 07:52:07.444040682 +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/7/ dir 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/7/valgrind1065 ../src/curl -q --include --trace-ascii log/7/trace1065 --trace-time -H "Expect:" -T log/7/1065 http://127.0.0.1:39661/1065.upload1 http://127.0.0.1:39661/10650002.url2 > log/7/stdout1065 2> log/7/stderr1065 === End of file commands.log === Start of file http_server.log 07:52:06.831799 ====> Client connect 07:52:06.831832 accept_connection 3 returned 4 07:52:06.831849 accept_connection 3 returned 0 07:52:06.831864 Read 93 bytes 07:52:06.831874 Process 93 bytes request 07:52:06.831888 Got request: GET /verifiedserver HTTP/1.1 07:52:06.831898 Are-we-friendly question received 07:52:06.831921 Wrote request (93 bytes) input to log/7/server.input 07:52:06.831939 Identifying ourselves as friends 07:52:06.831991 Response sent (56 bytes) and written to log/7/server.response 07:52:06.832002 special request received, no persistency 07:52:06.832012 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 55614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1065 ==133958== ==133958== Process terminating with default action of signal 4 (SIGILL) ==133958== Illegal opcode at address 0x4013DC0 ==133958== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133958== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133958== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133958== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1065 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/13/valgrind1068 ../src/curl -q --output log/13/curl1068.out --include --trace-ascii log/13/trace1068 --trace-time http://127.0.0.1:35041/bzz/1068 -T - log/13/stdout1068 2> log/13/stderr1068 1068: 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/ dir 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/13/valgrind1068 ../src/curl -q --output log/13/curl1068.out --include --trace-ascii log/13/trace1068 --trace-time http://127.0.0.1:35041/bzz/1068 -T - log/13/stdout1068 2> log/13/stderr1068 === End of file commands.log === Start of file http_server.log 07:52:05.940760 ====> Client connect 07:52:05.940794 accept_connection 3 returned 4 07:52:05.940811 accept_connection 3 returned 0 07:52:05.941125 Read 93 bytes 07:52:05.941141 Process 93 bytes request 07:52:05.941155 Got request: GET /verifiedserver HTTP/1.1 07:52:05.941165 Are-we-friendly question received 07:52:05.941196 Wrote request (93 bytes) input to log/13/server.input 07:52:05.941213 Identifying ourselves as friends 07:52:05.941263 Response sent (56 bytes) and written to log/13/server.response 07:52:05.941274 special request received, no persistency 07:52:05.941283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 57800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === 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 ==134131== ==134131== Process terminating with default action of signal 4 (SIGILL) ==134131== Illegal opcode at address 0x4013DC0 ==134131== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134131== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134131== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134131== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1068 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_ipv6_server.pid" --logfile "log/24/ftp_ipv6_server.log" --logdir "log/24" --portfile "log/24/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46369 (log/24/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 132914 port 46369 * pid ftp-ipv6 => 132914 132914 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/24/valgrind1048 ../src/curl -q --output log/24/curl1048.out --include --trace-ascii log/24/trace1048 --trace-time -g "ftp://[::1]:46369/" --interface ::1 > log/24/stdout1048 2> log/24/stderr1048 1048: 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/ dir 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/24/valgrind1048 ../src/curl -q --output log/24/curl1048.out --include --trace-ascii log/24/trace1048 --trace-time -g "ftp://[::1]:46369/" --interface ::1 > log/24/stdout1048 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/3/valgrind1067 ../src/curl -q --output log/3/curl1067.out --include --trace-ascii log/3/trace1067 --trace-time http://127.0.0.1:34059/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/3/stdout1067 2> log/3/stderr1067 log/24/stderr1048 === End of file commands.log === Start of file ftp_ipv6_server.log 07:52:05.079407 FTP server listens on port IPv6/46369 07:52:05.079499 logged pid 132914 in log/24/server/ftp_ipv6_server.pid 07:52:05.079527 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 07:52:05.906931 Running IPv6 version 07:52:05.907007 Listening on port 46369 07:52:05.907043 Wrote pid 132934 to log/24/server/ftp_ipv6_sockctrl.pid 07:52:05.907071 Wrote port 46369 to log/24/server/ftp_ipv6_server.port 07:52:05.907240 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 ==133938== ==133938== Process terminating with default action of signal 4 (SIGILL) ==133938== Illegal opcode at address 0x4013DC0 ==133938== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==133938== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133938== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==133938== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1048 CMD (33792): ../libtool --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/valgrind1069 ../src/curl -q --output log/17/curl1069.out --include --trace-ascii log/17/trace1069 --trace-time http://127.0.0.1:42601/bzz/1069 -T - -0 log/17/stdout1069 2> log/17/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/2/valgrind1066 ../src/curl -q --include --trace-ascii log/2/trace1066 --trace-time http://127.0.0.1:43955/want/1066 http://127.0.0.1:43955/want/10660001 --dump-header - > log/2/stdout1066 2> log/2/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/19/valgrind1049 ../src/curl -q --output log/19/curl1049.out --include --trace-ascii log/19/trace1049 --trace-time tftp://127.0.0.1:39440//1049 --interface 127.0.0.1 > log/19/stdout1049 2> log/19/stderr1049 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/3/valgrind1067 ../src/curl -q --output log/3/curl1067.out --include --trace-ascii log/3/trace1067 --trace-time http://127.0.0.1:34059/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/3/stdout1067 2> log/3/stderr1067 1067: stderr FAILED: --- log/3/check-expected 2025-11-07 07:52:07.574040683 +0000 +++ log/3/check-generated 2025-11-07 07:52:07.574040683 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:34059/want/1067| == Contents of files in the log/3/ dir after test 1067 === Start of file check-expected |http://127.0.0.1:34059/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/3/valgrind1067 ../src/curl -q --output log/3/curl1067.out --include --trace-ascii log/3/trace1067 --trace-time http://127.0.0.1:34059/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/3/stdout1067 2> log/3/stderr1067 === End of file commands.log === Start of file http_server.log 07:52:06.972571 ====> Client connect 07:52:06.972612 accept_connection 3 returned 4 07:52:06.972632 accept_connection 3 returned 0 07:52:06.972649 Read 93 bytes 07:52:06.972661 Process 93 bytes request 07:52:06.972674 Got request: GET /verifiedserver HTTP/1.1 07:52:06.972685 Are-we-friendly question received 07:52:06.972713 Wrote request (93 bytes) input to log/3/server.input 07:52:06.972732 Identifying ourselves as friends 07:52:06.972797 Response sent (56 bytes) and written to log/3/server.response 07:52:06.972810 special request received, no persistency 07:52:06.972821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 33530 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1067 ==134249== ==134249== Process terminating with default action of signal 4 (SIGILL) ==134249== Illegal opcode at address 0x4013DC0 ==134249== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134249== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134249== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134249== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1067 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/17/valgrind1069 ../src/curl -q --output log/17/curl1069.out --include --trace-ascii log/17/trace1069 --trace-time http://127.0.0.1:42601/bzz/1069 -T - -0 log/17/stdout1069 2> log/17/stderr1069 curl returned 132, when expecting 25 1069: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind1069 ../src/curl -q --output log/17/curl1069.out --include --trace-ascii log/17/trace1069 --trace-time http://127.0.0.1:42601/bzz/1069 -T - -0 log/17/stdout1069 2> log/17/stderr1069 === End of file commands.log === Start of file http_server.log 07:52:07.003624 ====> Client connect 07:52:07.003662 accept_connection 3 returned 4 07:52:07.003680 accept_connection 3 returned 0 07:52:07.003695 Read 93 bytes 07:52:07.003707 Process 93 bytes request 07:52:07.003722 Got request: GET /verifiedserver HTTP/1.1 07:52:07.003732 Are-we-friendly question received 07:52:07.003756 Wrote request (93 bytes) input to log/17/server.input 07:52:07.003773 Identifying ourselves as friends 07:52:07.003826 Response sent (56 bytes) and written to log/17/server.response 07:52:07.003837 special request received, no persistency 07:52:07.003847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 35072 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file stdin-for-1069 this data can't be sent === End of file stdin-for-1069 === Start of file valgrind1069 ==134258== ==134258== Process terminating with default action of signal 4 (SIGILL) ==134258== Illegal opcode at address 0x4013DC0 ==134258== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134258== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134258== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134258== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1069 CMD (33792): ../libtool --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/valgrind1056 ../src/curl -q --output log/18/curl1056.out --include --trace-ascii log/18/trace1056 --trace-time http://127.0.0.1:46763/we/are/all/twits/1056 -L > log/18/stdout1056 2> log/18/stderr1056 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/2/valgrind1066 ../src/curl -q --include --trace-ascii log/2/trace1066 --trace-time http://127.0.0.1:43955/want/1066 http://127.0.0.1:43955/want/10660001 --dump-header - > log/2/stdout1066 2> log/2/stderr1066 1066: stdout FAILED: --- log/2/check-expected 2025-11-07 07:52:07.607374017 +0000 +++ log/2/check-generated 2025-11-07 07:52:07.607374017 +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/2/ dir 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/2/valgrind1066 ../src/curl -q --include --trace-ascii log/2/trace1066 --trace-time http://127.0.0.1:43955/want/1066 http://127.0.0.1:43955/want/10660001 --dump-header - > log/2/stdout1066 2> log/2/stderr1066 === End of file commands.log === Start of file http_server.log 07:52:06.935506 ====> Client connect 07:52:06.935543 accept_connection 3 returned 4 07:52:06.935562 accept_connection 3 returned 0 07:52:06.935580 Read 93 bytes 07:52:06.935592 Process 93 bytes request 07:52:06.935606 Got request: GET /verifiedserver HTTP/1.1 07:52:06.935617 Are-we-friendly question received 07:52:06.935645 Wrote request (93 bytes) input to log/2/server.input 07:52:06.935664 Identifying ourselves as friends 07:52:06.935735 Response sent (56 bytes) and written to log/2/server.response 07:52:06.935749 special request received, no persistency 07:52:06.935760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 37178 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1066 ==134137== ==134137== Process terminating with default action of signal 4 (SIGILL) ==134137== Illegal opcode at address 0x4013DC0 ==134137== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134137== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134137== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134137== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1066 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/19/server/tftp_server.pid" --portfile "log/19/server/tftp_server.port" --logfile "log/19/tftp_server.log" --logdir "log/19" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 132939 port 39440 * pid tftp => 132939 132939 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/19/valgrind1049 ../src/curl -q --output log/19/curl1049.out --include --trace-ascii log/19/trace1049 --trace-time tftp://127.0.0.1:39440//1049 --interface 127.0.0.1 > log/19/stdout1049 2> log/19/stderr1049 1049: 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/ dir 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/19/valgrind1049 ../src/curl -q --output log/19/curl1049.out --include --trace-ascii log/19/trace1049 --trace-time tftp://127.0.0.1:39440//1049 --interface 127.0.0.1 > log/19/stdout1049 2> log/19/stderr1049 === End of file commands.log === Start of file server.cmd Testnum 1049 === End of file server.cmd === Start of file tftp_server.log 07:52:05.979774 Wrote pid 132939 to log/19/server/tftp_server.pid 07:52:05.979829 Wrote port 39440 to log/19/server/tftp_server.port 07:52:05.979843 Running IPv4 version on port UDP/39440 === End of file tftp_server.log === Start of file valgrind1049 ==134136== ==134136== Process terminating with default action of signal 4 (SIGILL) ==134136== Illegal opcode at address 0x4013DC0 ==134136== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134136== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134136== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134136== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1049 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_ipv6_server.pid" --logfile "log/18/http_ipv6_server.log" --logdir "log/18" --portfile log/18/server/http_ipv6_server.port --config log/18/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 133221 port 33417 * pid http-ipv6 => 133221 133221 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/18/valgrind1056 ../src/curl -q --output log/18/curl1056.out --include --trace-ascii log/18/trace1056 --trace-time http://127.0.0.1:46763/we/are/all/twits/1056 -L > log/18/stdout1056 2> log/18/stderr1056 1056: 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/ dir 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/18/valgrind1056 ../src/curl -q --output log/18/curl1056.out --include --trace-ascii log/18/trace1056 --trace-time http://127.0.0.1:46763/we/are/all/twits/1056 -L > log/18/stdout1056 2> log/18/stderr1056 === End of file commands.log === Start of file http_ipv6_server.log 07:52:05.260099 Running HTTP IPv6 version on port 33417 07:52:05.260190 Wrote pid 133221 to log/18/server/http_ipv6_server.pid 07:52:05.260220 Wrote port 33417 to log/18/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 07:52:06.237149 ====> Client connect 07:52:06.237182 accept_connection 3 returned 4 07:52:06.237200 accept_connection 3 returned CMD (33792): ../libtool --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/valgrind1070 ../src/curl -q --output log/20/curl1070.out --include --trace-ascii log/20/trace1070 --trace-time -d @log/20/input1070 http://127.0.0.1:40357/1070 -H "Expect: 100-continue" > log/20/stdout1070 2> log/20/stderr1070 CMD (33792): ../libtool --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/valgrind1072 ../src/curl -q --output log/9/curl1072.out --include --trace-ascii log/9/trace1072 --trace-time http://127.0.0.1:42717/1072 -T - -u testuser:testpass --anyauth log/9/stdout1072 2> log/9/stderr1072 0 07:52:06.237214 Read 93 bytes 07:52:06.237225 Process 93 bytes request 07:52:06.237240 Got request: GET /verifiedserver HTTP/1.1 07:52:06.237250 Are-we-friendly question received 07:52:06.237274 Wrote request (93 bytes) input to log/18/server.input 07:52:06.237290 Identifying ourselves as friends 07:52:06.237343 Response sent (56 bytes) and written to log/18/server.response 07:52:06.237354 special request received, no persistency 07:52:06.237363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 32858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1056 ==134452== ==134452== Process terminating with default action of signal 4 (SIGILL) ==134452== Illegal opcode at address 0x4013DC0 ==134452== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134452== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134452== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134452== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1056 test 1070...[HTTP POST 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/20/valgrind1070 ../src/curl -q --output log/20/curl1070.out --include --trace-ascii log/20/trace1070 --trace-time -d @log/20/input1070 http://127.0.0.1:40357/1070 -H "Expect: 100-continue" > log/20/stdout1070 2> log/20/stderr1070 1070: 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/ dir 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/20/valgrind1070 ../src/curl -q --output log/20/curl1070.out --include --trace-ascii log/20/trace1070 --trace-time -d @log/20/input1070 http://127.0.0.1:40357/1070 -H "Expect: 100-continue" > log/20/stdout1070 2> log/20/stderr1070 === End of file commands.log === Start of file http_server.log 07:52:06.320676 ====> Client connect 07:52:06.320712 accept_connection 3 returned 4 07:52:06.320729 accept_connection 3 returned 0 07:52:06.320744 Read 93 bytes 07:52:06.320754 Process 93 bytes request 07:52:06.320769 Got request: GET /verifiedserver HTTP/1.1 07:52:06.320778 Are-we-friendly question received 07:52:06.320805 Wrote request (93 bytes) input to log/20/server.input 07:52:06.320823 Identifying ourselves as friends 07:52:06.320878 Response sent (56 bytes) and written to log/20/server.response 07:52:06.320889 special request received, no persistency 07:52:06.320898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 39266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1070 ==134492== ==134492== Process terminating with default action of signal 4 (SIGILL) ==134492== Illegal opcode at address 0x4013DC0 ==134492== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134492== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134492== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134492== by 0x40037A4: main (tool_main.c:199) === 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/9/valgrind1072 ../src/curl -q --output log/9/curl1072.out --include --trace-ascii log/9/trace1072 --trace-time http://127.0.0.1:42717/1072 -T - -u testuser:testpass --anyauth log/9/stdout1072 2> log/9/stderr1072 1072: 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/ dir 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/9/valgrind1072 ../src/curl -q --output log/9/curl1072.out --include --trace-ascii log/9/trace1072 --trace-time http://127.0.0.1:42717/1072 -T - -u testuser:testpass --anyauth log/9/stdout1072 2> log/9/CMD (33792): ../libtool --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/valgrind1074 ../src/curl -q --include --trace-ascii log/15/trace1074 --trace-time http://127.0.0.1:43789/want/1074 http://127.0.0.1:43789/wantmore/10740001 > log/15/stdout1074 2> log/15/stderr1074 stderr1072 === End of file commands.log === Start of file http_server.log 07:52:06.549533 ====> Client connect 07:52:06.549572 accept_connection 3 returned 4 07:52:06.549601 accept_connection 3 returned 0 07:52:06.549617 Read 93 bytes 07:52:06.549628 Process 93 bytes request 07:52:06.549643 Got request: GET /verifiedserver HTTP/1.1 07:52:06.549653 Are-we-friendly question received 07:52:06.549678 Wrote request (93 bytes) input to log/9/server.input 07:52:06.549695 Identifying ourselves as friends 07:52:06.549755 Response sent (56 bytes) and written to log/9/server.response 07:52:06.549766 special request received, no persistency 07:52:06.549776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 52090 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === 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 ==134667== ==134667== Process terminating with default action of signal 4 (SIGILL) ==134667== Illegal opcode at address 0x4013DC0 ==134667== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1072 CMD (33792): ../libtool --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/valgrind1071 ../src/curl -q --output log/22/curl1071.out --include --trace-ascii log/22/trace1071 --trace-time http://127.0.0.1:40377/1071 -T log/22/put1071 -u testuser:testpass --anyauth > log/22/stdout1071 2> log/22/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/23/valgrind1076 ../src/curl -q --output log/23/curl1076.out --include --trace-ascii log/23/trace1076 --trace-time http://127.0.0.1:41029/blah/1076 -L -d "moo" --post302 > log/23/stdout1076 2> log/23/stderr1076 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/15/valgrind1074 ../src/curl -q --include --trace-ascii log/15/trace1074 --trace-time http://127.0.0.1:43789/want/1074 http://127.0.0.1:43789/wantmore/10740001 > log/15/stdout1074 2> log/15/stderr1074 1074: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:08.130707355 +0000 +++ log/15/check-generated 2025-11-07 07:52:08.130707355 +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/15/ dir 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/15/valgrind1074 ../src/curl -q --include --trace-ascii log/15/trace1074 --trace-time http://127.0.0.1:43789/want/1074 http://127.0.0.1:43789/wantmore/10740001 > log/15/stdout1074 2> log/15/stderr1074 === End of file commands.log === Start of file http_server.log 07:52:06.528936 ====> Client connect 07:52:06.528974 accept_connection 3 returned 4 07:52:06.528992 accept_connection 3 returned 0 07:52:06.529007 Read 93 bytes 07:52:06.529018 Process 93 bytes request 07:52:06.529034 Got request: GET /verifiedserver HTTP/1.1 07:52:06.529045 Are-we-friendly question received 07:52:06.529071 Wrote request (93 bytes) input to log/15/server.input 07:52:06.529089 Identifying ourselves as friends 07:52:06.529145 Response sent (56 bytes) and written to log/15/server.response 07:52:06.529157 special request received, no persistency 07:52:06.529179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 48890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1074 ==134638== ==134638== Process terminating with default action of signal 4 (SIGILL) ==134638== Illegal opcode at address 0x4013DC0 ==134638== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134638== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134638== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134638== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1074 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/22/valgrind1071 ../src/curl -q --output log/22/curl1071.out --include --trace-ascii log/22/trace1071 --trace-time http://127.0.0.1:40377/1071 -T log/22/put1071 -u testuser:testpass --anyauth > log/22/stdout1071 2> log/22/stderr1071 1071: 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/ dir 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/22/valgrind1071 ../src/curl -q --output log/22/curl1071.out --include --trace-ascii log/22/trace1071 --trace-time http://127.0.0.1:40377/1071 -T log/22/put1071 -u testuser:testpass --anyauth > log/22/stdout1071 2> log/22/stderr1071 === End of file commands.log === Start of file http_server.log 07:52:06.495152 ====> Client connect 07:52:06.495186 accept_connection 3 returned 4 07:52:06.495203 accept_connection 3 returned 0 07:52:06.497193 Read 93 bytes 07:52:06.497215 Process 93 bytes request 07:52:06.497229 Got request: GET /verifiedserver HTTP/1.1 07:52:06.497239 Are-we-friendly question received 07:52:06.497271 Wrote request (93 bytes) input to log/22/server.input 07:52:06.497290 Identifying ourselves as friends 07:52:06.497343 Response sent (56 bytes) and written to log/22/server.response 07:52:06.497354 special request received, no persistency 07:52:06.497363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 58374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1071 ==134632== ==134632== Process terminating with default action of signal 4 (SIGILL) ==134632== Illegal opcode at address 0x4013DC0 ==134632== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134632== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134632== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134632== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1071 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/23/valgrind1076 ../src/curl -q --output log/23/curl1076.out --include --trace-ascii log/23/trace1076 --trace-time http://127.0.0.1:41029/blah/1076 -L -d "moo" --post302 > log/23/stdout1076 2> log/23/stderr1076 1076: 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/ dir 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/23/valgrind1076 ../src/curl -q --output log/23/curl1076.out --include --trace-ascii log/23/trace1076 --trace-time http://127.0.0.1:41029/blah/1076 -L -d "moo" --post302 > log/23/stdout1076 2> log/23/stderr1076 === End of file commands.log === Start of file http_server.log 07:52:06.711555 ====> Client connect 07:52:06.711594 accept_connection 3 returned 4 07:52:06.711613 accept_connection 3 returned 0 07:52:06.711630 Read 93 bytes 07:52:06.711642 Process 93 bytes request 07:52:06.711658 Got request: GET /verifiedserver HTTP/1.1 07:52:06.711669 Are-we-friendly question received 07:52:06.711700 Wrote request (93 bytes) input to log/23/CMD (33792): ../libtool --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/valgrind1073 ../src/curl -q --output log/14/curl1073.out --include --trace-ascii log/14/trace1073 --trace-time http://127.0.0.1:34115/1073 -T - -L log/14/stdout1073 2> log/14/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/valgrind1075 ../src/curl -q --output log/5/curl1075.out --include --trace-ascii log/5/trace1075 --trace-time http://127.0.0.1:42797/1075 -T log/5/put1075 -u testuser:testpass --anyauth > log/5/stdout1075 2> log/5/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/11/valgrind1079 ../src/curl -q --output log/11/curl1079.out --include --trace-ascii log/11/trace1079 --trace-time http://127.0.0.1:38169/1079 -u testuser:testpass --digest > log/11/stdout1079 2> log/11/stderr1079 server.input 07:52:06.711720 Identifying ourselves as friends 07:52:06.711783 Response sent (56 bytes) and written to log/23/server.response 07:52:06.711796 special request received, no persistency 07:52:06.711807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 38996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1076 ==134907== ==134907== Process terminating with default action of signal 4 (SIGILL) ==134907== Illegal opcode at address 0x4013DC0 ==134907== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134907== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134907== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134907== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1076 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/14/valgrind1073 ../src/curl -q --output log/14/curl1073.out --include --trace-ascii log/14/trace1073 --trace-time http://127.0.0.1:34115/1073 -T - -L log/14/stdout1073 2> log/14/stderr1073 1073: 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/ dir 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/14/valgrind1073 ../src/curl -q --output log/14/curl1073.out --include --trace-ascii log/14/trace1073 --trace-time http://127.0.0.1:34115/1073 -T - -L log/14/stdout1073 2> log/14/stderr1073 === End of file commands.log === Start of file http_server.log 07:52:06.569476 ====> Client connect 07:52:06.569511 accept_connection 3 returned 4 07:52:06.569529 accept_connection 3 returned 0 07:52:06.572648 Read 93 bytes 07:52:06.572670 Process 93 bytes request 07:52:06.572685 Got request: GET /verifiedserver HTTP/1.1 07:52:06.572695 Are-we-friendly question received 07:52:06.572727 Wrote request (93 bytes) input to log/14/server.input 07:52:06.572745 Identifying ourselves as friends 07:52:06.572796 Response sent (56 bytes) and written to log/14/server.response 07:52:06.572808 special request received, no persistency 07:52:06.572817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 44816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === 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 ==134686== ==134686== Process terminating with default action of signal 4 (SIGILL) ==134686== Illegal opcode at address 0x4013DC0 ==134686== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134686== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134686== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134686== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1073 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/5/valgrind1075 ../src/curl -q --output log/5/curl1075.out --include --trace-ascii log/5/trace1075 --trace-time http://127.0.0.1:42797/1075 -T log/5/put1075 -u testuser:testpass --anyauth > log/5/stdout1075 2> log/5/stderr1075 1075: 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/ dir 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/5/valgrind1075 ../src/curl -q --output log/5/curl1075.out --include --trace-ascii log/5/trace1075 --trace-time http://127.0.0.1:42797/1075 -T log/5/put1075 -u testuser:testpass --anyauth > log/5/stdout1075 2> log/5/stderr1075 === End of file commands.log === Start of file http_server.log 07:52:06.672582 ====> Client connect 07:52:06.672630 accept_connection 3 returned 4 07:52:06.672650 accept_connection 3 returned 0 07:52:06.672668 Read 93 bytes 07:52:06.672679 Process 93 bytes request 07:52:06.672693 Got request: GET /verifiedserver HTTP/1.1 07:52:06.672704 Are-we-friendly question received 07:52:06.672732 Wrote request (93 bytes) input to log/5/server.input 07:52:06.672750 Identifying ourselves as friends 07:52:06.672827 Response sent (56 bytes) and written to log/5/server.response 07:52:06.672840 special request received, no persistency 07:52:06.672851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 39590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1075 ==134834== ==134834== Process terminating with default action of signal 4 (SIGILL) ==134834== Illegal opcode at address 0x4013DC0 ==134834== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134834== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134834== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134834== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1075 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/11/valgrind1079 ../src/curl -q --output log/11/curl1079.out --include --trace-ascii log/11/trace1079 --trace-time http://127.0.0.1:38169/1079 -u testuser:testpass --digest > log/11/stdout1079 2> log/11/stderr1079 1079: protocol FAILEDCMD (33792): ../libtool --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/valgrind1077 ../src/curl -q --output log/10/curl1077.out --include --trace-ascii log/10/trace1077 --trace-time -x 127.0.0.1:34041 ftp://127.0.0.1:34041/we/want/that/page/1077 ftp://127.0.0.1:34041/we/want/that/page/10770002 > log/10/stdout1077 2> log/10/stderr1077 CMD (33792): ../libtool --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/valgrind1082 ../src/curl -q --output log/6/curl1082.out --include --trace-ascii log/6/trace1082 --trace-time http://127.0.0.1:45933/1082 -4 --interface 127.0.0.1 > log/6/stdout1082 2> log/6/stderr1082 ! 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/ dir 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/11/valgrind1079 ../src/curl -q --output log/11/curl1079.out --include --trace-ascii log/11/trace1079 --trace-time http://127.0.0.1:38169/1079 -u testuser:testpass --digest > log/11/stdout1079 2> log/11/stderr1079 === End of file commands.log === Start of file http_server.log 07:52:06.956666 ====> Client connect 07:52:06.956701 accept_connection 3 returned 4 07:52:06.956721 accept_connection 3 returned 0 07:52:06.956736 Read 93 bytes 07:52:06.956748 Process 93 bytes request 07:52:06.956763 Got request: GET /verifiedserver HTTP/1.1 07:52:06.956774 Are-we-friendly question received 07:52:06.956832 Wrote request (93 bytes) input to log/11/server.input 07:52:06.956850 Identifying ourselves as friends 07:52:06.956909 Response sent (56 bytes) and written to log/11/server.response 07:52:06.956921 special request received, no persistency 07:52:06.956932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 57814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1079 ==135080== ==135080== Process terminating with default action of signal 4 (SIGILL) ==135080== Illegal opcode at address 0x4013DC0 ==135080== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135080== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135080== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135080== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1079 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/10/valgrind1077 ../src/curl -q --output log/10/curl1077.out --include --trace-ascii log/10/trace1077 --trace-time -x 127.0.0.1:34041 ftp://127.0.0.1:34041/we/want/that/page/1077 ftp://127.0.0.1:34041/we/want/that/page/10770002 > log/10/stdout1077 2> log/10/stderr1077 1077: 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/ dir 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/10/valgrind1077 ../src/curl -q --output log/10/curl1077.out --include --trace-ascii log/10/trace1077 --trace-time -x 127.0.0.1:34041 ftp://127.0.0.1:34041/we/want/that/page/1077 ftp://127.0.0.1:34041/we/want/that/page/10770002 > log/10/stdout1077 2> log/10/stderr1077 === End of file commands.log === Start of file http_server.log 07:52:06.799241 ====> Client connect 07:52:06.799286 accept_connection 3 returned 4 07:52:06.799307 accept_connection 3 returned 0 07:52:06.799325 Read 93 bytes 07:52:06.799337 Process 93 bytes request 07:52:06.799351 Got request: GET /verifiedserver HTTP/1.1 07:52:06.799363 Are-we-friendly question received 07:52:06.799393 Wrote request (93 bytes) input to log/10/server.input 07:52:06.799414 Identifying ourselves as friends 07:52:06.799484 Response sent (56 bytes) and written to log/10/server.response 07:52:06.799497 special request received, no persistency 07:52:06.799507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 48910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1077 ==134960== ==134960== Process terminating with default action of signal 4 (SIGILL) ==134960== Illegal opcode at address 0x4013DC0 ==134960== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==134960== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134960== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==134960== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1077 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/6/valgrind1082 ../src/curl -q --output log/6/curl1082.out --include --trace-ascii log/6/trace1082 --trace-time http://127.0.0.1:45933/1082 -4 --interface 127.0.0.1 > log/6/stdout1082 2> log/6/stderr1082 1082: 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/ dir 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/6/valgrind1082 ../src/curl -q --output log/6/curl1082.out --include --trace-ascii log/6/trace1082 --trace-time http://127.0.0.1:45933/1082 -4 --interface 127.0.0.1 > log/6/stdout1082 2> log/6/stderr1082 === End of file commands.log === Start of file http_server.log 07:52:07.099230 ====> Client connect 07:52:07.099268 accept_connection 3 returned 4 07:52:07.099289 accept_connection 3 returned 0 07:52:07.099306 Read 93 bytes 07:52:07.099318 Process 93 bytes request 07:52:07.099333 Got request: GET /verifiedserver HTTP/1.1 07:52:07.099344 Are-we-friendly question received 07:52:07.099372 Wrote request (93 bytes) input to log/6/server.input 07:52:07.099391 Identifying ourselves as friends 07:52:07.099460 Response sent (56 bytes) and written to log/6/server.response 07:52:07.099473 special request received, no persistency 07:52:07.099484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 42130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1082 ==135209== ==135209== Process terminatiCMD (33792): ../libtool --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/valgrind1080 ../src/curl -q --include --trace-ascii log/12/trace1080 --trace-time http://127.0.0.1:38023/we/want/our/1080 http://127.0.0.1:38023/we/want/our/1080 -w '%{redirect_url}\n' > log/12/stdout1080 2> log/12/stderr1080 ng with default action of signal 4 (SIGILL) ==135209== Illegal opcode at address 0x4013DC0 ==135209== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135209== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135209== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135209== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1082 CMD (33792): ../libtool --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/valgrind1081 ../src/curl -q --include --trace-ascii log/8/trace1081 --trace-time http://127.0.0.1:36147/we/want/our/1081 http://127.0.0.1:36147/we/want/our/10810002 -w '%{redirect_url}\n' > log/8/stdout1081 2> log/8/stderr1081 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/12/valgrind1080 ../src/curl -q --include --trace-ascii log/12/trace1080 --trace-time http://127.0.0.1:38023/we/want/our/1080 http://127.0.0.1:38023/we/want/our/1080 -w '%{redirect_url}\n' > log/12/stdout1080 2> log/12/stderr1080 1080: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:08.627374026 +0000 +++ log/12/check-generated 2025-11-07 07:52:08.627374026 +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:38023/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:38023/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/12/ dir 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:38023/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:38023/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/12/valgrind1080 ../src/curl -q --include --trace-ascii log/12/trace1080 --trace-time http://127.0.0.1:38023/we/want/our/1080 http://127.0.0.1:38023/we/want/our/1080 -w '%{redirect_url}\n' > log/12/stdout1080 2> log/12/stderr1080 === End of file commands.log === Start of file http_server.log 07:52:07.069727 ====> Client connect 07:52:07.069763 accept_connection 3 returned 4 07:52:07.069782 accept_connection 3 returned 0 07:52:07.069799 Read 93 bytes 07:52:07.069811 Process 93 bytes request 07:52:07.069826 Got request: GET /verifiedserver HTTP/1.1 07:52:07.069837 Are-we-friendly question received 07:52:07.069865 Wrote request (93 bytes) input to log/12/server.input 07:52:07.069883 Identifying ourselves as friends 07:52:07.069943 Response sent (56 bytes) and written to log/12/server.response 07:52:07.069954 special request received, no persistency 07:52:07.069964 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 49554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.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:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1080 ==135154== ==135154== Process terminating with default action of signal 4 (SIGILL) ==135154== Illegal opcode at address 0x4013DC0 ==135154== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135154== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135154== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135154== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1080 CMD (33792): ../libtool --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/valgrind1085 ../src/curl -q --output log/4/curl1085.out --include --trace-ascii log/4/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/4/stdout1085 2> log/4/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/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/13/valgrind1087 ../src/curl -q --output log/13/curl1087.out --include --trace-ascii log/13/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:35041 --user iam:myself --location --anyauth > log/13/stdout1087 2> log/13/stderr1087 CMD (33792): ../libtool --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/valgrind1089 ../src/curl -q --include --trace-ascii log/3/trace1089 --trace-time http://127.0.0.1:34059/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/3/stdout1089 2> log/3/stderr1089 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/8/valgrind1081 ../src/curl -q --include --trace-ascii log/8/trace1081 --trace-time http://127.0.0.1:36147/we/want/our/1081 http://127.0.0.1:36147/we/want/our/10810002 -w '%{redirect_url}\n' > log/8/stdout1081 2> log/8/stderr1081 1081: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:08.654040694 +0000 +++ log/8/check-generated 2025-11-07 07:52:08.654040694 +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:36147/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/8/ dir 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:36147/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/8/valgrind1081 ../src/curl -q --include --trace-ascii log/8/trace1081 --trace-time http://127.0.0.1:36147/we/want/our/1081 http://127.0.0.1:36147/we/want/our/10810002 -w '%{redirect_url}\n' > log/8/stdout1081 2> log/8/stderr1081 === End of file commands.log === Start of file http_server.log 07:52:07.119241 ====> Client connect 07:52:07.119283 accept_connection 3 returned 4 07:52:07.119302 accept_connection 3 returned 0 07:52:07.119319 Read 93 bytes 07:52:07.119330 Process 93 bytes request 07:52:07.119345 Got request: GET /verifiedserver HTTP/1.1 07:52:07.119355 Are-we-friendly question received 07:52:07.119382 Wrote request (93 bytes) input to log/8/server.input 07:52:07.119400 Identifying ourselves as friends 07:52:07.119469 Response sent (56 bytes) and written to log/8/server.response 07:52:07.119481 special request received, no persistency 07:52:07.119491 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 60292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1081 ==135214== ==135214== Process terminating with default action of signal 4 (SIGILL) ==135214== Illegal opcode at address 0x4013DC0 ==135214== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135214== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135214== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135214== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1081 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/4/valgrind1085 ../src/curl -q --output log/4/curl1085.out --include --trace-ascii log/4/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/4/stdout1085 2> log/4/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind1085 ../src/curl -q --output log/4/curl1085.out --include --trace-ascii log/4/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/4/stdout1085 2> log/4/stderr1085 === End of file commands.log === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==135338== ==135338== Process terminating with default action of signal 4 (SIGILL) ==135338== Illegal opcode at address 0x4013DC0 ==135338== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135338== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135338== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135338== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1085 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/ dir 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 ==135327== ==135327== Process terminating with default action of signal 4 (SIGILL) ==135327== Illegal opcode at address 0x4013DC0 ==135327== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135327== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135327== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135327== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1084 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/13/valgrind1087 ../src/curl -q --output log/13/curl1087.out --include --trace-ascii log/13/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:35041 --user iam:myself --location --anyauth > log/13/stdout1087 2> log/13/stderr1087 1087: 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/ dir 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/13/valgrind1087 ../src/curl -q --output log/13/curl1087.out --include --trace-ascii log/13/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:35041 --user iam:myself --location --anyauth > log/13/stdout1087 2> log/13/stderr1087 === End of file commands.log === Start of file http_server.log 07:52:07.384463 ====> Client connect 07:52:07.384496 accept_connection 3 returned 4 07:52:07.384512 accept_connection 3 returned 0 07:52:07.384527 Read 93 bytes 07:52:07.384537 Process 93 bytes request 07:52:07.384551 Got request: GET /verifiedserver HTTP/1.1 07:52:07.384560 Are-we-friendly question received 07:52:07.384610 Wrote request (93 bytes) input to log/13/server.input 07:52:07.384627 Identifying ourselves as friends 07:52:07.384678 Response sent (56 bytes) and written to log/13/server.response 07:52:07.384688 special request received, no persistency 07:52:07.384697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 57814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1087 ==135493== ==135493== Process terminating with default action of signal 4 (SIGILL) ==135493== Illegal opcode at address 0x4013DC0 ==135493== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135493== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135493== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135493== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1087 CMD (33792): ../libtool --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/valgrind1086 ../src/curl -q --output log/7/curl1086.out --include --trace-ascii log/7/trace1086 --trace-time ftp://127.0.0.1:39633/1086 -m 5 > log/7/stdout1086 2> log/7/stderr1086 * kill pid for ftp-ctrl => 95541 RUN: Process with pid 95453 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/17/valgrind1090 ../src/curl -q --include --trace-ascii log/17/trace1090 --trace-time http://127.0.0.1:42601/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/17/stdout1090 2> log/17/stderr1090 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/3/valgrind1089 ../src/curl -q --include --trace-ascii log/3/trace1089 --trace-time http://127.0.0.1:34059/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/3/stdout1089 2> log/3/stderr1089 1089: stdout FAILED: --- log/3/check-expected 2025-11-07 07:52:08.937374029 +0000 +++ log/3/check-generated 2025-11-07 07:52:08.937374029 +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:34059/10890001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/3/ dir 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:34059/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/3/valgrind1089 ../src/curl -q --include --trace-ascii log/3/trace1089 --trace-time http://127.0.0.1:34059/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/3/stdout1089 2> log/3/stderr1089 === End of file commands.log === Start of file http_server.log 07:52:08.458426 ====> Client connect 07:52:08.458464 accept_connection 3 returned 4 07:52:08.458483 accept_connection 3 returned 0 07:52:08.458499 Read 93 bytes 07:52:08.458511 Process 93 bytes request 07:52:08.458525 Got request: GET /verifiedserver HTTP/1.1 07:52:08.458535 Are-we-friendly question received 07:52:08.458563 Wrote request (93 bytes) input to log/3/server.input 07:52:08.458580 Identifying ourselves as friends 07:52:08.458640 Response sent (56 bytes) and written to log/3/server.response 07:52:08.458652 special request received, no persistency 07:52:08.458663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 33532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1089 ==135604== ==135604== Process terminating with default action of signal 4 (SIGILL) ==135604== Illegal opcode at address 0x4013DC0 ==135604== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135604== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135604== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135604== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1089 CMD (33792): ../libtool --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/valgrind1088 ../src/curl -q --output log/24/curl1088.out --include --trace-ascii log/24/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:41843 --user iam:myself --location-trusted --anyauth > log/24/stdout1088 2> log/24/stderr1088 RUN: Process with pid 95453 gracefully died 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/17/valgrind1090 ../src/curl -q --include --trace-ascii log/17/trace1090 --trace-time http://127.0.0.1:42601/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/17/stdout1090 2> log/17/stderr1090 1090: stdout FAILED: --- log/17/check-expected 2025-11-07 07:52:08.964040696 +0000 +++ log/17/check-generated 2025-11-07 07:52:08.964040696 +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:42601/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/17/ dir 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:42601/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/17/valgrind1090 ../src/curl -q --include --trace-ascii log/17/trace1090 --trace-time http://127.0.0.1:42601/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/17/stdout1090 2> log/17/stderr1090 === End of file commands.log === Start of file http_server.log 07:52:08.462567 ====> Client connect 07:52:08.462608 accept_connection 3 returned 4 07:52:08.462627 accept_connection 3 returned 0 07:52:08.462644 Read 93 bytes 07:52:08.462655 Process 93 bytes request 07:52:08.462668 Got request: GET /verifiedserver HTTP/1.1 07:52:08.462679 Are-we-friendly question received 07:52:08.462704 Wrote request (93 bytes) input to log/17/server.input 07:52:08.462722 Identifying ourselves as friends 07:52:08.462794 Response sent (56 bytes) and written to log/17/server.response 07:52:08.462806 special request received, no persistency 07:52:08.462816 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 35086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1090 ==135611== ==135611== Process terminating with default action of signal 4 (SIGILL) ==135611== Illegal opcode at address 0x4013DC0 ==135611== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135611== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135611== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135611== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1090 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/24/valgrind1088 ../src/curl -q --output log/24/curl1088.out --include --trace-ascii log/24/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:41843 --user iam:myself --location-trusted --anyauth > log/24/stdout1088 2> log/24/stderr1088 1088: 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/ dir 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/24/valgrind1088 ../src/curl -q --output log/24/curl1088.out --include --trace-ascii log/24/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:41843 --user iam:myself --location-trusted --anyauth > log/24/stdout1088 2> log/24/stderr1088 === End of file commands.log === Start of file http_server.log 07:52:07.453600 ====> Client connect 07:52:07.453636 accept_connection 3 returned 4 07:52:07.453654 accept_connection 3 returned 0 07:52:07.469334 Read 93 bytes 07:52:07.469358 Process 93 bytes request 07:52:07.469372 Got request: GET /verifiedserver HTTP/1.1 07:52:07.469383 Are-we-friendly question received 07:52:07.469420 Wrote request (93 bytes) input to log/24/server.input 07:52:07.469440 Identifying ourselves as friends 07:52:07.469503 Response sent (56 bytes) and written to log/24/server.response 07:52:07.469516 special request received, no persistency 07:52:07.469526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 40912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === End of file http_verify.out === Start of file server.cmd Testnum 1088 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74393 === End of file server.response === Start of file valgrind1088 ==135629== ==135629== Process terminating with default action of signal 4 (SIGILL) ==135629== Illegal opcode at address 0x4013DC0 ==135629== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135629== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135629== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135629== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1088 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/7/valgrind1086 ../src/curl -q --output log/7/curl1086.out --include --trace-ascii log/7/trace1086 --trace-time ftp://127.0.0.1:39633/1086 -m 5 > log/7/stdout1086 2> log/7/stderr1086 1086: 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/ dir 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/7/valgrind1086 ../src/curl -q --output log/7/CMD (33792): ../libtool --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/valgrind1092 ../src/curl -q --output log/2/curl1092.out --include --trace-ascii log/2/trace1092 --trace-time "ftp://127.0.0.1:43955/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:43955 > log/2/stdout1092 2> log/2/stderr1092 curl1086.out --include --trace-ascii log/7/trace1086 --trace-time ftp://127.0.0.1:39633/1086 -m 5 > log/7/stdout1086 2> log/7/stderr1086 === End of file commands.log === Start of file ftp_server.log 07:52:07.531933 ====> Client connect 07:52:07.532091 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:07.532365 < "USER anonymous" 07:52:07.532400 > "331 We are happy you popped in![CR][LF]" 07:52:07.532564 < "PASS ftp@example.com" 07:52:07.532590 > "230 Welcome you silly person[CR][LF]" 07:52:07.532731 < "PWD" 07:52:07.532760 > "257 "/" is current directory[CR][LF]" 07:52:07.532909 < "EPSV" 07:52:07.532932 ====> Passive DATA channel requested by client 07:52:07.532944 DATA sockfilt for passive data channel starting... 07:52:07.534771 DATA sockfilt for passive data channel started (pid 135414) 07:52:07.534878 DATA sockfilt for passive data channel listens on port 39099 07:52:07.534919 > "229 Entering Passive Mode (|||39099|)[CR][LF]" 07:52:07.534938 Client has been notified that DATA conn will be accepted on port 39099 07:52:07.535485 Client connects to port 39099 07:52:07.535517 ====> Client established passive DATA connection on port 39099 07:52:07.535592 < "TYPE I" 07:52:07.535621 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:07.535781 < "SIZE verifiedserver" 07:52:07.535824 > "213 17[CR][LF]" 07:52:07.535991 < "RETR verifiedserver" 07:52:07.536031 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:07.536112 =====> Closing passive DATA connection... 07:52:07.536128 Server disconnects passive DATA connection 07:52:07.536693 Server disconnected passive DATA connection 07:52:07.536719 DATA sockfilt for passive data channel quits (pid 135414) 07:52:07.536912 DATA sockfilt for passive data channel quit (pid 135414) 07:52:07.536934 =====> Closed passive DATA connection 07:52:07.536958 > "226 File transfer complete[CR][LF]" 07:52:07.579156 < "QUIT" 07:52:07.579207 > "221 bye bye baby[CR][LF]" 07:52:07.580269 MAIN sockfilt said DISC 07:52:07.580316 ====> Client disconnected 07:52:07.580387 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.359436 ====> Client connect 07:52:08.360047 Received DATA (on stdin) 07:52:08.360064 > 160 bytes data, server => client 07:52:08.360076 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.360087 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.360097 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.360170 < 16 bytes data, client => server 07:52:08.360183 'USER anonymous\r\n' 07:52:08.360344 Received DATA (on stdin) 07:52:08.360357 > 33 bytes data, server => client 07:52:08.360367 '331 We are happy you popped in!\r\n' 07:52:08.360417 < 22 bytes data, client => server 07:52:08.360428 'PASS ftp@example.com\r\n' 07:52:08.360531 Received DATA (on stdin) 07:52:08.360543 > 30 bytes data, server => client 07:52:08.360553 '230 Welcome you silly person\r\n' 07:52:08.360597 < 5 bytes data, client => server 07:52:08.360608 'PWD\r\n' 07:52:08.360700 Received DATA (on stdin) 07:52:08.360710 > 30 bytes data, server => client 07:52:08.360721 '257 "/" is current directory\r\n' 07:52:08.360772 < 6 bytes data, client => server 07:52:08.360783 'EPSV\r\n' 07:52:08.362885 Received DATA (on stdin) 07:52:08.362899 > 39 bytes data, server => client 07:52:08.362912 '229 Entering Passive Mode (|||39099|)\r\n' 07:52:08.363026 < 8 bytes data, client => server 07:52:08.363041 'TYPE I\r\n' 07:52:08.363562 Received DATA (on stdin) 07:52:08.363574 > 33 bytes data, server => client 07:52:08.363585 '200 I modify TYPE as you wanted\r\n' 07:52:08.363632 < 21 bytes data, client => server 07:52:08.363645 'SIZE verifiedserver\r\n' 07:52:08.363767 Received DATA (on stdin) 07:52:08.363780 > 8 bytes data, server => client 07:52:08.363791 '213 17\r\n' 07:52:08.363843 < 21 bytes data, client => server 07:52:08.363858 'RETR verifiedserver\r\n' 07:52:08.364395 Received DATA (on stdin) 07:52:08.364411 > 29 bytes data, server => client 07:52:08.364423 '150 Binary junk (17 bytes).\r\n' 07:52:08.364899 Received DATA (on stdin) 07:52:08.364912 > 28 bytes data, server => client 07:52:08.364923 '226 File transfer complete\r\n' 07:52:08.406924 < 6 bytes data, client => server 07:52:08.406951 'QUIT\r\n' 07:52:08.407156 Received DATA (on stdin) 07:52:08.407171 > 18 bytes data, server => client 07:52:08.407183 '221 bye bye baby\r\n' 07:52:08.408150 ====> Client disconnect 07:52:08.408331 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:07.362397 Running IPv4 version 07:52:07.362446 Listening on port 39099 07:52:07.362480 Wrote pid 135414 to log/7/server/ftp_sockdata.pid 07:52:07.362650 Received PING (on stdin) 07:52:07.362733 Received PORT (on stdin) 07:52:07.363377 ====> Client connect 07:52:07.364474 Received DATA (on stdin) 07:52:07.364489 > 17 bytes data, server => client 07:52:07.364499 'WE ROOLZ: 95453\r\n' 07:52:07.364522 Received DISC (on stdin) 07:52:07.364533 ====> Client forcibly disconnected 07:52:07.364668 Received QUIT (on stdin) 07:52:07.364680 quits 07:52:07.364732 ============> 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 ==135544== ==135544== Process terminating with default action of signal 4 (SIGILL) ==135544== Illegal opcode at address 0x4013DC0 ==135544== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135544== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135544== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135544== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1086 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/2/valgrind1092 ../src/curl -q --output log/2/curl1092.out --include --trace-ascii log/2/trace1092 --trace-time "ftp://127.0.0.1:43955/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:43955 > log/2/stdout1092 2> log/2/stderr1092 1092: 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/ dir 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/2/valgrind1092 ../src/curl -q --output log/2/curl1092.out --include --trace-ascii log/2/trace1092 --trace-time "ftp://127.0.0.1:43955/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:43955 > log/2/stdout1092 2> log/2/stderr1092 === End of file commands.log === Start of file http_server.log 07:52:08.524980 ====> Client connect 07:52:08.525017 accept_connection 3 returned 4 07:52:08.525035 accept_connection 3 returned 0 07:52:08.529377 Read 93 bytes 07:52:08.529400 Process 93 bytes request 07:52:08.529416 Got request: GET /verifiedserver HTTP/1.1 07:52:08.529426 Are-we-friendly question received 07:52:08.529462 Wrote request (93 bytes) input to log/2/server.input 07:52:08.529480 Identifying ourselves as friends 07:52:08.529536 Response sent (56 bytes) and written to log/2/server.response 07:52:08.529547 special request received, no persistency 07:52:08.529557 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 37184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 byteCMD (33792): ../libtool --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/valgrind1091 ../src/curl -q --output log/19/curl1091.out --include --trace-ascii log/19/trace1091 --trace-time "ftp://127.0.0.1:44991/%2ftmp/moo/1091;type=i" --use-ascii > log/19/stdout1091 2> log/19/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/16/valgrind1078 ../src/curl -q --include --trace-ascii log/16/trace1078 --trace-time --proxy1.0 127.0.0.1:43299 -p http://127.0.0.1:44351/we/want/that/page/1078 http://127.0.0.1:44351/we/want/that/page/1078 > log/16/stdout1078 2> log/16/stderr1078 s data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1092 ==135684== ==135684== Process terminating with default action of signal 4 (SIGILL) ==135684== Illegal opcode at address 0x4013DC0 ==135684== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135684== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135684== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135684== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1092 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/19/valgrind1091 ../src/curl -q --output log/19/curl1091.out --include --trace-ascii log/19/trace1091 --trace-time "ftp://127.0.0.1:44991/%2ftmp/moo/1091;type=i" --use-ascii > log/19/stdout1091 2> log/19/stderr1091 1091: 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/ dir 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/19/valgrind1091 ../src/curl -q --output log/19/curl1091.out --include --trace-ascii log/19/trace1091 --trace-time "ftp://127.0.0.1:44991/%2ftmp/moo/1091;type=i" --use-ascii > log/19/stdout1091 2> log/19/stderr1091 === End of file commands.log === Start of file ftp_server.log 07:52:07.661911 ====> Client connect 07:52:07.662048 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:07.662319 < "USER anonymous" 07:52:07.662359 > "331 We are happy you popped in![CR][LF]" 07:52:07.666599 < "PASS ftp@example.com" 07:52:07.666641 > "230 Welcome you silly person[CR][LF]" 07:52:07.666801 < "PWD" 07:52:07.666837 > "257 "/" is current directory[CR][LF]" 07:52:07.666992 < "EPSV" 07:52:07.667014 ====> Passive DATA channel requested by client 07:52:07.667027 DATA sockfilt for passive data channel starting... 07:52:07.671957 DATA sockfilt for passive data channel started (pid 135605) 07:52:07.672085 DATA sockfilt for passive data channel listens on port 42527 07:52:07.672127 > "229 Entering Passive Mode (|||42527|)[CR][LF]" 07:52:07.672145 Client has been notified that DATA conn will be accepted on port 42527 07:52:07.672409 Client connects to port 42527 07:52:07.672437 ====> Client established passive DATA connection on port 42527 07:52:07.672516 < "TYPE I" 07:52:07.672547 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:07.672704 < "SIZE verifiedserver" 07:52:07.672740 > "213 17[CR][LF]" 07:52:07.672880 < "RETR verifiedserver" 07:52:07.672913 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:07.672997 =====> Closing passive DATA connection... 07:52:07.673012 Server disconnects passive DATA connection 07:52:07.673244 Server disconnected passive DATA connection 07:52:07.673268 DATA sockfilt for passive data channel quits (pid 135605) 07:52:07.673505 DATA sockfilt for passive data channel quit (pid 135605) 07:52:07.673528 =====> Closed passive DATA connection 07:52:07.673556 > "226 File transfer complete[CR][LF]" 07:52:07.721540 < "QUIT" 07:52:07.721594 > "221 bye bye baby[CR][LF]" 07:52:07.722897 MAIN sockfilt said DISC 07:52:07.722943 ====> Client disconnected 07:52:07.723015 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:07.489760 ====> Client connect 07:52:07.490003 Received DATA (on stdin) 07:52:07.490018 > 160 bytes data, server => client 07:52:07.490031 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:07.490042 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:07.490052 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:07.490125 < 16 bytes data, client => server 07:52:07.490137 'USER anonymous\r\n' 07:52:07.494167 Received DATA (on stdin) 07:52:07.494189 > 33 bytes data, server => client 07:52:07.494201 '331 We are happy you popped in!\r\n' 07:52:07.494409 < 22 bytes data, client => server 07:52:07.494426 'PASS ftp@example.com\r\n' 07:52:07.494586 Received DATA (on stdin) 07:52:07.494599 > 30 bytes data, server => client 07:52:07.494611 '230 Welcome you silly person\r\n' 07:52:07.494658 < 5 bytes data, client => server 07:52:07.494669 'PWD\r\n' 07:52:07.494778 Received DATA (on stdin) 07:52:07.494789 > 30 bytes data, server => client 07:52:07.494801 '257 "/" is current directory\r\n' 07:52:07.494854 < 6 bytes data, client => server 07:52:07.494865 'EPSV\r\n' 07:52:07.500092 Received DATA (on stdin) 07:52:07.500106 > 39 bytes data, server => client 07:52:07.500118 '229 Entering Passive Mode (|||42527|)\r\n' 07:52:07.500269 < 8 bytes data, client => server 07:52:07.500284 'TYPE I\r\n' 07:52:07.500488 Received DATA (on stdin) 07:52:07.500500 > 33 bytes data, server => client 07:52:07.500515 '200 I modify TYPE as you wanted\r\n' 07:52:07.500566 < 21 bytes data, client => server 07:52:07.500577 'SIZE verifiedserver\r\n' 07:52:07.500680 Received DATA (on stdin) 07:52:07.500691 > 8 bytes data, server => client 07:52:07.500701 '213 17\r\n' 07:52:07.500746 < 21 bytes data, client => server 07:52:07.500757 'RETR verifiedserver\r\n' 07:52:07.500955 Received DATA (on stdin) 07:52:07.500966 > 29 bytes data, server => client 07:52:07.500977 '150 Binary junk (17 bytes).\r\n' 07:52:07.501499 Received DATA (on stdin) 07:52:07.501512 > 28 bytes data, server => client 07:52:07.501523 '226 File transfer complete\r\n' 07:52:07.549292 < 6 bytes data, client => server 07:52:07.549322 'QUIT\r\n' 07:52:07.549541 Received DATA (on stdin) 07:52:07.549556 > 18 bytes data, server => client 07:52:07.549567 '221 bye bye baby\r\n' 07:52:07.550364 ====> Client disconnect 07:52:07.550958 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:07.496621 Running IPv4 version 07:52:07.496688 Listening on port 42527 07:52:07.496725 Wrote pid 135605 to log/19/server/ftp_sockdata.pid 07:52:07.499065 Received PING (on stdin) 07:52:07.499933 Received PORT (on stdin) 07:52:07.500304 ====> Client connect 07:52:07.501001 Received DATA (on stdin) 07:52:07.501014 > 17 bytes data, server => client 07:52:07.501025 'WE ROOLZ: 80634\r\n' 07:52:07.501050 Received DISC (on stdin) 07:52:07.501061 ====> Client forcibly disconnected 07:52:07.501218 Received QUIT (on stdin) 07:52:07.501230 quits 07:52:07.501297 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==135777== ==135777== Process terminating with default action of signal 4 (SIGILL) ==135777== Illegal opcode at address 0x4013DC0 ==135777== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135777== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135777== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135777== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind1094 ../src/curl -q --output log/20/curl1094.out --include --trace-ascii log/20/trace1094 --trace-time "tftp://127.0.0.1:41830//1094;mode=netascii" > log/20/stdout1094 2> log/20/stderr1094 CMD (33792): ../libtool --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/valgrind1093 ../src/curl -q --output log/18/curl1093.out --include --trace-ascii log/18/trace1093 --trace-time "tftp://127.0.0.1:40354//1093;mode=octet" --use-ascii > log/18/stdout1093 2> log/18/stderr1093 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 134940 port 43299 * pid http-proxy => 134940 134940 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/16/valgrind1078 ../src/curl -q --include --trace-ascii log/16/trace1078 --trace-time --proxy1.0 127.0.0.1:43299 -p http://127.0.0.1:44351/we/want/that/page/1078 http://127.0.0.1:44351/we/want/that/page/1078 > log/16/stdout1078 2> log/16/stderr1078 1078: stdout FAILED: --- log/16/check-expected 2025-11-07 07:52:09.347374033 +0000 +++ log/16/check-generated 2025-11-07 07:52:09.347374033 +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/16/ dir 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/16/valgrind1078 ../src/curl -q --include --trace-ascii log/16/trace1078 --trace-time --proxy1.0 127.0.0.1:43299 -p http://127.0.0.1:44351/we/want/that/page/1078 http://127.0.0.1:44351/we/want/that/page/1078 > log/16/stdout1078 2> log/16/stderr1078 === End of file commands.log === Start of file http2_server.log 07:52:06.826366 Run as proxy, CONNECT to host 127.0.0.1 07:52:06.826481 Running HTTP IPv4 version on port 43299 07:52:06.826526 Wrote pid 134940 to log/16/server/http2_server.pid 07:52:06.826557 Wrote port 43299 to log/16/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:06.785916 ====> Client connect 07:52:06.785959 accept_connection 3 returned 4 07:52:06.785978 accept_connection 3 returned 0 07:52:06.786149 Read 93 bytes 07:52:06.786166 Process 93 bytes request 07:52:06.786181 Got request: GET /verifiedserver HTTP/1.1 07:52:06.786191 Are-we-friendly question received 07:52:06.786224 Wrote request (93 bytes) input to log/16/server.input 07:52:06.786245 Identifying ourselves as friends 07:52:06.786305 Response sent (56 bytes) and written to log/16/server.response 07:52:06.786317 special request received, no persistency 07:52:06.786327 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === End of file http_verify.out === 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: 74401 === End of file server.response === Start of file valgrind1078 ==135959== ==135959== Process terminating with default action of signal 4 (SIGILL) ==135959== Illegal opcode at address 0x4013DC0 ==135959== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135959== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135959== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135959== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1078 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/20/valgrind1094 ../src/curl -q --output log/20/curl1094.out --include --trace-ascii log/20/trace1094 --trace-time "tftp://127.0.0.1:41830//1094;mode=netascii" > log/20/stdout1094 2> log/20/stderr1094 1094: 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/ dir after test 1094 === Start of file commands.log ../libtool --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/valgrind1094 ../src/curl -q --output log/20/curl1094.out --include --trace-ascii log/20/trace1094 --trace-time "tftp://127.0.0.1:41830//1094;mode=netascii" > log/20/stdout1094 2> log/20/stderr1094 === End of file commands.log === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 07:52:07.787456 trying to get file: verifiedserver mode 1 07:52:07.787485 Are-we-friendly question received 07:52:07.787501 write 07:52:07.787520 read 07:52:07.788520 read: 4 07:52:07.788583 end of one transfer === End of file tftp_server.log === Start of file valgrind1094 ==135976== ==135976== Process terminating with default action of signal 4 (SIGILL) ==135976== Illegal opcode at address 0x4013DC0 ==135976== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135976== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135976== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135976== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1094 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/18/valgrind1093 ../src/curl -q --output log/18/curl1093.out --include --trace-ascii log/18/trace1093 --trace-time "tftp://127.0.0.1:40354//1093;mode=octet" --use-ascii > log/18/stdout1093 2> log/18/stderr1093 1093: 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/ dir 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/18/valgrind1093 ../src/curl -q --output log/18/curl1093.out --include --trace-ascii log/18/trace1093 --trace-time "tftp://127.0.0.1:40354//1093;mode=octet" --use-ascii > log/18/stdout1093 2> log/18/stderr1093 === End of file commands.log === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 07:52:08.776192 trying to get file: verifiedserver mode 1 07:52:08.776223 Are-we-friendly question received 07:52:08.776241 write 07CMD (33792): ../libtool --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/valgrind1095 ../src/curl -q --output log/9/curl1095.out --include --trace-ascii log/9/trace1095 --trace-time http://127.0.0.1:42717/1095 -u testuser:testpass --digest > log/9/stdout1095 2> log/9/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/1/valgrind1083 ../src/curl -q --output log/1/curl1083.out --include --trace-ascii log/1/trace1083 --trace-time -g "http://[::1]:39009/1083" --interface ip6-localhost > log/1/stdout1083 2> log/1/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/14/valgrind1101 ../src/curl -q --output log/14/curl1101.out --include --trace-ascii log/14/trace1101 --trace-time http://user:secret@127.0.0.1:34115/gimme/1101 > log/14/stdout1101 2> log/14/stderr1101 :52:08.776268 read 07:52:08.776990 read: 4 07:52:08.777056 end of one transfer === End of file tftp_server.log === Start of file valgrind1093 ==135953== ==135953== Process terminating with default action of signal 4 (SIGILL) ==135953== Illegal opcode at address 0x4013DC0 ==135953== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==135953== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135953== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==135953== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1093 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/9/valgrind1095 ../src/curl -q --output log/9/curl1095.out --include --trace-ascii log/9/trace1095 --trace-time http://127.0.0.1:42717/1095 -u testuser:testpass --digest > log/9/stdout1095 2> log/9/stderr1095 1095: 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/ dir 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/9/valgrind1095 ../src/curl -q --output log/9/curl1095.out --include --trace-ascii log/9/trace1095 --trace-time http://127.0.0.1:42717/1095 -u testuser:testpass --digest > log/9/stdout1095 2> log/9/stderr1095 === End of file commands.log === Start of file http_server.log 07:52:08.027588 ====> Client connect 07:52:08.027632 accept_connection 3 returned 4 07:52:08.027652 accept_connection 3 returned 0 07:52:08.027669 Read 93 bytes 07:52:08.027681 Process 93 bytes request 07:52:08.027696 Got request: GET /verifiedserver HTTP/1.1 07:52:08.027706 Are-we-friendly question received 07:52:08.027731 Wrote request (93 bytes) input to log/9/server.input 07:52:08.027749 Identifying ourselves as friends 07:52:08.027823 Response sent (56 bytes) and written to log/9/server.response 07:52:08.027834 special request received, no persistency 07:52:08.027843 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 52100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1095 ==136156== ==136156== Process terminating with default action of signal 4 (SIGILL) ==136156== Illegal opcode at address 0x4013DC0 ==136156== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136156== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136156== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136156== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1095 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 135137 port 39009 * pid http-ipv6 => 135137 135137 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/1/valgrind1083 ../src/curl -q --output log/1/curl1083.out --include --trace-ascii log/1/trace1083 --trace-time -g "http://[::1]:39009/1083" --interface ip6-localhost > log/1/stdout1083 2> log/1/stderr1083 1083: 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/ dir 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/1/valgrind1083 ../src/curl -q --output log/1/curl1083.out --include --trace-ascii log/1/trace1083 --trace-time -g "http://[::1]:39009/1083" --interface ip6-localhost > log/1/stdout1083 2> log/1/stderr1083 === End of file commands.log === Start of file http_ipv6_server.log 07:52:07.092342 Running HTTP IPv6 version on port 39009 07:52:07.092436 Wrote pid 135137 to log/1/server/http_ipv6_server.pid 07:52:07.092471 Wrote port 39009 to log/1/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 ==136189== ==136189== Process terminating with default action of signal 4 (SIGILL) ==136189== Illegal opcode at address 0x4013DC0 ==136189== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136189== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136189== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136189== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1083 setenv no_proxy = 127.0.0.1 setenv http_proxy = http://non-existing-host.haxx.se:3128/ test 1101...[NO_PROXY test, with user name 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/valgrind1101 ../src/curl -q --output log/14/curl1101.out --include --trace-ascii log/14/trace1101 --trace-time http://user:secret@127.0.0.1:34115/gimme/1101 > log/14/stdout1101 2> log/14/stderr1101 1101: 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/ dir 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/14/valgrind1101 ../src/curl -q --output log/14/curl1101.out --include --trace-ascii log/14/trace1101 --trace-time http://user:secret@127.0.0.1:34115/gimme/1101 > log/14/stdout1101 2> log/14/stderr1101 === End of file commands.log === Start of file http_server.log 07:52:08.145898 ====> Client connect 07:52:08.145935 accept_connection 3 returned 4 07:52:08.145955 accept_connection 3 returned 0 07:52:08.145970 Read 93 bytes 07:52:08.145981 Process 93 bytes request 07:52:08.145995 Got request: GET /verifiedserver HTTP/1.1 07:52:08.146005 Are-we-friendly question received 07:52:08.146027 Wrote request (93 bytes) input to log/14/server.input 07:52:08.146044 Identifying ourselves as friends 07:52:08.146103 Response sent (56 bytes) and written to log/14/server.response 07:52:08.146115 special request received, no persistency 07:52:08.146125 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 44820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * ConnectiCMD (33792): ../libtool --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/valgrind1098 ../src/curl -q --include --trace-ascii log/22/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:40377 > log/22/stdout1098 2> log/22/stderr1098 on #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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 ROOLZ: 74404 === End of file server.response === Start of file valgrind1101 ==136229== ==136229== Process terminating with default action of signal 4 (SIGILL) ==136229== Illegal opcode at address 0x4013DC0 ==136229== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136229== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136229== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136229== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1101 CMD (33792): ../libtool --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/valgrind1096 ../src/curl -q --output log/15/curl1096.out --include --trace-ascii log/15/trace1096 --trace-time ftp://127.0.0.1:38789/dir/1096 ftp://127.0.0.1:38789/dir/1096 > log/15/stdout1096 2> log/15/stderr1096 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/22/valgrind1098 ../src/curl -q --include --trace-ascii log/22/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:40377 > log/22/stdout1098 2> log/22/stderr1098 1098: stdout FAILED: --- log/22/check-expected 2025-11-07 07:52:09.690707370 +0000 +++ log/22/check-generated 2025-11-07 07:52:09.690707370 +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/22/ dir 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/22/valgrind1098 ../src/curl -q --include --trace-ascii log/22/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:40377 > log/22/stdout1098 2> log/22/stderr1098 === End of file commands.log === Start of file http_server.log 07:52:08.102555 ====> Client connect 07:52:08.102590 accept_connection 3 returned 4 07:52:08.102608 accept_connection 3 returned 0 07:52:08.102622 Read 93 bytes 07:52:08.102632 Process 93 bytes request 07:52:08.102645 Got request: GET /verifiedserver HTTP/1.1 07:52:08.102655 Are-we-friendly question received 07:52:08.102683 Wrote request (93 bytes) input to log/22/server.input 07:52:08.102699 Identifying ourselves as friends 07:52:08.102757 Response sent (56 bytes) and written to log/22/server.response 07:52:08.102767 special request received, no persistency 07:52:08.102777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 58384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1098 ==136207== ==136207== Process terminating with default action of signal 4 (SIGILL) ==136207== Illegal opcode at address 0x4013DC0 ==136207== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136207== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136207== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136207== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1098 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/15/valgrind1096 ../src/curl -q --output log/15/curl1096.out --include --trace-ascii log/15/trace1096 --trace-time ftp://127.0.0.1:38789/dir/1096 ftp://127.0.0.1:38789/dir/1096 > log/15/stdout1096 2> log/15/stderr1096 1096: 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/ dir 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/15/valgrind1096 ../src/curl -q --output log/15/curl1096.out --include --trace-ascii log/15/trace1096 --trace-time ftp://127.0.0.1:38789/dir/1096 ftp://127.0.0.1:38789/dir/1096 > log/15/stdout1096 2> log/15/stderr1096 === End of file commands.log === Start of file ftp_server.log 07:52:08.260622 ====> Client connect 07:52:08.260769 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:08.261076 < "USER anonymous" 07:52:08.261122 > "331 We are happy you popped in![CR][LF]" 07:52:08.261325 < "PASS ftp@example.com" 07:52:08.261358 > "230 Welcome you silly person[CR][LF]" 07:52:08.261518 < "PWD" 07:52:08.261549 > "257 "/" is current directory[CR][LF]" 07:52:08.261707 < "EPSV" 07:52:08.261731 ====> Passive DATA channel requested by client 07:52:08.261749 DATA sockfilt for passive data channel starting... 07:52:08.268134 DATA sockfilt for passive data channel started (pid 136181) 07:52:08.268250 DATA sockfilt for passive data channel listens on port 44635 07:52:08.268292 > "229 Entering Passive Mode (|||44635|)[CR][LF]" 07:52:08.268312 Client has been notified that DATA conn will be accepted on port 44635 07:52:08.268562 Client connects to port 44635 07:52:08.268593 ====> Client established passive DATA connection on port 44635 07:52:08.268670 < "TYPE I" 07:52:08.268701 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:08.268863 < "SIZE verifiedserver" 07:52:08.268899 > "213 17[CR][LF]" 07:52:08.269049 < "RETR verifiedserver" 07:52:08.269084 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:08.269176 =====> Closing passive DATA connection... 07:52:08.269192 Server disconnects passive DATA connection 07:52:08.269441 Server disconnected passive DATA connection 07:52:08.269469 DATA sockfilt for passive data channel quits (pid 136181) 07:52:08.271380 DATA sockfilt for passive data channel quit (pid 136181) 07:52:08.271410 =====> Closed passive DATA connection 07:52:08.271441 > "226 File transfer complete[CR][LF]" 07:52:08.318214 < "QUIT" 07:52:08.318270 > "221 bye bye baby[CR][LF]" 07:52:08.319156 MAIN sockfilt said DISC 07:52:08.319196 ====> Client disconnected 07:52:08.319262 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.088456 ====> Client connect 07:52:08.088728 Received DATA (on stdin) 07:52:08.088746 > 160 bytes data, server => client 07:52:08.088760 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.088772 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.088782 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.088869 < 16 bytes data, client => server 07:52:08.088883 'USER anonymous\r\n' 07:52:08.089068 Received DATA (on stdin) 07:52:08.089082 > 33 bytes data, server => client 07:52:08.089094 '331 We are happy you popped in!\r\n' 07:52:08.089147 < 22 bytes data, client => server 07:52:08.089159 'PASS ftp@example.com\r\n' 07:52:08.089301 Received DATA (on stdin) 07:52:08.089313 > 30 bytes data, server => client 07:52:08.089325 '230 Welcome you silly person\r\n' 07:52:08.089374 < 5 bytes data, client => server 07:52:08.089387 'PWD\r\n' 07:52:08.089490 Received DATA (on stdin) 07:52:08.089503 > 30 bytes data, server => client 07:52:08.089514 '257 "/" is current directory\r\n' 07:52:08.089569 < 6 bytes data, client => server 07:52:08.089581 'EPSV\r\n' 07:52:08.096259 Received DATA (on stdin) 07:52:08.096274 > 39 bytes data, server => client 07:52:08.096286 '229 Entering Passive Mode (|||44635|)\r\n' 07:52:08.096415 < 8 bytes data, client => server 07:52:08.096431 'TYPE I\r\n' 07:52:08.096644 Received DATA (on stdin) 07:52:08.096657 > 33 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/5/valgrind1102 ../src/curl -q --output log/5/curl1102.out --include --trace-ascii log/5/trace1102 --trace-time ftp://127.0.0.1:39251/1102 > log/5/stdout1102 2> log/5/stderr1102 > client 07:52:08.096671 '200 I modify TYPE as you wanted\r\n' 07:52:08.096723 < 21 bytes data, client => server 07:52:08.096736 'SIZE verifiedserver\r\n' 07:52:08.096840 Received DATA (on stdin) 07:52:08.096853 > 8 bytes data, server => client 07:52:08.096864 '213 17\r\n' 07:52:08.096910 < 21 bytes data, client => server 07:52:08.096922 'RETR verifiedserver\r\n' 07:52:08.097138 Received DATA (on stdin) 07:52:08.097150 > 29 bytes data, server => client 07:52:08.097162 '150 Binary junk (17 bytes).\r\n' 07:52:08.099386 Received DATA (on stdin) 07:52:08.099401 > 28 bytes data, server => client 07:52:08.099413 '226 File transfer complete\r\n' 07:52:08.145942 < 6 bytes data, client => server 07:52:08.145963 'QUIT\r\n' 07:52:08.146221 Received DATA (on stdin) 07:52:08.146237 > 18 bytes data, server => client 07:52:08.146249 '221 bye bye baby\r\n' 07:52:08.147039 ====> Client disconnect 07:52:08.147205 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:08.093661 Running IPv4 version 07:52:08.093748 Listening on port 44635 07:52:08.093783 Wrote pid 136181 to log/15/server/ftp_sockdata.pid 07:52:08.096000 Received PING (on stdin) 07:52:08.096103 Received PORT (on stdin) 07:52:08.096455 ====> Client connect 07:52:08.097189 Received DATA (on stdin) 07:52:08.097203 > 17 bytes data, server => client 07:52:08.097215 'WE ROOLZ: 80326\r\n' 07:52:08.097240 Received DISC (on stdin) 07:52:08.097252 ====> Client forcibly disconnected 07:52:08.097424 Received QUIT (on stdin) 07:52:08.097436 quits 07:52:08.097518 ============> 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 ==136232== ==136232== Process terminating with default action of signal 4 (SIGILL) ==136232== Illegal opcode at address 0x4013DC0 ==136232== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136232== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136232== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136232== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1096 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 --log-file=log/5/valgrind1102 ../src/curl -q --output log/5/curl1102.out --include --trace-ascii log/5/trace1102 --trace-time ftp://127.0.0.1:39251/1102 > log/5/stdout1102 2> log/5/stderr1102 1102: 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/ dir 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/5/valgrind1102 ../src/curl -q --output log/5/curl1102.out --include --trace-ascii log/5/trace1102 --trace-time ftp://127.0.0.1:39251/1102 > log/5/stdout1102 2> log/5/stderr1102 === End of file commands.log === Start of file ftp_server.log 07:52:08.543997 ====> Client connect 07:52:08.544180 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:08.545836 < "USER anonymous" 07:52:08.545885 > "331 We are happy you popped in![CR][LF]" 07:52:08.546079 < "PASS ftp@example.com" 07:52:08.546110 > "230 Welcome you silly person[CR][LF]" 07:52:08.546278 < "PWD" 07:52:08.546314 > "257 "/" is current directory[CR][LF]" 07:52:08.546485 < "EPSV" 07:52:08.546509 ====> Passive DATA channel requested by client 07:52:08.546522 DATA sockfilt for passive data channel starting... 07:52:08.555316 DATA sockfilt for passive data channel started (pid 136473) 07:52:08.555444 DATA sockfilt for passive data channel listens on port 43999 07:52:08.555494 > "229 Entering Passive Mode (|||43999|)[CR][LF]" 07:52:08.555514 Client has been notified that DATA conn will be accepted on port 43999 07:52:08.555765 Client connects to port 43999 07:52:08.555801 ====> Client established passive DATA connection on port 43999 07:52:08.555888 < "TYPE I" 07:52:08.555922 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:08.556087 < "SIZE verifiedserver" 07:52:08.556126 > "213 17[CR][LF]" 07:52:08.556281 < "RETR verifiedserver" 07:52:08.556315 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:08.556405 =====> Closing passive DATA connection... 07:52:08.556421 Server disconnects passive DATA connection 07:52:08.556683 Server disconnected passive DATA connection 07:52:08.556710 DATA sockfilt for passive data channel quits (pid 136473) 07:52:08.556951 DATA sockfilt for passive data channel quit (pid 136473) 07:52:08.556974 =====> Closed passive DATA connection 07:52:08.557003 > "226 File transfer complete[CR][LF]" 07:52:08.601810 < "QUIT" 07:52:08.601901 > "221 bye bye baby[CR][LF]" 07:52:08.603578 MAIN sockfilt said DISC 07:52:08.603663 ====> Client disconnected 07:52:08.603744 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.371803 ====> Client connect 07:52:08.372144 Received DATA (on stdin) 07:52:08.372163 > 160 bytes data, server => client 07:52:08.372177 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.372189 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.372202 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.373585 < 16 bytes data, client => server 07:52:08.373607 'USER anonymous\r\n' 07:52:08.373833 Received DATA (on stdin) 07:52:08.373848 > 33 bytes data, server => client 07:52:08.373861 '331 We are happy you popped in!\r\n' 07:52:08.373919 < 22 bytes data, client => server 07:52:08.373931 'PASS ftp@example.com\r\n' 07:52:08.374053 Received DATA (on stdin) 07:52:08.374066 > 30 bytes data, server => client 07:52:08.374079 '230 Welcome you silly person\r\n' 07:52:08.374129 < 5 bytes data, client => server 07:52:08.374142 'PWD\r\n' 07:52:08.374256 Received DATA (on stdin) 07:52:08.374268 > 30 bytes data, server => client 07:52:08.374280 '257 "/" is current directory\r\n' 07:52:08.374340 < 6 bytes data, client => server 07:52:08.374352 'EPSV\r\n' 07:52:08.383462 Received DATA (on stdin) 07:52:08.383478 > 39 bytes data, server => client 07:52:08.383491 '229 Entering Passive Mode (|||43999|)\r\n' 07:52:08.383621 < 8 bytes data, client => server 07:52:08.383638 'TYPE I\r\n' 07:52:08.383866 Received DATA (on stdin) 07:52:08.383879 > 33 bytes data, server => client 07:52:08.383891 '200 I modify TYPE as you wanted\r\n' 07:52:08.383945 < 21 bytes data, client => server 07:52:08.383958 'SIZE verifiedserver\r\n' 07:52:08.384068 Received DATA (on stdin) 07:52:08.384080 > 8 bytes data, server => client 07:52:08.384091 '213 17\r\n' 07:52:08.384140 < 21 bytes data, client => server 07:52:08.384152 'RETR verifiedserver\r\n' 07:52:08.384366 Received DATA (on stdin) 07:52:08.384380 > 29 bytes data, server => client 07:52:08.384392 '150 Binary junk (17 bytes).\r\n' 07:52:08.384947 Received DATA (on stdin) 07:52:08.384961 > 28 bytes data, server => client 07:52:08.384973 '226 File transfer complete\r\n' 07:52:08.429407 < 6 bytes data, client => server 07:52:08.429438 'QUIT\r\n' 07:52:08.429834 Received DATA (on stdin) 07:52:08.429866 > 18 bytes data, server => client 07:52:08.429895 '221 bye bye baby\r\n' 07:52:08.430916 ====> Client disconnect 07:52:08.431690 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:08.380943 Running IPv4 version 07:52:08.381013 Listening on port 43999 07:52:08.381047 Wrote pid 136473 to log/5/server/ftp_sockdata.pid 07:52:08.383183 Received PING (on stdin) 07:52:08.383291 Received PORT (on stdin) 07:52:08.383658 ====> Client connect 07:52:08.384447 Received DATA (on stdin) 07:52:08.384464 > 17 bytes data, sCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/20/stdout1119 2> log/20/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/11/valgrind1103 ../src/curl -q --output log/11/curl1103.out --include --trace-ascii log/11/trace1103 --trace-time ftp://127.0.0.1:46223/1103 > log/11/stdout1103 2> log/11/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/12/valgrind1106 ../src/curl -q --output log/12/curl1106.out --include --trace-ascii log/12/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/12/stdout1106 2> log/12/stderr1106 erver => client 07:52:08.384475 'WE ROOLZ: 80550\r\n' 07:52:08.384502 Received DISC (on stdin) 07:52:08.384515 ====> Client forcibly disconnected 07:52:08.384662 Received QUIT (on stdin) 07:52:08.384675 quits 07:52:08.384736 ============> 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 ==136505== ==136505== Process terminating with default action of signal 4 (SIGILL) ==136505== Illegal opcode at address 0x4013DC0 ==136505== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136505== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1102 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/20/stdout1119 2> log/20/stderr1119 valgrind SKIPPED s------e--- OK (1060 out of 1746, remaining: 00:57, took 0.604s, duration: 01:28) 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/11/valgrind1103 ../src/curl -q --output log/11/curl1103.out --include --trace-ascii log/11/trace1103 --trace-time ftp://127.0.0.1:46223/1103 > log/11/stdout1103 2> log/11/stderr1103 1103: 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/ dir 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/11/valgrind1103 ../src/curl -q --output log/11/curl1103.out --include --trace-ascii log/11/trace1103 --trace-time ftp://127.0.0.1:46223/1103 > log/11/stdout1103 2> log/11/stderr1103 === End of file commands.log === Start of file ftp_server.log 07:52:08.551270 ====> Client connect 07:52:08.551429 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:08.558039 < "USER anonymous" 07:52:08.558095 > "331 We are happy you popped in![CR][LF]" 07:52:08.558435 < "PASS ftp@example.com" 07:52:08.558471 > "230 Welcome you silly person[CR][LF]" 07:52:08.558652 < "PWD" 07:52:08.558684 > "257 "/" is current directory[CR][LF]" 07:52:08.559776 < "EPSV" 07:52:08.559827 ====> Passive DATA channel requested by client 07:52:08.559841 DATA sockfilt for passive data channel starting... 07:52:08.566039 DATA sockfilt for passive data channel started (pid 136481) 07:52:08.566166 DATA sockfilt for passive data channel listens on port 39391 07:52:08.566221 > "229 Entering Passive Mode (|||39391|)[CR][LF]" 07:52:08.566244 Client has been notified that DATA conn will be accepted on port 39391 07:52:08.571303 Client connects to port 39391 07:52:08.571341 ====> Client established passive DATA connection on port 39391 07:52:08.571433 < "TYPE I" 07:52:08.571467 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:08.574843 < "SIZE verifiedserver" 07:52:08.574895 > "213 17[CR][LF]" 07:52:08.575069 < "RETR verifiedserver" 07:52:08.575104 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:08.575198 =====> Closing passive DATA connection... 07:52:08.575213 Server disconnects passive DATA connection 07:52:08.575386 Server disconnected passive DATA connection 07:52:08.575407 DATA sockfilt for passive data channel quits (pid 136481) 07:52:08.575675 DATA sockfilt for passive data channel quit (pid 136481) 07:52:08.575699 =====> Closed passive DATA connection 07:52:08.575730 > "226 File transfer complete[CR][LF]" 07:52:08.624718 < "QUIT" 07:52:08.624780 > "221 bye bye baby[CR][LF]" 07:52:08.625892 MAIN sockfilt said DISC 07:52:08.625966 ====> Client disconnected 07:52:08.626038 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.376650 ====> Client connect 07:52:08.382647 Received DATA (on stdin) 07:52:08.382677 > 160 bytes data, server => client 07:52:08.382692 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.382704 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.382716 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.382808 < 16 bytes data, client => server 07:52:08.382822 'USER anonymous\r\n' 07:52:08.386162 Received DATA (on stdin) 07:52:08.386185 > 33 bytes data, server => client 07:52:08.386198 '331 We are happy you popped in!\r\n' 07:52:08.386264 < 22 bytes data, client => server 07:52:08.386277 'PASS ftp@example.com\r\n' 07:52:08.386430 Received DATA (on stdin) 07:52:08.386448 > 30 bytes data, server => client 07:52:08.386460 '230 Welcome you silly person\r\n' 07:52:08.386508 < 5 bytes data, client => server 07:52:08.386519 'PWD\r\n' 07:52:08.386625 Received DATA (on stdin) 07:52:08.386636 > 30 bytes data, server => client 07:52:08.386647 '257 "/" is current directory\r\n' 07:52:08.387086 < 6 bytes data, client => server 07:52:08.387105 'EPSV\r\n' 07:52:08.395846 Received DATA (on stdin) 07:52:08.395870 > 39 bytes data, server => client 07:52:08.395883 '229 Entering Passive Mode (|||39391|)\r\n' 07:52:08.396222 < 8 bytes data, client => server 07:52:08.396244 'TYPE I\r\n' 07:52:08.402567 Received DATA (on stdin) 07:52:08.402591 > 33 bytes data, server => client 07:52:08.402604 '200 I modify TYPE as you wanted\r\n' 07:52:08.402677 < 21 bytes data, client => server 07:52:08.402690 'SIZE verifiedserver\r\n' 07:52:08.402843 Received DATA (on stdin) 07:52:08.402856 > 8 bytes data, server => client 07:52:08.402868 '213 17\r\n' 07:52:08.402920 < 21 bytes data, client => server 07:52:08.402933 'RETR verifiedserver\r\n' 07:52:08.403158 Received DATA (on stdin) 07:52:08.403170 > 29 bytes data, server => client 07:52:08.403182 '150 Binary junk (17 bytes).\r\n' 07:52:08.403675 Received DATA (on stdin) 07:52:08.403690 > 28 bytes data, server => client 07:52:08.403703 '226 File transfer complete\r\n' 07:52:08.452393 < 6 bytes data, client => server 07:52:08.452423 'QUIT\r\n' 07:52:08.452730 Received DATA (on stdin) 07:52:08.452747 > 18 bytes data, server => client 07:52:08.452758 '221 bye bye baby\r\n' 07:52:08.452887 ====> Client disconnect 07:52:08.453980 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:08.393640 Running IPv4 version 07:52:08.393705 Listening on port 39391 07:52:08.393746 Wrote pid 136481 to log/11/server/ftp_sockdata.pid 07:52:08.393913 Received PING (on stdin) 07:52:08.394013 Received PORT (on stdin) 07:52:08.399184 ====> Client connect 07:52:08.403209 Received DATA (on stdin) 07:52:08.403224 > 17 bytes data, server => client 07:52:08.403235 'WE ROOLZ: 83264\r\n' 07:52:08.403264 Received DISC (on stdin) 07:52:08.403277 ====> Client forcibly disconnected 07:52:08.403353 Received QUIT (on stdin) 07:52:08.403364 quits 07:52:08.403430 ============> 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 ==136543== ==136543== Process terminating with default action of signal 4 (SIGILL) ==136543== Illegal opcode at address 0x4013DC0 ==136543== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136543== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136543== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136543== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1103 setenv ftp_proxy = http://127.0.0.1:38023/ test 1106...[FTP URL anCMD (33792): ../libtool --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/valgrind1105 ../src/curl -q --output log/6/curl1105.out --include --trace-ascii log/6/trace1105 --trace-time "http://127.0.0.1:45933/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/6/cookie1105.txt -d "userid=myname&password=mypassword" > log/6/stdout1105 2> log/6/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/10/valgrind1104 ../src/curl -q --output log/10/curl1104.out --include --trace-ascii log/10/trace1104 --trace-time http://127.0.0.1:34041/want/1104 -L -x 127.0.0.1:34041 -c log/10/cookies1104.jar > log/10/stdout1104 2> log/10/stderr1104 d 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/12/valgrind1106 ../src/curl -q --output log/12/curl1106.out --include --trace-ascii log/12/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/12/stdout1106 2> log/12/stderr1106 1106: 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/ dir 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/12/valgrind1106 ../src/curl -q --output log/12/curl1106.out --include --trace-ascii log/12/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/12/stdout1106 2> log/12/stderr1106 === End of file commands.log === Start of file http_server.log 07:52:08.524703 ====> Client connect 07:52:08.524734 accept_connection 3 returned 4 07:52:08.524751 accept_connection 3 returned 0 07:52:08.524766 Read 93 bytes 07:52:08.524778 Process 93 bytes request 07:52:08.524791 Got request: GET /verifiedserver HTTP/1.1 07:52:08.524801 Are-we-friendly question received 07:52:08.524829 Wrote request (93 bytes) input to log/12/server.input 07:52:08.524846 Identifying ourselves as friends 07:52:08.524897 Response sent (56 bytes) and written to log/12/server.response 07:52:08.524908 special request received, no persistency 07:52:08.524918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 49560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1106 ==136608== ==136608== Process terminating with default action of signal 4 (SIGILL) ==136608== Illegal opcode at address 0x4013DC0 ==136608== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136608== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1106 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/6/valgrind1105 ../src/curl -q --output log/6/curl1105.out --include --trace-ascii log/6/trace1105 --trace-time "http://127.0.0.1:45933/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/6/cookie1105.txt -d "userid=myname&password=mypassword" > log/6/stdout1105 2> log/6/stderr1105 1105: 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/ dir 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/6/valgrind1105 ../src/curl -q --output log/6/curl1105.out --include --trace-ascii log/6/trace1105 --trace-time "http://127.0.0.1:45933/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/6/cookie1105.txt -d "userid=myname&password=mypassword" > log/6/stdout1105 2> log/6/stderr1105 === End of file commands.log === Start of file http_server.log 07:52:08.516250 ====> Client connect 07:52:08.516286 accept_connection 3 returned 4 07:52:08.516305 accept_connection 3 returned 0 07:52:08.516454 Read 93 bytes 07:52:08.516475 Process 93 bytes request 07:52:08.516493 Got request: GET /verifiedserver HTTP/1.1 07:52:08.516504 Are-we-friendly question received 07:52:08.516535 Wrote request (93 bytes) input to log/6/server.input 07:52:08.516553 Identifying ourselves as friends 07:52:08.516609 Response sent (56 bytes) and written to log/6/server.response 07:52:08.516620 special request received, no persistency 07:52:08.516630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 42146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1105 ==136599== ==136599== Process terminating with default action of signal 4 (SIGILL) ==136599== Illegal opcode at address 0x4013DC0 ==136599== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136599== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136599== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136599== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1105 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/10/valgrind1104 ../src/curl -q --output log/10/curl1104.out --include --trace-ascii log/10/trace1104 --trace-time http://127.0.0.1:34041/want/1104 -L -x 127.0.0.1:34041 -c log/10/cookies1104.jar > log/10/stdout1104 2> log/10/stderr1104 1104: 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/ dir 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/10/valgrind1104 ../src/curl -q --output log/10/curl1104.out --include --trace-ascii log/10/trace1104 --trace-time http://127.0.0.1:34041/want/1104 -L -x 127.0.0.1:34041 -c log/10/cookies1104.jar > log/10/stdout1104 2> log/10/stderr1104 === End of file commands.log === Start of file http_server.log 07:52:08.391643 ====> Client connect 07:52:08.391676 accept_connection 3 returned 4 07:52:08.391693 accept_connection 3 returned 0 07:52:08.396047 Read 93 bytes 07:52:08.396068 Process 93 bytes request 07:52:08.396084 Got request: GET /verifiedserver HTTP/1.1 07:52:08.396095 Are-we-friendly question received 07:52:08.396132 Wrote request (93 bytes) input to log/10/server.input 07:52:08.396151 Identifying ourselves as friends 07:52:08.396210 Response sent (56 bytes) and written to log/10/server.response 07:52:08.396221 special request received, no persistency 07:52:08.396232 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 48914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to hoCMD (33792): ../libtool --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/valgrind1107 ../src/curl -q --output log/8/curl1107.out --include --trace-ascii log/8/trace1107 --trace-time ftp://127.0.0.1:35961/1107 --ftp-pret > log/8/stdout1107 2> log/8/stderr1107 CMD (33792): ../libtool --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:45761/1109#test > log/21/stdout1109 2> log/21/stderr1109 st 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1104 ==136490== ==136490== Process terminating with default action of signal 4 (SIGILL) ==136490== Illegal opcode at address 0x4013DC0 ==136490== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136490== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136490== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136490== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1104 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/8/valgrind1107 ../src/curl -q --output log/8/curl1107.out --include --trace-ascii log/8/trace1107 --trace-time ftp://127.0.0.1:35961/1107 --ftp-pret > log/8/stdout1107 2> log/8/stderr1107 1107: 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/ dir 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/8/valgrind1107 ../src/curl -q --output log/8/curl1107.out --include --trace-ascii log/8/trace1107 --trace-time ftp://127.0.0.1:35961/1107 --ftp-pret > log/8/stdout1107 2> log/8/stderr1107 === End of file commands.log === Start of file ftp_server.log 07:52:08.737226 ====> Client connect 07:52:08.737407 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:08.737726 < "USER anonymous" 07:52:08.737769 > "331 We are happy you popped in![CR][LF]" 07:52:08.737983 < "PASS ftp@example.com" 07:52:08.738020 > "230 Welcome you silly person[CR][LF]" 07:52:08.738201 < "PWD" 07:52:08.738237 > "257 "/" is current directory[CR][LF]" 07:52:08.738423 < "EPSV" 07:52:08.738448 ====> Passive DATA channel requested by client 07:52:08.738463 DATA sockfilt for passive data channel starting... 07:52:08.745356 DATA sockfilt for passive data channel started (pid 136656) 07:52:08.745479 DATA sockfilt for passive data channel listens on port 38467 07:52:08.745526 > "229 Entering Passive Mode (|||38467|)[CR][LF]" 07:52:08.745546 Client has been notified that DATA conn will be accepted on port 38467 07:52:08.748099 Client connects to port 38467 07:52:08.748132 ====> Client established passive DATA connection on port 38467 07:52:08.751657 < "TYPE I" 07:52:08.751697 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:08.751887 < "SIZE verifiedserver" 07:52:08.751928 > "213 17[CR][LF]" 07:52:08.752098 < "RETR verifiedserver" 07:52:08.752132 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:08.752227 =====> Closing passive DATA connection... 07:52:08.752245 Server disconnects passive DATA connection 07:52:08.754777 Server disconnected passive DATA connection 07:52:08.754807 DATA sockfilt for passive data channel quits (pid 136656) 07:52:08.755039 DATA sockfilt for passive data channel quit (pid 136656) 07:52:08.755066 =====> Closed passive DATA connection 07:52:08.755098 > "226 File transfer complete[CR][LF]" 07:52:08.798227 < "QUIT" 07:52:08.798284 > "221 bye bye baby[CR][LF]" 07:52:08.799320 MAIN sockfilt said DISC 07:52:08.799363 ====> Client disconnected 07:52:08.799440 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.565041 ====> Client connect 07:52:08.565370 Received DATA (on stdin) 07:52:08.565388 > 160 bytes data, server => client 07:52:08.565402 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.565415 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.565427 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.565504 < 16 bytes data, client => server 07:52:08.565521 'USER anonymous\r\n' 07:52:08.565717 Received DATA (on stdin) 07:52:08.565732 > 33 bytes data, server => client 07:52:08.565744 '331 We are happy you popped in!\r\n' 07:52:08.565800 < 22 bytes data, client => server 07:52:08.565815 'PASS ftp@example.com\r\n' 07:52:08.565966 Received DATA (on stdin) 07:52:08.565980 > 30 bytes data, server => client 07:52:08.565992 '230 Welcome you silly person\r\n' 07:52:08.566047 < 5 bytes data, client => server 07:52:08.566060 'PWD\r\n' 07:52:08.566183 Received DATA (on stdin) 07:52:08.566196 > 30 bytes data, server => client 07:52:08.566208 '257 "/" is current directory\r\n' 07:52:08.566270 < 6 bytes data, client => server 07:52:08.566284 'EPSV\r\n' 07:52:08.574054 Received DATA (on stdin) 07:52:08.574076 > 39 bytes data, server => client 07:52:08.574090 '229 Entering Passive Mode (|||38467|)\r\n' 07:52:08.579460 < 8 bytes data, client => server 07:52:08.579484 'TYPE I\r\n' 07:52:08.579644 Received DATA (on stdin) 07:52:08.579661 > 33 bytes data, server => client 07:52:08.579674 '200 I modify TYPE as you wanted\r\n' 07:52:08.579736 < 21 bytes data, client => server 07:52:08.579749 'SIZE verifiedserver\r\n' 07:52:08.579872 Received DATA (on stdin) 07:52:08.579885 > 8 bytes data, server => client 07:52:08.579897 '213 17\r\n' 07:52:08.579952 < 21 bytes data, client => server 07:52:08.579966 'RETR verifiedserver\r\n' 07:52:08.580193 Received DATA (on stdin) 07:52:08.580208 > 29 bytes data, server => client 07:52:08.580221 '150 Binary junk (17 bytes).\r\n' 07:52:08.583043 Received DATA (on stdin) 07:52:08.583057 > 28 bytes data, server => client 07:52:08.583069 '226 File transfer complete\r\n' 07:52:08.625965 < 6 bytes data, client => server 07:52:08.625993 'QUIT\r\n' 07:52:08.626233 Received DATA (on stdin) 07:52:08.626246 > 18 bytes data, server => client 07:52:08.626259 '221 bye bye baby\r\n' 07:52:08.627204 ====> Client disconnect 07:52:08.627383 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:08.571058 Running IPv4 version 07:52:08.571121 Listening on port 38467 07:52:08.573211 Wrote pid 136656 to log/8/server/ftp_sockdata.pid 07:52:08.573240 Received PING (on stdin) 07:52:08.573325 Received PORT (on stdin) 07:52:08.575980 ====> Client connect 07:52:08.582519 Received DATA (on stdin) 07:52:08.582539 > 17 bytes data, server => client 07:52:08.582551 'WE ROOLZ: 80636\r\n' 07:52:08.582585 Received DISC (on stdin) 07:52:08.582600 ====> Client forcibly disconnected 07:52:08.582762 Received QUIT (on stdin) 07:52:08.582775 quits 07:52:08.582842 ============> 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 ==136755== ==136755== Process terminating with default action of signal 4 (SIGILL) ==136755== Illegal opcode at address 0x4013DC0 ==136755== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136755== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136755== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136755== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1107 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:45761/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/ dir after test 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/13/valgrind1110 ../src/curl -q --output log/13/curl1110.out --include --trace-ascii log/13/trace1110 --trace-time http://127.0.0.1:35041/1110?q=foobar#fragment > log/13/stdout1110 2> log/13/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/3/valgrind1111 ../src/curl -q --output log/3/curl1111.out --include --trace-ascii log/3/trace1111 --trace-time http://127.0.0.1:34059/1111?q=foobar#fragment#fragment2 > log/3/stdout1111 2> log/3/stderr1111 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/8/stdout1132 2> log/8/stderr1132 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/21/valgrind1109 ../src/curl -q --output log/21/curl1109.out --include --trace-ascii log/21/trace1109 --trace-time http://127.0.0.1:45761/1109#test > log/21/stdout1109 2> log/21/stderr1109 === End of file commands.log === Start of file http_server.log 07:52:08.691977 ====> Client connect 07:52:08.692012 accept_connection 3 returned 4 07:52:08.692029 accept_connection 3 returned 0 07:52:08.692043 Read 93 bytes 07:52:08.692054 Process 93 bytes request 07:52:08.692068 Got request: GET /verifiedserver HTTP/1.1 07:52:08.692079 Are-we-friendly question received 07:52:08.692104 Wrote request (93 bytes) input to log/21/server.input 07:52:08.692122 Identifying ourselves as friends 07:52:08.692176 Response sent (56 bytes) and written to log/21/server.response 07:52:08.692187 special request received, no persistency 07:52:08.692197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1109 ==136840== ==136840== Process terminating with default action of signal 4 (SIGILL) ==136840== Illegal opcode at address 0x4013DC0 ==136840== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136840== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136840== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136840== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1109 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/13/valgrind1110 ../src/curl -q --output log/13/curl1110.out --include --trace-ascii log/13/trace1110 --trace-time http://127.0.0.1:35041/1110?q=foobar#fragment > log/13/stdout1110 2> log/13/stderr1110 1110: 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/ dir 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/13/valgrind1110 ../src/curl -q --output log/13/curl1110.out --include --trace-ascii log/13/trace1110 --trace-time http://127.0.0.1:35041/1110?q=foobar#fragment > log/13/stdout1110 2> log/13/stderr1110 === End of file commands.log === Start of file http_server.log 07:52:08.823759 ====> Client connect 07:52:08.823797 accept_connection 3 returned 4 07:52:08.823816 accept_connection 3 returned 0 07:52:08.823833 Read 93 bytes 07:52:08.823845 Process 93 bytes request 07:52:08.823860 Got request: GET /verifiedserver HTTP/1.1 07:52:08.823871 Are-we-friendly question received 07:52:08.823899 Wrote request (93 bytes) input to log/13/server.input 07:52:08.823918 Identifying ourselves as friends 07:52:08.823977 Response sent (56 bytes) and written to log/13/server.response 07:52:08.823990 special request received, no persistency 07:52:08.824000 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 57818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1110 ==136979== ==136979== Process terminating with default action of signal 4 (SIGILL) ==136979== Illegal opcode at address 0x4013DC0 ==136979== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136979== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136979== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136979== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1110 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/3/valgrind1111 ../src/curl -q --output log/3/curl1111.out --include --trace-ascii log/3/trace1111 --trace-time http://127.0.0.1:34059/1111?q=foobar#fragment#fragment2 > log/3/stdout1111 2> log/3/stderr1111 1111: 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/ dir 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/3/valgrind1111 ../src/curl -q --output log/3/curl1111.out --include --trace-ascii log/3/trace1111 --trace-time http://127.0.0.1:34059/1111?q=foobar#fragment#fragment2 > log/3/stdout1111 2> log/3/stderr1111 === End of file commands.log === Start of file http_server.log 07:52:09.833414 ====> Client connect 07:52:09.833453 accept_connection 3 returned 4 07:52:09.833471 accept_connection 3 returned 0 07:52:09.833486 Read 93 bytes 07:52:09.833496 Process 93 bytes request 07:52:09.833508 Got request: GET /verifiedserver HTTP/1.1 07:52:09.833517 Are-we-friendly question received 07:52:09.833552 Wrote request (93 bytes) input to log/3/server.input 07:52:09.833569 Identifying ourselves as friends 07:52:09.833626 Response sent (56 bytes) and written to log/3/server.response 07:52:09.833637 special request received, no persistency 07:52:09.833647 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 33544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1111 ==137014== ==137014== Process terminating with default action of signal 4 (SIGILL) ==137014== Illegal opcode at address 0x4013DC0 ==137014== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137014== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137014== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137014== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1111 test 1132...CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/3/stdout1135 2> log/3/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/4/valgrind1108 ../src/curl -q --output log/4/curl1108.out --include --trace-ascii log/4/trace1108 --trace-time ftp://127.0.0.1:37071/1108 --ftp-pret > log/4/stdout1108 2> log/4/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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:39661/1115 > log/7/stdout1115 2> log/7/stderr1115 [Verify memory #include files in libcurl's C source files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/8/stdout1132 2> log/8/stderr1132 valgrind SKIPPED -------e--- OK (1073 out of 1746, remaining: 00:55, took 0.043s, duration: 01:28) 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/3/stdout1135 2> log/3/stderr1135 valgrind SKIPPED s------e--- OK (1076 out of 1746, remaining: 00:55, took 0.059s, duration: 01:29) 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/4/valgrind1108 ../src/curl -q --output log/4/curl1108.out --include --trace-ascii log/4/trace1108 --trace-time ftp://127.0.0.1:37071/1108 --ftp-pret > log/4/stdout1108 2> log/4/stderr1108 1108: 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/ dir 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/4/valgrind1108 ../src/curl -q --output log/4/curl1108.out --include --trace-ascii log/4/trace1108 --trace-time ftp://127.0.0.1:37071/1108 --ftp-pret > log/4/stdout1108 2> log/4/stderr1108 === End of file commands.log === Start of file ftp_server.log 07:52:08.883239 ====> Client connect 07:52:08.883389 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:08.883716 < "USER anonymous" 07:52:08.883757 > "331 We are happy you popped in![CR][LF]" 07:52:08.883955 < "PASS ftp@example.com" 07:52:08.883987 > "230 Welcome you silly person[CR][LF]" 07:52:08.884137 < "PWD" 07:52:08.884168 > "257 "/" is current directory[CR][LF]" 07:52:08.884332 < "EPSV" 07:52:08.884360 ====> Passive DATA channel requested by client 07:52:08.884374 DATA sockfilt for passive data channel starting... 07:52:08.889653 DATA sockfilt for passive data channel started (pid 136839) 07:52:08.889794 DATA sockfilt for passive data channel listens on port 40013 07:52:08.889839 > "229 Entering Passive Mode (|||40013|)[CR][LF]" 07:52:08.889858 Client has been notified that DATA conn will be accepted on port 40013 07:52:08.890104 Client connects to port 40013 07:52:08.890136 ====> Client established passive DATA connection on port 40013 07:52:08.890217 < "TYPE I" 07:52:08.890246 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:08.890412 < "SIZE verifiedserver" 07:52:08.890451 > "213 17[CR][LF]" 07:52:08.890605 < "RETR verifiedserver" 07:52:08.890641 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:08.890725 =====> Closing passive DATA connection... 07:52:08.890742 Server disconnects passive DATA connection 07:52:08.890996 Server disconnected passive DATA connection 07:52:08.891024 DATA sockfilt for passive data channel quits (pid 136839) 07:52:08.891283 DATA sockfilt for passive data channel quit (pid 136839) 07:52:08.891306 =====> Closed passive DATA connection 07:52:08.891334 > "226 File transfer complete[CR][LF]" 07:52:08.935088 < "QUIT" 07:52:08.935145 > "221 bye bye baby[CR][LF]" 07:52:08.936187 MAIN sockfilt said DISC 07:52:08.936220 ====> Client disconnected 07:52:08.936293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.711077 ====> Client connect 07:52:08.711348 Received DATA (on stdin) 07:52:08.711365 > 160 bytes data, server => client 07:52:08.711380 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.711392 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.711404 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.711507 < 16 bytes data, client => server 07:52:08.711521 'USER anonymous\r\n' 07:52:08.711703 Received DATA (on stdin) 07:52:08.711716 > 33 bytes data, server => client 07:52:08.711728 '331 We are happy you popped in!\r\n' 07:52:08.711785 < 22 bytes data, client => server 07:52:08.711798 'PASS ftp@example.com\r\n' 07:52:08.711929 Received DATA (on stdin) 07:52:08.711941 > 30 bytes data, server => client 07:52:08.711953 '230 Welcome you silly person\r\n' 07:52:08.711998 < 5 bytes data, client => server 07:52:08.712008 'PWD\r\n' 07:52:08.712107 Received DATA (on stdin) 07:52:08.712119 > 30 bytes data, server => client 07:52:08.712129 '257 "/" is current directory\r\n' 07:52:08.712187 < 6 bytes data, client => server 07:52:08.712200 'EPSV\r\n' 07:52:08.717804 Received DATA (on stdin) 07:52:08.717819 > 39 bytes data, server => client 07:52:08.717832 '229 Entering Passive Mode (|||40013|)\r\n' 07:52:08.717958 < 8 bytes data, client => server 07:52:08.717974 'TYPE I\r\n' 07:52:08.718189 Received DATA (on stdin) 07:52:08.718202 > 33 bytes data, server => client 07:52:08.718214 '200 I modify TYPE as you wanted\r\n' 07:52:08.718267 < 21 bytes data, client => server 07:52:08.718281 'SIZE verifiedserver\r\n' 07:52:08.718393 Received DATA (on stdin) 07:52:08.718405 > 8 bytes data, server => client 07:52:08.718416 '213 17\r\n' 07:52:08.718464 < 21 bytes data, client => server 07:52:08.718477 'RETR verifiedserver\r\n' 07:52:08.718686 Received DATA (on stdin) 07:52:08.718700 > 29 bytes data, server => client 07:52:08.718712 '150 Binary junk (17 bytes).\r\n' 07:52:08.719277 Received DATA (on stdin) 07:52:08.719291 > 28 bytes data, server => client 07:52:08.719302 '226 File transfer complete\r\n' 07:52:08.762824 < 6 bytes data, client => server 07:52:08.762856 'QUIT\r\n' 07:52:08.763095 Received DATA (on stdin) 07:52:08.763109 > 18 bytes data, server => client 07:52:08.763121 '221 bye bye baby\r\n' 07:52:08.764072 ====> Client disconnect 07:52:08.764239 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:08.717375 Running IPv4 version 07:52:08.717464 Listening on port 40013 07:52:08.717506 Wrote pid 136839 to log/4/server/ftp_sockdata.pid 07:52:08.717532 Received PING (on stdin) 07:52:08.717633 Received PORT (on stdin) 07:52:08.717997 ====> Client connect 07:52:08.718740 Received DATA (on stdin) 07:52:08.718755 > 17 bytes data, server => client 07:52:08.718767 'WE ROOLZ: 80637\r\n' 07:52:08.718792 Received DISC (on stdin) 07:52:08.718804 ====> Client forcibly disconnected 07:52:08.718973 Received QUIT (on stdin) 07:52:08.718986 quits 07:52:08.719047 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 550 unknown command Testnum 1108 === End of file server.cmd === Start of file valgrind1108 ==136884== ==136884== Process terminating with default action of signal 4 (SIGILL) ==136884== Illegal opcode at address 0x4013DC0 ==136884== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==136884== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136884== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==136884== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1108 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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:39661/1115 > log/7/stdout1115 2> log/7/stderr1115 1115: 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/ dir 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 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/7/stdout1139 2> log/7/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/17/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:44771/fully_simulated/DOS/* > log/17/stdout1114 2> log/17/stderr1114 --log-file=log/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:39661/1115 > log/7/stdout1115 2> log/7/stderr1115 === End of file commands.log === Start of file http_server.log 07:52:09.925980 ====> Client connect 07:52:09.926014 accept_connection 3 returned 4 07:52:09.926031 accept_connection 3 returned 0 07:52:09.926047 Read 93 bytes 07:52:09.926057 Process 93 bytes request 07:52:09.926071 Got request: GET /verifiedserver HTTP/1.1 07:52:09.926081 Are-we-friendly question received 07:52:09.926106 Wrote request (93 bytes) input to log/7/server.input 07:52:09.926123 Identifying ourselves as friends 07:52:09.926179 Response sent (56 bytes) and written to log/7/server.response 07:52:09.926190 special request received, no persistency 07:52:09.926199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 55618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1115 ==137162== ==137162== Process terminating with default action of signal 4 (SIGILL) ==137162== Illegal opcode at address 0x4013DC0 ==137162== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137162== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137162== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137162== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1115 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/7/stdout1139 2> log/7/stderr1139 valgrind SKIPPED -r-----e--- OK (1080 out of 1746, remaining: 00:55, took 0.072s, duration: 01:29) 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/17/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:44771/fully_simulated/DOS/* > log/17/stdout1114 2> log/17/stderr1114 1114: stdout FAILED: --- log/17/check-expected 2025-11-07 07:52:10.560707379 +0000 +++ log/17/check-generated 2025-11-07 07:52:10.560707379 +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/17/ dir 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/17/valgrind1114 ./libtest/libtestsCMD (33792): ../libtool --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/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:36707/fully_simulated/DOS/*.txt" > log/24/stdout1113 2> log/24/stderr1113 lib576 ftp://127.0.0.1:44771/fully_simulated/DOS/* > log/17/stdout1114 2> log/17/stderr1114 === End of file commands.log === Start of file ftp_server.log 07:52:09.040678 ====> Client connect 07:52:09.040814 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:09.041071 < "USER anonymous" 07:52:09.041112 > "331 We are happy you popped in![CR][LF]" 07:52:09.041711 < "PASS ftp@example.com" 07:52:09.041751 > "230 Welcome you silly person[CR][LF]" 07:52:09.041905 < "PWD" 07:52:09.041937 > "257 "/" is current directory[CR][LF]" 07:52:09.042083 < "EPSV" 07:52:09.042105 ====> Passive DATA channel requested by client 07:52:09.042118 DATA sockfilt for passive data channel starting... 07:52:09.044383 DATA sockfilt for passive data channel started (pid 137051) 07:52:09.044491 DATA sockfilt for passive data channel listens on port 33597 07:52:09.044528 > "229 Entering Passive Mode (|||33597|)[CR][LF]" 07:52:09.044547 Client has been notified that DATA conn will be accepted on port 33597 07:52:09.044765 Client connects to port 33597 07:52:09.044795 ====> Client established passive DATA connection on port 33597 07:52:09.044890 < "TYPE I" 07:52:09.044918 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:09.045060 < "SIZE verifiedserver" 07:52:09.045116 > "213 17[CR][LF]" 07:52:09.045252 < "RETR verifiedserver" 07:52:09.045285 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:09.045584 =====> Closing passive DATA connection... 07:52:09.045603 Server disconnects passive DATA connection 07:52:09.045622 Fancy that; client wants to DISC, too 07:52:09.045697 Server disconnected passive DATA connection 07:52:09.045714 DATA sockfilt for passive data channel quits (pid 137051) 07:52:09.045968 DATA sockfilt for passive data channel quit (pid 137051) 07:52:09.045991 =====> Closed passive DATA connection 07:52:09.046015 > "226 File transfer complete[CR][LF]" 07:52:09.091721 < "QUIT" 07:52:09.091770 > "221 bye bye baby[CR][LF]" 07:52:09.092795 MAIN sockfilt said DISC 07:52:09.092836 ====> Client disconnected 07:52:09.092903 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.868530 ====> Client connect 07:52:08.868765 Received DATA (on stdin) 07:52:08.868780 > 160 bytes data, server => client 07:52:08.868792 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.868802 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.868813 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.868876 < 16 bytes data, client => server 07:52:08.868888 'USER anonymous\r\n' 07:52:08.869055 Received DATA (on stdin) 07:52:08.869067 > 33 bytes data, server => client 07:52:08.869077 '331 We are happy you popped in!\r\n' 07:52:08.869523 < 22 bytes data, client => server 07:52:08.869541 'PASS ftp@example.com\r\n' 07:52:08.869692 Received DATA (on stdin) 07:52:08.869704 > 30 bytes data, server => client 07:52:08.869715 '230 Welcome you silly person\r\n' 07:52:08.869761 < 5 bytes data, client => server 07:52:08.869771 'PWD\r\n' 07:52:08.869877 Received DATA (on stdin) 07:52:08.869888 > 30 bytes data, server => client 07:52:08.869899 '257 "/" is current directory\r\n' 07:52:08.869948 < 6 bytes data, client => server 07:52:08.869959 'EPSV\r\n' 07:52:08.872492 Received DATA (on stdin) 07:52:08.872517 > 39 bytes data, server => client 07:52:08.872528 '229 Entering Passive Mode (|||33597|)\r\n' 07:52:08.872629 < 8 bytes data, client => server 07:52:08.872643 'TYPE I\r\n' 07:52:08.872857 Received DATA (on stdin) 07:52:08.872870 > 33 bytes data, server => client 07:52:08.872880 '200 I modify TYPE as you wanted\r\n' 07:52:08.872925 < 21 bytes data, client => server 07:52:08.872936 'SIZE verifiedserver\r\n' 07:52:08.873056 Received DATA (on stdin) 07:52:08.873067 > 8 bytes data, server => client 07:52:08.873077 '213 17\r\n' 07:52:08.873119 < 21 bytes data, client => server 07:52:08.873129 'RETR verifiedserver\r\n' 07:52:08.873259 Received DATA (on stdin) 07:52:08.873271 > 29 bytes data, server => client 07:52:08.873281 '150 Binary junk (17 bytes).\r\n' 07:52:08.873957 Received DATA (on stdin) 07:52:08.873969 > 28 bytes data, server => client 07:52:08.873980 '226 File transfer complete\r\n' 07:52:08.919496 < 6 bytes data, client => server 07:52:08.919522 'QUIT\r\n' 07:52:08.919715 Received DATA (on stdin) 07:52:08.919729 > 18 bytes data, server => client 07:52:08.919741 '221 bye bye baby\r\n' 07:52:08.920677 ====> Client disconnect 07:52:08.920844 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:09.872153 Running IPv4 version 07:52:09.872216 Listening on port 33597 07:52:09.872251 Wrote pid 137051 to log/17/server/ftp_sockdata.pid 07:52:09.872271 Received PING (on stdin) 07:52:09.872348 Received PORT (on stdin) 07:52:09.872663 ====> Client connect 07:52:09.873303 Received DATA (on stdin) 07:52:09.873316 > 17 bytes data, server => client 07:52:09.873327 'WE ROOLZ: 80557\r\n' 07:52:09.873409 ====> Client disconnect 07:52:09.873562 Received DISC (on stdin) 07:52:09.873572 Crikey! Client also wants to disconnect 07:52:09.873583 Received ACKD (on stdin) 07:52:09.873661 Received QUIT (on stdin) 07:52:09.873671 quits 07:52:09.873746 ============> 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:44771/fully_simulated/DOS/* === End of file stderr1114 === Start of file valgrind1114 ==137160== ==137160== Process terminating with default action of signal 4 (SIGILL) ==137160== Illegal opcode at address 0x51D5F1F ==137160== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==137160== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==137160== by 0x51D5F1F: Curl_open (url.c:525) ==137160== by 0x514F6EF: curl_easy_init (easy.c:371) ==137160== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==137160== by 0x400347F: main (first.c:280) ==137160== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==137160== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==137160== by 0x51D5EBD: Curl_open (url.c:504) ==137160== by 0x514F6EF: curl_easy_init (easy.c:371) ==137160== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==137160== by 0x400347F: main (first.c:280) ==137160== === End of file valgrind1114 CMD (33792): ../libtool --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/valgrind1099 ../src/curl -q --include --trace-ascii log/23/trace1099 --trace-time tftp://127.0.0.1:43347/an/invalid-file tftp://127.0.0.1:43347//1099 > log/23/stdout1099 2> log/23/stderr1099 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/24/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:36707/fully_simulated/DOS/*.txt" > log/24/stdout1113 2> log/24/stderr1113 1113: stdout FAILED: --- log/24/check-expected 2025-11-07 07:52:10.597374045 +0000 +++ log/24/check-generated 2025-11-07 07:52:10.597374045 +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/24/ dir 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/24/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:36707/fully_simulated/DOS/*.txt" > log/24/stdout1113 2> log/24/stderr1113 === End of file commands.log === Start of file ftp_server.log 07:52:09.031889 ====> Client connect 07:52:09.032057 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:09.032350 < "USER anonymous" 07:52:09.032391 > "331 We are happy you popped in![CR][LF]" 07:52:09.034682 < "PASS ftp@example.com" 07:52:09.034722 > "230 Welcome you silly person[CR][LF]" 07:52:09.034911 < "PWD" 07:52:09.034942 > "257 "/" is current directory[CR][LF]" 07:52:09.035112 < "EPSV" 07:52:09.035136 ====> Passive DATA channel requested by client 07:52:09.035151 DATA sockfilt for passive data channel starting... 07:52:09.037556 DATA sockfilt for passive data channel started (pid 137037) 07:52:09.037678 DATA sockfilt for passive data channel listens on port 38155 07:52:09.037721 > "229 Entering Passive Mode (|||38155|)[CR][LF]" 07:52:09.037736 Client has been notified that DATA conn will be accepted on port 38155 07:52:09.038040 Client connects to port 38155 07:52:09.038079 ====> Client established passive DATA connection on port 38155 07:52:09.038172 < "TYPE I" 07:52:09.038206 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:09.038371 < "SIZE verifiedserver" 07:52:09.038408 > "213 17[CR][LF]" 07:52:09.038546 < "RETR verifiedserver" 07:52:09.038578 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:09.038659 =====> Closing passive DATA connection... 07:52:09.038673 Server disconnects passive DATA connection 07:52:09.038854 Server disconnected passive DATA connection 07:52:09.038876 DATA sockfilt for passive data channel quits (pid 137037) 07:52:09.039181 DATA sockfilt for passive data channel quit (pid 137037) 07:52:09.039208 =====> Closed passive DATA connection 07:52:09.039234 > "226 File transfer complete[CR][LF]" 07:52:09.088152 < "QUIT" 07:52:09.088206 > "221 bye bye baby[CR][LF]" 07:52:09.088960 MAIN sockfilt said DISC 07:52:09.088998 ====> Client disconnected 07:52:09.089072 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:08.859705 ====> Client connect 07:52:08.860014 Received DATA (on stdin) 07:52:08.860030 > 160 bytes data, server => client 07:52:08.860043 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:08.860055 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:08.860066 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:08.860141 < 16 bytes data, client => server 07:52:08.860154 'USER anonymous\r\n' 07:52:08.860335 Received DATA (on stdin) 07:52:08.860349 > 33 bytes data, server => client 07:52:08.860360 '331 We are happy you popped in!\r\n' 07:52:08.860409 < 22 bytes data, client => server 07:52:08.860420 'PASS ftp@example.com\r\n' 07:52:08.862670 Received DATA (on stdin) 07:52:08.862685 > 30 bytes data, server => client 07:52:08.862698 '230 Welcome you silly person\r\n' 07:52:08.862756 < 5 bytes data, client => server 07:52:08.862769 'PWD\r\n' 07:52:08.862884 Received DATA (on stdin) 07:52:08.862897 > 30 bytes data, server => client 07:52:08.862909 '257 "/" is current directory\r\n' 07:52:08.862967 < 6 bytes data, client => server 07:52:08.862980 'EPSV\r\n' 07:52:08.865686 Received DATA (on stdin) 07:52:08.865704 > 39 bytes data, server => client 07:52:08.865716 '229 Entering Passive Mode (|||38155|)\r\n' 07:52:08.865890 < 8 bytes data, client => server 07:52:08.865906 'TYPE I\r\n' 07:52:08.866149 Received DATA (on stdin) 07:52:08.866161 > 33 bytes data, server => client 07:52:08.866173 '200 I modify TYPE as you wanted\r\n' 07:52:08.866227 < 21 bytes data, client => server 07:52:08.866238 'SIZE verifiedserver\r\n' 07:52:08.866347 Received DATA (on stdin) 07:52:08.866359 > 8 bytes data, server => client 07:52:08.866368 '213 17\r\n' 07:52:08.866412 < 21 bytes data, client => server 07:52:08.866423 'RETR verifiedserver\r\n' 07:52:08.866616 Received DATA (on stdin) 07:52:08.866627 > 29 bytes data, server => client 07:52:08.866637 '150 Binary junk (17 bytes).\r\n' 07:52:08.867176 Received DATA (on stdin) 07:52:08.867189 > 28 bytes data, server => client 07:52:08.867200 '226 File transfer complete\r\n' 07:52:08.915883 < 6 bytes data, client => server 07:52:08.915917 'QUIT\r\n' 07:52:08.916152 Received DATA (on stdin) 07:52:08.916166 > 18 bytes data, server => client 07:52:08.916177 '221 bye bye baby\r\n' 07:52:08.916842 ====> Client disconnect 07:52:08.917014 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:09.865146 Running IPv4 version 07:52:09.865222 Listening on port 38155 07:52:09.865254 Wrote pid 137037 to log/24/server/ftp_sockdata.pid 07:52:09.865436 Received PING (on stdin) 07:52:09.865529 Received PORT (on stdin) 07:52:09.865929 ====> Client connect 07:52:09.866689 Received DATA (on stdin) 07:52:09.866703 > 17 bytes data, server => client 07:52:09.866713 'WE ROOLZ: 83461\r\n' 07:52:09.866737 Received DISC (on stdin) 07:52:09.866748 ====> Client forcibly disconnected 07:52:09.866877 Received QUIT (on stdin) 07:52:09.866889 quits 07:52:09.866946 ============> 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:36707/fully_simulated/DOS/*.txt === End of file stderr1113 === Start of file valgrind1113 ==137169== ==137169== Process terminating with default action of signal 4 (SIGILL) ==137169== Illegal opcode at address 0x51D5F1F ==137169== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==137169== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==137169== by 0x51D5F1F: Curl_open (url.c:525) ==137169== by 0x514F6EF: curl_easy_init (easy.c:371) ==137169== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==137169== by 0x400347F: main (first.c:280) ==137169== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==137169== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==137169== by 0x51D5EBD: Curl_open (url.c:504) ==137169== by 0x514F6EF: curl_easy_init (easy.c:371) ==137169== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==137169== by 0x400347F: main (first.c:280) ==137169== === End of file valgrind1113 CMD (33792): ../libtool --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/valgrind1117 ../src/curl -q --include --trace-ascii log/19/trace1117 --trace-time -r 10-22 http://127.0.0.1:34835/want/1117 http://127.0.0.1:34835/wantmore/11170001 > log/19/stdout1117 2> log/19/stderr1117 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/23/server/tftp_server.pid" --portfile "log/23/server/tftp_server.port" --logfile "log/23/tftp_server.log" --logdir "log/23" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 136142 port 43347 * pid tftp => 136142 136142 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/23/valgrind1099 ../src/curl -q --include --trace-ascii log/23/trace1099 --trace-time tftp://127.0.0.1:43347/an/invalid-file tftp://127.0.0.1:43347//1099 > log/23/stdout1099 2> log/23/stderr1099 1099: stdout FAILED: --- log/23/check-expected 2025-11-07 07:52:10.620707379 +0000 +++ log/23/check-generated 2025-11-07 07:52:10.620707379 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/23/ dir 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/23/valgrind1099 ../src/curl -q --include --trace-ascii log/23/trace1099 --trace-time tftp://127.0.0.1:43347/an/invalid-file tftp://127.0.0.1:43347//1099 > log/23/stdout1099 2> log/23/stderr1099 === End of file commands.log === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 07:52:08.094811 Wrote pid 136142 to log/23/server/tftp_server.pid 07:52:08.094866 Wrote port 43347 to log/23/server/tftp_server.port 07:52:08.094878 Running IPv4 version on port UDP/43347 === End of file tftp_server.log === Start of file valgrind1099 ==137311== ==137311== Process terminating with default action of signal 4 (SIGILL) ==137311== Illegal opcode at address 0x4013DC0 ==137311== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137311== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137311== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137311== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1099 CMD (33792): ../libtool --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/valgrind1116 ../src/curl -q --output log/2/curl1116.out --include --trace-ascii log/2/trace1116 --trace-time http://127.0.0.1:43955/1116 -D log/2/heads1116 > log/2/stdout1116 2> log/2/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/7/stdout1140 2> log/7/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/18/valgrind1120 ../src/curl -q --output log/18/curl1120.out --include --trace-ascii log/18/trace1120 --trace-time ftp://127.0.0.1:34455/a/path/1120 > log/18/stdout1120 2> log/18/stderr1120 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/19/valgrind1117 ../src/curl -q --include --trace-ascii log/19/trace1117 --trace-time -r 10-22 http://127.0.0.1:34835/want/1117 http://127.0.0.1:34835/wantmore/11170001 > log/19/stdout1117 2> log/19/stderr1117 1117: stdout FAILED: --- log/19/check-expected 2025-11-07 07:52:10.644040712 +0000 +++ log/19/check-generated 2025-11-07 07:52:10.644040712 +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/19/ dir 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/19/valgrind1117 ../src/curl -q --include --trace-ascii log/19/trace1117 --trace-time -r 10-22 http://127.0.0.1:34835/want/1117 http://127.0.0.1:34835/wantmore/11170001 > log/19/stdout1117 2> log/19/stderr1117 === End of file commands.log === Start of file http_server.log 07:52:09.000392 ====> Client connect 07:52:09.000432 accept_connection 3 returned 4 07:52:09.000451 accept_connection 3 returned 0 07:52:09.000468 Read 93 bytes 07:52:09.000479 Process 93 bytes request 07:52:09.000493 Got request: GET /verifiedserver HTTP/1.1 07:52:09.000504 Are-we-friendly question received 07:52:09.000531 Wrote request (93 bytes) input to log/19/server.input 07:52:09.000550 Identifying ourselves as friends 07:52:09.000609 Response sent (56 bytes) and written to log/19/server.response 07:52:09.000621 special request received, no persistency 07:52:09.000632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1117 ==137265== ==137265== Process terminating with default action of signal 4 (SIGILL) ==137265== Illegal opcode at address 0x4013DC0 ==137265== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137265== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137265== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137265== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1117 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/2/valgrind1116 ../src/curl -q --output log/2/curl1116.out --include --trace-ascii log/2/trace1116 --trace-time http://127.0.0.1:43955/1116 -D log/2/heads1116 > log/2/stdout1116 2> log/2/stderr1116 1116: 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/ dir 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/2/valgrind1116 ../src/curl -q --output log/2/curl1116.out --include --trace-ascii log/2/trace1116 --trace-time http://127.0.0.1:43955/1116 -D log/2/heads1116 > log/2/stdout1116 2> log/2/stderr1116 === End of file commands.log === Start of file http_server.log 07:52:10.030557 ====> Client connect 07:52:10.030589 accept_connection 3 returned 4 07:52:10.030608 accept_connection 3 returned 0 07:52:10.030624 Read 93 bytes 07:52:10.030635 Process 93 bytes request 07:52:10.030650 Got request: GET /verifiedserver HTTP/1.1 07:52:10.030660 Are-we-friendly question received 07:52:10.030686 Wrote request (93 bytes) input to log/2/server.input 07:52:10.030703 Identifying ourselves as friends 07:52:10.030760 Response sent (56 bytes) and written to log/2/server.response 07:52:10.030771 special request received, no persistency 07:52:10.030781 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 37190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1116 ==137310== ==137310== Process terminating with default action of signal 4 (SIGILL) ==137310== Illegal opcode at address 0x4013DC0 ==137310== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137310== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137310== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137310== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1116 test 1140...[Verify the nroff of manpages] /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/7/stdout1140 2> log/7/stderr1140 valgrind SKIPPED s------e--- OK (1081 out of 1746, remaining: 00:54, took 0.143s, duration: 01:29) test 1120...[FTP with 421 timeout 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/valgrind1120 ../src/curl -q --output log/18/curl1120.out --include --trace-ascii log/18/trace1120 --trace-time ftp://127.0.0.1:34455/a/path/1120 > log/18/stdout1120 2> log/18/stderr1120 1120: 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/ dir after test 1120 === Start of file commands.log ../libtooCMD (33792): ../libtool --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/valgrind1118 ../src/curl -q --output log/16/curl1118.out --include --trace-ascii log/16/trace1118 --trace-time http://127.0.0.1:44351?email=name@example.com/1118 > log/16/stdout1118 2> log/16/stderr1118 l --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/valgrind1120 ../src/curl -q --output log/18/curl1120.out --include --trace-ascii log/18/trace1120 --trace-time ftp://127.0.0.1:34455/a/path/1120 > log/18/stdout1120 2> log/18/stderr1120 === End of file commands.log === Start of file ftp_server.log 07:52:09.434718 ====> Client connect 07:52:09.434986 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:09.435298 < "USER anonymous" 07:52:09.435347 > "331 We are happy you popped in![CR][LF]" 07:52:09.435519 < "PASS ftp@example.com" 07:52:09.435550 > "230 Welcome you silly person[CR][LF]" 07:52:09.435705 < "PWD" 07:52:09.435750 > "257 "/" is current directory[CR][LF]" 07:52:09.435903 < "EPSV" 07:52:09.435931 ====> Passive DATA channel requested by client 07:52:09.435944 DATA sockfilt for passive data channel starting... 07:52:09.446257 DATA sockfilt for passive data channel started (pid 137521) 07:52:09.446383 DATA sockfilt for passive data channel listens on port 40499 07:52:09.446430 > "229 Entering Passive Mode (|||40499|)[CR][LF]" 07:52:09.446449 Client has been notified that DATA conn will be accepted on port 40499 07:52:09.449778 Client connects to port 40499 07:52:09.449823 ====> Client established passive DATA connection on port 40499 07:52:09.449924 < "TYPE I" 07:52:09.449963 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:09.450148 < "SIZE verifiedserver" 07:52:09.450187 > "213 17[CR][LF]" 07:52:09.450336 < "RETR verifiedserver" 07:52:09.450368 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:09.450460 =====> Closing passive DATA connection... 07:52:09.450475 Server disconnects passive DATA connection 07:52:09.450757 Server disconnected passive DATA connection 07:52:09.450784 DATA sockfilt for passive data channel quits (pid 137521) 07:52:09.451012 DATA sockfilt for passive data channel quit (pid 137521) 07:52:09.451034 =====> Closed passive DATA connection 07:52:09.451063 > "226 File transfer complete[CR][LF]" 07:52:09.494919 < "QUIT" 07:52:09.494978 > "221 bye bye baby[CR][LF]" 07:52:09.495964 MAIN sockfilt said DISC 07:52:09.496004 ====> Client disconnected 07:52:09.496082 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:10.262527 ====> Client connect 07:52:10.262949 Received DATA (on stdin) 07:52:10.262967 > 160 bytes data, server => client 07:52:10.262979 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:10.262989 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:10.262998 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:10.263079 < 16 bytes data, client => server 07:52:10.263091 'USER anonymous\r\n' 07:52:10.263291 Received DATA (on stdin) 07:52:10.263304 > 33 bytes data, server => client 07:52:10.263314 '331 We are happy you popped in!\r\n' 07:52:10.263363 < 22 bytes data, client => server 07:52:10.263373 'PASS ftp@example.com\r\n' 07:52:10.263491 Received DATA (on stdin) 07:52:10.263503 > 30 bytes data, server => client 07:52:10.263513 '230 Welcome you silly person\r\n' 07:52:10.263556 < 5 bytes data, client => server 07:52:10.263567 'PWD\r\n' 07:52:10.263689 Received DATA (on stdin) 07:52:10.263701 > 30 bytes data, server => client 07:52:10.263710 '257 "/" is current directory\r\n' 07:52:10.263765 < 6 bytes data, client => server 07:52:10.263776 'EPSV\r\n' 07:52:10.275853 Received DATA (on stdin) 07:52:10.275878 > 39 bytes data, server => client 07:52:10.275890 '229 Entering Passive Mode (|||40499|)\r\n' 07:52:10.276077 < 8 bytes data, client => server 07:52:10.276094 'TYPE I\r\n' 07:52:10.277908 Received DATA (on stdin) 07:52:10.277924 > 33 bytes data, server => client 07:52:10.277940 '200 I modify TYPE as you wanted\r\n' 07:52:10.278004 < 21 bytes data, client => server 07:52:10.278017 'SIZE verifiedserver\r\n' 07:52:10.278129 Received DATA (on stdin) 07:52:10.278141 > 8 bytes data, server => client 07:52:10.278152 '213 17\r\n' 07:52:10.278198 < 21 bytes data, client => server 07:52:10.278210 'RETR verifiedserver\r\n' 07:52:10.278419 Received DATA (on stdin) 07:52:10.278432 > 29 bytes data, server => client 07:52:10.278444 '150 Binary junk (17 bytes).\r\n' 07:52:10.279008 Received DATA (on stdin) 07:52:10.279022 > 28 bytes data, server => client 07:52:10.279035 '226 File transfer complete\r\n' 07:52:10.322650 < 6 bytes data, client => server 07:52:10.322688 'QUIT\r\n' 07:52:10.322927 Received DATA (on stdin) 07:52:10.322941 > 18 bytes data, server => client 07:52:10.322953 '221 bye bye baby\r\n' 07:52:10.323845 ====> Client disconnect 07:52:10.329177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:09.273863 Running IPv4 version 07:52:09.273932 Listening on port 40499 07:52:09.273967 Wrote pid 137521 to log/18/server/ftp_sockdata.pid 07:52:09.274141 Received PING (on stdin) 07:52:09.274230 Received PORT (on stdin) 07:52:09.277621 ====> Client connect 07:52:09.278500 Received DATA (on stdin) 07:52:09.278516 > 17 bytes data, server => client 07:52:09.278528 'WE ROOLZ: 80643\r\n' 07:52:09.278574 Received DISC (on stdin) 07:52:09.278586 ====> Client forcibly disconnected 07:52:09.278734 Received QUIT (on stdin) 07:52:09.278746 quits 07:52:09.278809 ============> 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 ==137544== ==137544== Process terminating with default action of signal 4 (SIGILL) ==137544== Illegal opcode at address 0x4013DC0 ==137544== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137544== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137544== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137544== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1120 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/16/valgrind1118 ../src/curl -q --output log/16/curl1118.out --include --trace-ascii log/16/trace1118 --trace-time http://127.0.0.1:44351?email=name@example.com/1118 > log/16/stdout1118 2> log/16/stderr1118 1118: 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/ dir 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/16/valgrind1118 ../src/curl -q --output log/16/curl1118.out --include --trace-ascii log/16/trace1118 --trace-time http://127.0.0.1:44351?email=name@example.com/1118 > log/16/stdout1118 2> log/16/stderr1118 === End of file commands.log === Start of file http_server.log 07:52:09.297080 ====> Client connect 07:52:09.297115 accept_connection 3 returned 4 07:52:09.297132 accept_connection 3 returned 0 07:52:09.297147 Read 93 bytes 07:52:09.297158 Process 93 bytes request 07:52:09.297174 Got request: GET /verifiedserver HTTP/1.1 07:52:09.297184 Are-we-friendly question received 07:52:09.297210 Wrote request (93 bytes) input to log/16/server.input 07:52:09.297226 Identifying ourselves as friends 07:52:09.297282 Response sent (56 bytes) and written to log/16/server.response 07:52:09.297293 special request received, no persistency 07:52:09.297303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * 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/1/valgrind1122 ../src/curl -q --output log/1/curl1122.out --include --trace-ascii log/1/trace1122 --trace-time http://127.0.0.1:35709/1122 --tr-encoding > log/1/stdout1122 2> log/1/stderr1122 CMD (33792): ../libtool --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/valgrind1123 ../src/curl -q --output log/14/curl1123.out --include --trace-ascii log/14/trace1123 --trace-time http://127.0.0.1:34115/1123 --tr-encoding > log/14/stdout1123 2> log/14/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/9/valgrind1121 ../src/curl -q --output log/9/curl1121.out --include --trace-ascii log/9/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:42717/1121 > log/9/stdout1121 2> log/9/stderr1121 st completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1118 ==137532== ==137532== Process terminating with default action of signal 4 (SIGILL) ==137532== Illegal opcode at address 0x4013DC0 ==137532== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137532== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137532== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137532== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1118 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/1/valgrind1122 ../src/curl -q --output log/1/curl1122.out --include --trace-ascii log/1/trace1122 --trace-time http://127.0.0.1:35709/1122 --tr-encoding > log/1/stdout1122 2> log/1/stderr1122 1122: 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/ dir 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/1/valgrind1122 ../src/curl -q --output log/1/curl1122.out --include --trace-ascii log/1/trace1122 --trace-time http://127.0.0.1:35709/1122 --tr-encoding > log/1/stdout1122 2> log/1/stderr1122 === End of file commands.log === Start of file http_server.log 07:52:09.457695 ====> Client connect 07:52:09.457729 accept_connection 3 returned 4 07:52:09.457746 accept_connection 3 returned 0 07:52:09.457762 Read 93 bytes 07:52:09.457773 Process 93 bytes request 07:52:09.457787 Got request: GET /verifiedserver HTTP/1.1 07:52:09.457797 Are-we-friendly question received 07:52:09.457822 Wrote request (93 bytes) input to log/1/server.input 07:52:09.457840 Identifying ourselves as friends 07:52:09.457894 Response sent (56 bytes) and written to log/1/server.response 07:52:09.457906 special request received, no persistency 07:52:09.457916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 32948 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1122 ==137690== ==137690== Process terminating with default action of signal 4 (SIGILL) ==137690== Illegal opcode at address 0x4013DC0 ==137690== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137690== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137690== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137690== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1122 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/14/valgrind1123 ../src/curl -q --output log/14/curl1123.out --include --trace-ascii log/14/trace1123 --trace-time http://127.0.0.1:34115/1123 --tr-encoding > log/14/stdout1123 2> log/14/stderr1123 1123: 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/ dir 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/14/valgrind1123 ../src/curl -q --output log/14/curl1123.out --include --trace-ascii log/14/trace1123 --trace-time http://127.0.0.1:34115/1123 --tr-encoding > log/14/stdout1123 2> log/14/stderr1123 === End of file commands.log === Start of file http_server.log 07:52:09.466379 ====> Client connect 07:52:09.466411 accept_connection 3 returned 4 07:52:09.466428 accept_connection 3 returned 0 07:52:09.466443 Read 93 bytes 07:52:09.466453 Process 93 bytes request 07:52:09.466466 Got request: GET /verifiedserver HTTP/1.1 07:52:09.466475 Are-we-friendly question received 07:52:09.466498 Wrote request (93 bytes) input to log/14/server.input 07:52:09.466514 Identifying ourselves as friends 07:52:09.466566 Response sent (56 bytes) and written to log/14/server.response 07:52:09.466578 special request received, no persistency 07:52:09.466588 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 44826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1123 ==137711== ==137711== Process terminating with default action of signal 4 (SIGILL) ==137711== Illegal opcode at address 0x4013DC0 ==137711== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137711== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137711== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137711== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1123 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/9/valgrind1121 ../src/curl -q --output log/9/curl1121.out --include --trace-ascii log/9/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:42717/1121 > log/9/stdout1121 2> log/9/stderr1121 1121: 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/ dir 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/9/valgrind1121 ../src/curl -q --output log/9/curl1121.out --include --trace-ascii log/9/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:42717/1121 > log/9/stdout1121 2> log/9/stderr1121 === End of file commands.log === Start of file http_server.log 07:52:09.412580 ====> Client connect 07:52:09.412620 accept_connection 3 returned 4 07:52:09.412640 accept_connection 3 returned 0 07:52:09.412657 Read 93 bytes 07:52:09.412668 Process 93 bytes request 07:52:09.412682 Got request: GET /verifiedserver HTTP/1.1 07:52:09.412693 Are-we-friendly question received 07:52:09.412719 Wrote request (9CMD (33792): ../libtool --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/valgrind1124 ../src/curl -q --output log/22/curl1124.out --include --trace-ascii log/22/trace1124 --trace-time http://127.0.0.1:40377/1124 --tr-encoding > log/22/stdout1124 2> log/22/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/20/valgrind1127 ../src/curl -q --output log/20/curl1127.out --include --trace-ascii log/20/trace1127 --trace-time http://127.0.0.1:40357/1127 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout1127 2> log/20/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/15/valgrind1125 ../src/curl -q --output log/15/curl1125.out --include --trace-ascii log/15/trace1125 --trace-time http://127.0.0.1:43789/1125 --tr-encoding -H "Connection: close" > log/15/stdout1125 2> log/15/stderr1125 3 bytes) input to log/9/server.input 07:52:09.412738 Identifying ourselves as friends 07:52:09.412807 Response sent (56 bytes) and written to log/9/server.response 07:52:09.412819 special request received, no persistency 07:52:09.412830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 52112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1121 ==137646== ==137646== Process terminating with default action of signal 4 (SIGILL) ==137646== Illegal opcode at address 0x4013DC0 ==137646== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137646== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137646== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137646== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1121 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/22/valgrind1124 ../src/curl -q --output log/22/curl1124.out --include --trace-ascii log/22/trace1124 --trace-time http://127.0.0.1:40377/1124 --tr-encoding > log/22/stdout1124 2> log/22/stderr1124 1124: 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/ dir 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/22/valgrind1124 ../src/curl -q --output log/22/curl1124.out --include --trace-ascii log/22/trace1124 --trace-time http://127.0.0.1:40377/1124 --tr-encoding > log/22/stdout1124 2> log/22/stderr1124 === End of file commands.log === Start of file http_server.log 07:52:09.597029 ====> Client connect 07:52:09.597065 accept_connection 3 returned 4 07:52:09.597084 accept_connection 3 returned 0 07:52:09.597101 Read 93 bytes 07:52:09.597112 Process 93 bytes request 07:52:09.597125 Got request: GET /verifiedserver HTTP/1.1 07:52:09.597135 Are-we-friendly question received 07:52:09.597159 Wrote request (93 bytes) input to log/22/server.input 07:52:09.597175 Identifying ourselves as friends 07:52:09.597235 Response sent (56 bytes) and written to log/22/server.response 07:52:09.597245 special request received, no persistency 07:52:09.597255 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 58400 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1124 ==137836== ==137836== Process terminating with default action of signal 4 (SIGILL) ==137836== Illegal opcode at address 0x4013DC0 ==137836== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137836== by 0x40037A4: main (tool_main.c:199) === 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/15/valgrind1125 ../src/curl -q --output log/15/curl1125.out --include --trace-ascii log/15/trace1125 --trace-time http://127.0.0.1:43789/1125 --tr-encoding -H "Connection: close" > log/15/stdout1125 2> log/15/stderr1125 1125: 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/ dir 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/15/valgrind1125 ../src/curl -q --output log/15/curl1125.out --include --trace-ascii log/15/trace1125 --trace-time http://127.0.0.1:43789/1125 --tr-encoding -H "Connection: close" > log/15/stdout1125 2> log/15/stderr1125 === End of file commands.log === Start of file http_server.log 07:52:09.829248 ====> Client connect 07:52:09.829293 accept_connection 3 returned 4 07:52:09.829312 accept_connection 3 returned 0 07:52:09.829328 Read 93 bytes 07:52:09.829339 Process 93 bytes request 07:52:09.829353 Got request: GET /verifiedserver HTTP/1.1 07:52:09.829364 Are-we-friendly question received 07:52:09.829391 Wrote request (93 bytes) input to log/15/server.input 07:52:09.829409 Identifying ourselves as friends 07:52:09.829476 Response sent (56 bytes) and written to log/15/server.response 07:52:09.829487 special request received, no persistency 07:52:09.829497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 36140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1125 ==137997== ==137997== Process terminating with default action of signal 4 (SIGILL) ==137997== Illegal opcode at address 0x4013DC0 ==137997== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137997== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137997== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137997== by 0x40037A4: main (tool_main.c:199) === 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/20/valgrind1127 ../src/curl -q --output log/20/curl1127.out --include --trace-ascii log/20/trace1127 --trace-time http://127.0.0.1:40357/1127 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout1127 2> log/20/stderr1127 1127: 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/ dir 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 --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/valgrind1128 ../src/curl -q --include --trace-ascii log/11/trace1128 --trace-time http://127.0.0.1:38169/1128 http://127.0.0.1:38169/11280001 -z "dec 12 12:00:00 1999 GMT" > log/11/stdout1128 2> log/11/stderr1128 og-file=log/20/valgrind1127 ../src/curl -q --output log/20/curl1127.out --include --trace-ascii log/20/trace1127 --trace-time http://127.0.0.1:40357/1127 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout1127 2> log/20/stderr1127 === End of file commands.log === Start of file http_server.log 07:52:09.823272 ====> Client connect 07:52:09.823313 accept_connection 3 returned 4 07:52:09.823332 accept_connection 3 returned 0 07:52:09.823479 Read 93 bytes 07:52:09.823497 Process 93 bytes request 07:52:09.823512 Got request: GET /verifiedserver HTTP/1.1 07:52:09.823524 Are-we-friendly question received 07:52:09.823557 Wrote request (93 bytes) input to log/20/server.input 07:52:09.823577 Identifying ourselves as friends 07:52:09.823635 Response sent (56 bytes) and written to log/20/server.response 07:52:09.823647 special request received, no persistency 07:52:09.823658 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 52766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1127 ==137979== ==137979== Process terminating with default action of signal 4 (SIGILL) ==137979== Illegal opcode at address 0x4013DC0 ==137979== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==137979== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137979== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==137979== by 0x40037A4: main (tool_main.c:199) === 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/5/valgrind1126 ../src/curl -q --output log/5/curl1126.out --include --trace-ascii log/5/trace1126 --trace-time http://127.0.0.1:42797/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/6/valgrind1130 ../src/curl -q --include --trace-ascii log/6/trace1130 --trace-time -d @log/6/file1130 http://127.0.0.1:45933/1130 http://127.0.0.1:45933/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/6/stdout1130 2> log/6/stderr1130 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/11/valgrind1128 ../src/curl -q --include --trace-ascii log/11/trace1128 --trace-time http://127.0.0.1:38169/1128 http://127.0.0.1:38169/11280001 -z "dec 12 12:00:00 1999 GMT" > log/11/stdout1128 2> log/11/stderr1128 1128: stdout FAILED: --- log/11/check-expected 2025-11-07 07:52:11.500707387 +0000 +++ log/11/check-generated 2025-11-07 07:52:11.500707387 +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/11/ dir 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/11/valgrind1128 ../src/curl -q --include --trace-ascii log/11/trace1128 --trace-time http://127.0.0.1:38169/1128 http://127.0.0.1:38169/11280001 -z "dec 12 12:00:00 1999 GMT" > log/11/stdout1128 2> log/11/stderr1128 === End of file commands.log === Start of file http_server.log 07:52:09.948587 ====> Client connect 07:52:09.948627 accept_connection 3 returned 4 07:52:09.948647 accept_connection 3 returned 0 07:52:09.948807 Read 93 bytes 07:52:09.948826 Process 93 bytes request 07:52:09.948843 Got request: GET /verifiedserver HTTP/1.1 07:52:09.948854 Are-we-friendly question received 07:52:09.948884 Wrote request (93 bytes) input to log/11/server.input 07:52:09.948906 Identifying ourselves as friends 07:52:09.948967 Response sent (56 bytes) and written to log/11/server.response 07:52:09.948981 special request received, no persistency 07:52:09.948992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1128 ==138097== ==138097== Process terminating with default action of signal 4 (SIGILL) ==138097== Illegal opcode at address 0x4013DC0 ==138097== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138097== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138097== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138097== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1128 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:42797/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/ dir 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:42797/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 07:52:09.834716 ====> Client connect 07:52:09.834756 accept_connection 3 returned 4 07:52:09.834776 accept_connection 3 returned 0 07:52:09.834793 Read 93 bytes 07:52:09.834806 Process 93 bytes request 07:52:09.834821 Got request: GET /verifiedserver HTTP/1.1 07:52:09.834832 Are-we-friendly question received 07:52:09.834862 Wrote request (93 bytes) input to log/5/server.input 07:52:09.834883 Identifying ourselves as friends 07:52:09.834945 Response sent (56 bytes) and written to log/5/server.response 07:52:09.834958 special request received, no persistency 07:52:09.834969 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 34142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1126 ==138005== ==138005== Process terminating with default action of signal 4 (SIGILL) ==138005== Illegal opcode at address 0x4013DC0 ==138005== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138005== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138005== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138005== by 0x40037A4: main (tool_main.c:199) === 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/10/valgrind1131 ../src/curl -q --include --trace-ascii log/10/trace1131 --trace-time -H "Expect: 100-continue" -T log/10/file1131 http://127.0.0.1:34041/1131 -T log/10/file1131 http://127.0.0.1:34041/11310001 --expect100-timeout 99 > log/10/stdout1131 2> log/10/stderr1131 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/6/valgrind1130 ../src/curl -q --include --trace-ascii log/6/trace1130 --trace-time -d @log/6/file1130 http://127.0.0.1:45933/1130 http://127.0.0.1:45933/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/6/stdout1130 2> log/6/stderr1130 1130: stdout FAILED: --- log/6/check-expected 2025-11-07 07:52:11.524040721 +0000 +++ log/6/check-generated 2025-11-07 07:52:11.524040721 +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/6/ dir 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/6/valgrind1130 ../src/curl -q --include --trace-ascii log/6/trace1130 --trace-time -d @log/6/file1130 http://127.0.0.1:45933/1130 http://127.0.0.1:45933/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/6/stdout1130 2> log/6/stderr1130 === End of file commands.log === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 07:52:09.992262 ====> Client connect 07:52:09.992294 accept_connection 3 returned 4 07:52:09.992311 accept_connection 3 returned 0 07:52:09.992326 Read 93 bytes 07:52:09.992336 Process 93 bytes request 07:52:09.992348 Got request: GET /verifiedserver HTTP/1.1 07:52:09.992359 Are-we-friendly question received 07:52:09.992384 Wrote request (93 bytes) input to log/6/server.input 07:52:09.992402 Identifying ourselves as friends 07:52:09.992452 Response sent (56 bytes) and written to log/6/server.response 07:52:09.992463 special request received, no persistency 07:52:09.992473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 48538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1130 ==138182== ==138182== Process terminating with default action of signal 4 (SIGILL) ==138182== Illegal opcode at address 0x4013DC0 ==138182== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138182== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138182== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138182== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1130 CMD (33792): ../libtool --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/valgrind1129 ../src/curl -q --include --trace-ascii log/12/trace1129 --trace-time -d @log/12/file1129 --expect100-timeout 99 http://127.0.0.1:38023/1129 http://127.0.0.1:38023/11290001 > log/12/stdout1129 2> log/12/stderr1129 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/10/valgrind1131 ../src/curl -q --include --trace-ascii log/10/trace1131 --trace-time -H "Expect: 100-continue" -T log/10/file1131 http://127.0.0.1:34041/1131 -T log/10/file1131 http://127.0.0.1:34041/11310001 --expect100-timeout 99 > log/10/stdout1131 2> log/10/stderr1131 1131: stdout FAILED: --- log/10/check-expected 2025-11-07 07:52:11.600707388 +0000 +++ log/10/check-generated 2025-11-07 07:52:11.600707388 +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/10/ dir 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/10/valgrind1131 ../src/curl -q --include --trace-ascii log/10/trace1131 --trace-time -H "Expect: 100-continue" -T log/10/file1131 http://127.0.0.1:34041/1131 -T log/10/file1131 http://127.0.0.1:34041/11310001 --expect100-timeout 99 > log/10/stdout1131 2> log/10/stderr1131 === End of file commands.log === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 07:52:10.033926 ====> Client connect 07:52:10.033965 accept_connection 3 returned 4 07:52:10.033983 accept_connection 3 returned 0 07:52:10.034000 Read 93 bytes 07:52:10.034011 Process 93 bytes request 07:52:10.034026 Got request: GET /verifiedserver HTTP/1.1 07:52:10.034037 Are-we-friendly question received 07:52:10.034065 Wrote request (93 bytes) input to log/10/server.input 07:52:10.034089 Identifying ourselves as friends 07:52:10.034151 Response sent (56 bytes) and written to log/10/server.response 07:52:10.034164 special request received, no persistency 07:52:10.034174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 59964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1131 ==138205== ==138205== Process terminating with default action of signal 4 (SIGILL) ==138205== Illegal opcode at address 0x4013DC0 ==138205== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138205== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138205== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138205== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1131 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/12/valgrind1129 ../src/curl -q --include --trace-ascii log/12/trace1129 --trace-time -d @log/12/file1129 --expect100-timeout 99 http://127.0.0.1:38023/1129 http://127.0.0.1:38023/11290001 > log/12/stdout1129 2> log/12/stderr1129 1129: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:11.617374055 +0000 +++ log/12/check-generated 2025-11-07 07:52:11.617374055 +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/12/ dir 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/12/valgrind1129 ../src/curl -q --include --trace-ascii log/12/trace1129 --trace-time -d @log/12/file1129 --expect100-timeout 99 http://127.0.0.1:38023/1129 http://127.0.0.1:38023/11290001 > log/12/stdout1129 2> log/12/stderr1129 === End of file commands.log === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 07:52:09.990283 ====> Client connect 07:52:09.990316 accept_connection 3 returned 4 07:52:09.990333 accept_connection 3 returned 0 07:52:09.990349 Read 93 bytes 07:52:09.990360 Process 93 bytes request 07:52:09.990375 Got request: GET /verifiedserver HTTP/1.1 07:52:09.990386 Are-we-friendly question received 07:52:09.990413 Wrote request (93 bytes) input to log/12/server.input 07:52:09.990431 Identifying ourselves as friends 07:52:09.990497 Response sent (56 bytes) and written to log/12/server.response 07:52:09.990508 special request received, no persistency 07:52:09.990518 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End 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/13/valgrind1134 ../src/curl -q --output log/13/curl1134.out --include --trace-ascii log/13/trace1134 --trace-time http://127.0.0.1:35041/1134 -u user1:password1 --next http://127.0.0.1:35041/11340001 -u 2user:password2 > log/13/stdout1134 2> log/13/stderr1134 CMD (33792): ../libtool --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/valgrind1133 ../src/curl -q --output log/21/curl1133.out --include --trace-ascii log/21/trace1133 --trace-time http://127.0.0.1:45761/we/want/1133 -F "file=@\"log/21/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/21/test1133,and;.txt"' -F 'file3=@"log/21/test1133,and;.txt";type=m/f,"log/21/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/21/stdout1133 2> log/21/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/8/valgrind1136 ../src/curl -q --output log/8/curl1136.out --include --trace-ascii log/8/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/8/jar1136.txt -x 127.0.0.1:36147 > log/8/stdout1136 2> log/8/stderr1136 Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1129 ==138177== ==138177== Process terminating with default action of signal 4 (SIGILL) ==138177== Illegal opcode at address 0x4013DC0 ==138177== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138177== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138177== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138177== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1129 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/13/valgrind1134 ../src/curl -q --output log/13/curl1134.out --include --trace-ascii log/13/trace1134 --trace-time http://127.0.0.1:35041/1134 -u user1:password1 --next http://127.0.0.1:35041/11340001 -u 2user:password2 > log/13/stdout1134 2> log/13/stderr1134 1134: 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/ dir 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/13/valgrind1134 ../src/curl -q --output log/13/curl1134.out --include --trace-ascii log/13/trace1134 --trace-time http://127.0.0.1:35041/1134 -u user1:password1 --next http://127.0.0.1:35041/11340001 -u 2user:password2 > log/13/stdout1134 2> log/13/stderr1134 === End of file commands.log === Start of file http_server.log 07:52:10.189238 ====> Client connect 07:52:10.189275 accept_connection 3 returned 4 07:52:10.189295 accept_connection 3 returned 0 07:52:10.189312 Read 93 bytes 07:52:10.189324 Process 93 bytes request 07:52:10.189337 Got request: GET /verifiedserver HTTP/1.1 07:52:10.189347 Are-we-friendly question received 07:52:10.189374 Wrote request (93 bytes) input to log/13/server.input 07:52:10.189391 Identifying ourselves as friends 07:52:10.189449 Response sent (56 bytes) and written to log/13/server.response 07:52:10.189458 special request received, no persistency 07:52:10.189467 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 46126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1134 ==138462== ==138462== Process terminating with default action of signal 4 (SIGILL) ==138462== Illegal opcode at address 0x4013DC0 ==138462== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138462== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138462== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138462== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1134 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/21/valgrind1133 ../src/curl -q --output log/21/curl1133.out --include --trace-ascii log/21/trace1133 --trace-time http://127.0.0.1:45761/we/want/1133 -F "file=@\"log/21/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/21/test1133,and;.txt"' -F 'file3=@"log/21/test1133,and;.txt";type=m/f,"log/21/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/21/stdout1133 2> log/21/stderr1133 1133: 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/ dir 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/21/valgrind1133 ../src/curl -q --output log/21/curl1133.out --include --trace-ascii log/21/trace1133 --trace-time http://127.0.0.1:45761/we/want/1133 -F "file=@\"log/21/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/21/test1133,and;.txt"' -F 'file3=@"log/21/test1133,and;.txt";type=m/f,"log/21/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/21/stdout1133 2> log/21/stderr1133 === End of file commands.log === Start of file http_server.log 07:52:10.140349 ====> Client connect 07:52:10.140389 accept_connection 3 returned 4 07:52:10.140408 accept_connection 3 returned 0 07:52:10.140424 Read 93 bytes 07:52:10.140435 Process 93 bytes request 07:52:10.140449 Got request: GET /verifiedserver HTTP/1.1 07:52:10.140458 Are-we-friendly question received 07:52:10.140484 Wrote request (93 bytes) input to log/21/server.input 07:52:10.140502 Identifying ourselves as friends 07:52:10.140561 Response sent (56 bytes) and written to log/21/server.response 07:52:10.140571 special request received, no persistency 07:52:10.140581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 53038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === 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 ==138383== ==138383== Process terminating with default action of signal 4 (SIGILL) ==138383== Illegal opcode at address 0x4013DC0 ==138383== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138383== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138383== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138383== by 0x40037A4: main (tool_main.c:199) === 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/4/valgrind1138 ../src/curl -q --output log/4/curl1138.out --include --trace-ascii log/4/trace1138 --trace-time http://127.0.0.1:43573/we/are/all/twits/1138 -L > log/4/stdout1138 2> log/4/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/3/valgrind1137 ../src/curl -q --output log/3/curl1137.out --include --trace-ascii log/3/trace1137 --trace-time ftp://127.0.0.1:41643/1137 --ignore-content-length > log/3/stdout1137 2> log/3/stderr1137 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/8/valgrind1136 ../src/curl -q --output log/8/curl1136.out --include --trace-ascii log/8/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/8/jar1136.txt -x 127.0.0.1:36147 > log/8/stdout1136 2> log/8/stderr1136 1136: data FAILED: --- log/8/check-expected 2025-11-07 07:52:11.764040723 +0000 +++ log/8/check-generated 2025-11-07 07:52:11.764040723 +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/8/ dir 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/8/valgrind1136 ../src/curl -q --output log/8/curl1136.out --include --trace-ascii log/8/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/8/jar1136.txt -x 127.0.0.1:36147 > log/8/stdout1136 2> log/8/stderr1136 === End of file commands.log === Start of file http_server.log 07:52:10.185173 ====> Client connect 07:52:10.185217 accept_connection 3 returned 4 07:52:10.185238 accept_connection 3 returned 0 07:52:10.185402 Read 93 bytes 07:52:10.185421 Process 93 bytes request 07:52:10.185436 Got request: GET /verifiedserver HTTP/1.1 07:52:10.185448 Are-we-friendly question received 07:52:10.185481 Wrote request (93 bytes) input to log/8/server.input 07:52:10.185502 Identifying ourselves as friends 07:52:10.185566 Response sent (56 bytes) and written to log/8/server.response 07:52:10.185579 special request received, no persistency 07:52:10.185590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 56446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1136 ==138456== ==138456== Process terminating with default action of signal 4 (SIGILL) ==138456== Illegal opcode at address 0x4013DC0 ==138456== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138456== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138456== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138456== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1136 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/4/valgrind1138 ../src/curl -q --output log/4/curl1138.out --include --trace-ascii log/4/trace1138 --trace-time http://127.0.0.1:43573/we/are/all/twits/1138 -L > log/4/stdout1138 2> log/4/stderr1138 1138: 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/ dir 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/4/valgrind1138 ../src/curl -q --output log/4/curl1138.out --include --trace-ascii log/4/trace1138 --trace-time http://127.0.0.1:43573/we/are/all/twits/1138 -L > log/4/stdout1138 2> log/4/stderr1138 === End of file commands.log === Start of file http_server.log 07:52:11.262684 ====> Client connect 07:52:11.262755 accept_connection 3 returned 4 07:52:11.262774 accept_connection 3 returned 0 07:52:11.262791 Read 93 bytes 07:52:11.262803 Process 93 bytes request 07:52:11.262821 Got request: GET /verifiedserver HTTP/1.1 07:52:11.262831 Are-we-friendly question received 07:52:11.262857 Wrote request (93 bytes) input to log/4/server.input 07:52:11.262874 Identifying ourselves as friends 07:52:11.262933 Response sent (56 bytes) and written to log/4/server.response 07:52:11.262944 special request received, no persistency 07:52:11.262955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 36098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind1138 ==138588== ==138588== Process terminating with default action of signal 4 (SIGILL) ==138588== Illegal opcode at address 0x4013DC0 ==138588== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138588== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138588== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138588== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1138 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/3/valgrind1137 ../src/curl -q --output log/3/curl1137.out --include --trace-ascii log/3/trace1137 --trace-time ftp://127.0.0.1:41643/1137 --ignore-content-length > log/3/stdout1137 2> log/3/stderr1137 1137: 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/ dir 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/3/valgrind1137 ../src/curl -q --output log/3/curl1137.out --include --trace-ascii log/3/trace1137 --trace-time ftp://127.0.0.1:41643/1137 --ignore-content-length > log/3/stdout1137 2> log/3/stderr1137 === End of file commands.log === Start of file ftp_server.log 07:52:10.405897 ====> Client connect 07: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/17/valgrind1141 ../src/curl -q --output log/17/curl1141.out --include --trace-ascii log/17/trace1141 --trace-time 127.0.0.1:42601/want/1141 -L -x http://127.0.0.1:42601 > log/17/stdout1141 2> log/17/stderr1141 2:10.406079 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:10.406395 < "USER anonymous" 07:52:10.406434 > "331 We are happy you popped in![CR][LF]" 07:52:10.406609 < "PASS ftp@example.com" 07:52:10.406640 > "230 Welcome you silly person[CR][LF]" 07:52:10.406795 < "PWD" 07:52:10.406825 > "257 "/" is current directory[CR][LF]" 07:52:10.406985 < "EPSV" 07:52:10.407010 ====> Passive DATA channel requested by client 07:52:10.407024 DATA sockfilt for passive data channel starting... 07:52:10.409082 DATA sockfilt for passive data channel started (pid 138495) 07:52:10.409187 DATA sockfilt for passive data channel listens on port 40799 07:52:10.409229 > "229 Entering Passive Mode (|||40799|)[CR][LF]" 07:52:10.409250 Client has been notified that DATA conn will be accepted on port 40799 07:52:10.409483 Client connects to port 40799 07:52:10.409517 ====> Client established passive DATA connection on port 40799 07:52:10.409604 < "TYPE I" 07:52:10.409635 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:10.409799 < "SIZE verifiedserver" 07:52:10.409840 > "213 17[CR][LF]" 07:52:10.409991 < "RETR verifiedserver" 07:52:10.410021 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:10.410098 =====> Closing passive DATA connection... 07:52:10.410114 Server disconnects passive DATA connection 07:52:10.410356 Server disconnected passive DATA connection 07:52:10.410385 DATA sockfilt for passive data channel quits (pid 138495) 07:52:10.410639 DATA sockfilt for passive data channel quit (pid 138495) 07:52:10.410662 =====> Closed passive DATA connection 07:52:10.410688 > "226 File transfer complete[CR][LF]" 07:52:10.458257 < "QUIT" 07:52:10.458311 > "221 bye bye baby[CR][LF]" 07:52:10.459912 MAIN sockfilt said DISC 07:52:10.459960 ====> Client disconnected 07:52:10.460039 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:10.233718 ====> Client connect 07:52:10.234038 Received DATA (on stdin) 07:52:10.234056 > 160 bytes data, server => client 07:52:10.234070 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:10.234082 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:10.234093 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:10.234181 < 16 bytes data, client => server 07:52:10.234196 'USER anonymous\r\n' 07:52:10.234379 Received DATA (on stdin) 07:52:10.234393 > 33 bytes data, server => client 07:52:10.234405 '331 We are happy you popped in!\r\n' 07:52:10.234456 < 22 bytes data, client => server 07:52:10.234468 'PASS ftp@example.com\r\n' 07:52:10.234582 Received DATA (on stdin) 07:52:10.234594 > 30 bytes data, server => client 07:52:10.234606 '230 Welcome you silly person\r\n' 07:52:10.234653 < 5 bytes data, client => server 07:52:10.234664 'PWD\r\n' 07:52:10.234766 Received DATA (on stdin) 07:52:10.234778 > 30 bytes data, server => client 07:52:10.234790 '257 "/" is current directory\r\n' 07:52:10.234847 < 6 bytes data, client => server 07:52:10.234859 'EPSV\r\n' 07:52:10.237200 Received DATA (on stdin) 07:52:10.237214 > 39 bytes data, server => client 07:52:10.237227 '229 Entering Passive Mode (|||40799|)\r\n' 07:52:10.237342 < 8 bytes data, client => server 07:52:10.237357 'TYPE I\r\n' 07:52:10.237579 Received DATA (on stdin) 07:52:10.237593 > 33 bytes data, server => client 07:52:10.237605 '200 I modify TYPE as you wanted\r\n' 07:52:10.237656 < 21 bytes data, client => server 07:52:10.237668 'SIZE verifiedserver\r\n' 07:52:10.237782 Received DATA (on stdin) 07:52:10.237794 > 8 bytes data, server => client 07:52:10.237806 '213 17\r\n' 07:52:10.237852 < 21 bytes data, client => server 07:52:10.237865 'RETR verifiedserver\r\n' 07:52:10.238147 Received DATA (on stdin) 07:52:10.238161 > 29 bytes data, server => client 07:52:10.238172 '150 Binary junk (17 bytes).\r\n' 07:52:10.238631 Received DATA (on stdin) 07:52:10.238645 > 28 bytes data, server => client 07:52:10.238657 '226 File transfer complete\r\n' 07:52:10.286002 < 6 bytes data, client => server 07:52:10.286035 'QUIT\r\n' 07:52:10.286266 Received DATA (on stdin) 07:52:10.286281 > 18 bytes data, server => client 07:52:10.286293 '221 bye bye baby\r\n' 07:52:10.287269 ====> Client disconnect 07:52:10.287991 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:10.236705 Running IPv4 version 07:52:10.236766 Listening on port 40799 07:52:10.236801 Wrote pid 138495 to log/3/server/ftp_sockdata.pid 07:52:10.236965 Received PING (on stdin) 07:52:10.237044 Received PORT (on stdin) 07:52:10.237378 ====> Client connect 07:52:10.238057 Received DATA (on stdin) 07:52:10.238072 > 17 bytes data, server => client 07:52:10.238084 'WE ROOLZ: 80340\r\n' 07:52:10.238110 Received DISC (on stdin) 07:52:10.238122 ====> Client forcibly disconnected 07:52:10.238337 Received QUIT (on stdin) 07:52:10.238350 quits 07:52:10.238408 ============> 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 ==138634== ==138634== Process terminating with default action of signal 4 (SIGILL) ==138634== Illegal opcode at address 0x4013DC0 ==138634== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138634== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138634== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138634== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1137 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/17/valgrind1141 ../src/curl -q --output log/17/curl1141.out --include --trace-ascii log/17/trace1141 --trace-time 127.0.0.1:42601/want/1141 -L -x http://127.0.0.1:42601 > log/17/stdout1141 2> log/17/stderr1141 1141: 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/ dir 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/17/valgrind1141 ../src/curl -q --output log/17/curl1141.out --include --trace-ascii log/17/trace1141 --trace-time 127.0.0.1:42601/want/1141 -L -x http://127.0.0.1:42601 > log/17/stdout1141 2> log/17/stderr1141 === End of file commands.log === Start of file http_server.log 07:52:11.463408 ====> Client connect 07:52:11.463444 accept_connection 3 returned 4 07:52:11.463462 accept_connection 3 returned 0 07:52:11.463478 Read 93 bytes 07:52:11.463489 Process 93 bytes request 07:52:11.463504 Got request: GET /verifiedserver HTTP/1.1 07:52:11.463514 Are-we-friendly question received 07:52:11.463539 Wrote request (93 bytes) input to log/17/server.input 07:52:11.463556 Identifying ourselves as friends 07:52:11.463618 Response sent (56 bytes) and written to log/17/server.response 07:52:11.463628 special request received, no persistency 07:52:11.463638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 39826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.reCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/17/stdout1165 2> log/17/stderr1165 CMD (33792): ../libtool --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/valgrind1146 ../src/curl -q --output log/7/curl1146.out --trace-ascii log/7/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/7/test1146.txt > log/7/stdout1146 2> log/7/stderr1146 sponse === Start of file valgrind1141 ==138804== ==138804== Process terminating with default action of signal 4 (SIGILL) ==138804== Illegal opcode at address 0x4013DC0 ==138804== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138804== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138804== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138804== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1141 test 1165...[Verify configure.ac and source code CURL_DISABLE_-sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/17/stdout1165 2> log/17/stderr1165 valgrind SKIPPED -------e--- OK (1106 out of 1746, remaining: 00:52, took 0.096s, duration: 01: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/valgrind1143 ../src/curl -q --output log/23/curl1143.out --include --trace-ascii log/23/trace1143 --trace-time http:/127.0.0.1:41029/want/1143 > log/23/stdout1143 2> log/23/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/19/valgrind1144 ../src/curl -q --output log/19/curl1144.out --include --trace-ascii log/19/trace1144 --trace-time -I http://127.0.0.1:34835/1144 --http0.9 > log/19/stdout1144 2> log/19/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/24/valgrind1142 ../src/curl -q --output log/24/curl1142.out --include --trace-ascii log/24/trace1142 --trace-time 127.0.0.1:41843/want/1142 -L -x http://127.0.0.1:41843 > log/24/stdout1142 2> log/24/stderr1142 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/7/valgrind1146 ../src/curl -q --output log/7/curl1146.out --trace-ascii log/7/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/7/test1146.txt > log/7/stdout1146 2> log/7/stderr1146 1146: data FAILED: --- log/7/check-expected 2025-11-07 07:52:12.090707393 +0000 +++ log/7/check-generated 2025-11-07 07:52:12.090707393 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/7/ dir 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/7/valgrind1146 ../src/curl -q --output log/7/curl1146.out --trace-ascii log/7/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/7/test1146.txt > log/7/stdout1146 2> log/7/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 ==138846== ==138846== Process terminating with default action of signal 4 (SIGILL) ==138846== Illegal opcode at address 0x4013DC0 ==138846== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138846== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138846== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138846== by 0x40037A4: main (tool_main.c:199) === 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/23/valgrind1143 ../src/curl -q --output log/23/curl1143.out --include --trace-ascii log/23/trace1143 --trace-time http:/127.0.0.1:41029/want/1143 > log/23/stdout1143 2> log/23/stderr1143 1143: 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/ dir 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/23/valgrind1143 ../src/curl -q --output log/23/curl1143.out --include --trace-ascii log/23/trace1143 --trace-time http:/127.0.0.1:41029/want/1143 > log/23/stdout1143 2> log/23/stderr1143 === End of file commands.log === Start of file http_server.log 07:52:10.545901 ====> Client connect 07:52:10.545943 accept_connection 3 returned 4 07:52:10.545965 accept_connection 3 returned 0 07:52:10.545983 Read 93 bytes 07:52:10.545995 Process 93 bytes request 07:52:10.546010 Got request: GET /verifiedserver HTTP/1.1 07:52:10.546021 Are-we-friendly question received 07:52:10.546053 Wrote request (93 bytes) input to log/23/server.input 07:52:10.546074 Identifying ourselves as friends 07:52:10.546145 Response sent (56 bytes) and written to log/23/server.response 07:52:10.546158 special request received, no persistency 07:52:10.546169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 60700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1143 ==138861== ==138861== Process terminating with default action of signal 4 (SIGILL) ==138861== Illegal opcode at address 0x4013DC0 ==138861== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138861== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138861== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138861== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1143 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/19/valgrind1144 ../src/curl -q --output log/19/curl1144.out --include --trace-ascii log/19/trace1144 --trace-time -I http://127.0.0.1:34835/1144 --http0.9 > log/19/stdout1144 2> log/19/stderr1144 1144: 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/ dir 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/19/valgrind1144 ../src/curl -q --output log/19/curl1144.out --include --trace-ascii log/19/trace1144 --trace-time -I http://127.0.0.1:34835/1144 --http0.9 > log/19/stdout1144 2> log/19/stderr1144 === End of file commands.log === Start of file http_server.log 07:52:10.560727 ====> Client connect 07:52:10.560765 accept_connection 3 returned 4 07:52:10.560784 accept_connection 3 returned 0 07:52:10.560800 Read 93 bytes 07:52:10.560812 Process 93 bytes request 07:52:10.560825 Got request: GET /verifiedserver HTTP/1.1 07:52:10.560836 Are-we-friendly question received 07:52:10.560864 Wrote request (93 bytes) input to log/19/server.input 07:52:10.560883 Identifying ourselves as friends 07:52:10.560943 Response sent (56 bytes) and written to log/19/server.response 07:52:10.560956 special request received, no persistency 07:52:10.560967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1144 ==138898== ==138898== Process terminating with default action of signal 4 (SIGILL) ==138898== Illegal opcode at address 0x4013DC0 ==138898== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138898== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138898== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138898== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1144 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/24/valgrind1142 ../src/curl -q --output log/24/curl1142.out --include --trace-ascii log/24/trace1142 --trace-time 127.0.0.1:41843/want/1142 -L -x http://127.0.0.1:41843 > log/24/stdout1142 2> log/24/stderr1142 1142: protocol FAILED! There was no content at all in the 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/2/valgrind1145 ../src/curl -q --output log/2/curl1145.out --include --trace-ascii log/2/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/2/test1145.txt > log/2/stdout1145 2> log/2/stderr1145 CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/19/test1169-library.pl > log/19/stdout1169 2> log/19/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/18/valgrind1147 ../src/curl -q --output log/18/curl1147.out --include --trace-ascii log/18/trace1147 --trace-time http://127.0.0.1:46763/1147 -H @log/18/heads1147.txt > log/18/stdout1147 2> log/18/stderr1147 CMD (33792): ../libtool --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/valgrind1151 ../src/curl -q --output log/9/curl1151.out --include --trace-ascii log/9/trace1151 --trace-time http://127.0.0.1:42717/1151 -c log/9/cookies1151.txt > log/9/stdout1151 2> log/9/stderr1151 CMD (33792): ../libtool --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/valgrind1148 ../src/curl -q --output log/16/curl1148.out --include --trace-ascii log/16/trace1148 --trace-time http://127.0.0.1:44351/1148 -# --stderr log/16/stderrlog1148 > log/16/stdout1148 2> log/16/stderr1148 24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ dir 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/24/valgrind1142 ../src/curl -q --output log/24/curl1142.out --include --trace-ascii log/24/trace1142 --trace-time 127.0.0.1:41843/want/1142 -L -x http://127.0.0.1:41843 > log/24/stdout1142 2> log/24/stderr1142 === End of file commands.log === Start of file http_server.log 07:52:10.502558 ====> Client connect 07:52:10.502597 accept_connection 3 returned 4 07:52:10.502616 accept_connection 3 returned 0 07:52:10.502634 Read 93 bytes 07:52:10.502645 Process 93 bytes request 07:52:10.502660 Got request: GET /verifiedserver HTTP/1.1 07:52:10.502671 Are-we-friendly question received 07:52:10.502697 Wrote request (93 bytes) input to log/24/server.input 07:52:10.502715 Identifying ourselves as friends 07:52:10.502777 Response sent (56 bytes) and written to log/24/server.response 07:52:10.502789 special request received, no persistency 07:52:10.502799 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 39684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1142 ==138828== ==138828== Process terminating with default action of signal 4 (SIGILL) ==138828== Illegal opcode at address 0x4013DC0 ==138828== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1142 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/2/valgrind1145 ../src/curl -q --output log/2/curl1145.out --include --trace-ascii log/2/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/2/test1145.txt > log/2/stdout1145 2> log/2/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/2/ dir 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/2/valgrind1145 ../src/curl -q --output log/2/curl1145.out --include --trace-ascii log/2/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/2/test1145.txt > log/2/stdout1145 2> log/2/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 ==138842== ==138842== Process terminating with default action of signal 4 (SIGILL) ==138842== Illegal opcode at address 0x4013DC0 ==138842== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==138842== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138842== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==138842== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1145 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/19/test1169-library.pl > log/19/stdout1169 2> log/19/stderr1169 valgrind SKIPPED -------e--- OK (1110 out of 1746, remaining: 00:52, took 0.162s, duration: 01:30) 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/18/valgrind1147 ../src/curl -q --output log/18/curl1147.out --include --trace-ascii log/18/trace1147 --trace-time http://127.0.0.1:46763/1147 -H @log/18/heads1147.txt > log/18/stdout1147 2> log/18/stderr1147 1147: 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/ dir 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/18/valgrind1147 ../src/curl -q --output log/18/curl1147.out --include --trace-ascii log/18/trace1147 --trace-time http://127.0.0.1:46763/1147 -H @log/18/heads1147.txt > log/18/stdout1147 2> log/18/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 07:52:11.846817 ====> Client connect 07:52:11.846853 accept_connection 3 returned 4 07:52:11.846870 accept_connection 3 returned 0 07:52:11.846885 Read 93 bytes 07:52:11.846896 Process 93 bytes request 07:52:11.846910 Got request: GET /verifiedserver HTTP/1.1 07:52:11.846920 Are-we-friendly question received 07:52:11.846950 Wrote request (93 bytes) input to log/18/server.input 07:52:11.846967 Identifying ourselves as friends 07:52:11.847024 Response sent (56 bytes) and written to log/18/server.response 07:52:11.847035 special request received, no persistency 07:52:11.847044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 56638 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1147 ==139168== ==139168== Process terminating with default action of signal 4 (SIGILL) ==139168== Illegal opcode at address 0x4013DC0 ==139168== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139168== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139168== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139168== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1147 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/9/valgrind1151 ../src/curl -q --output log/9/curl1151.out --include --trace-ascii log/9/trace1151 --trace-time http://127.0.0.1:42717/1151 -c log/9/cookies1151.txt > log/9/stdout1151 2> log/9/stderr1151 1151: 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/ dir 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-CMD (33792): ../libtool --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/valgrind1150 ../src/curl -q --output log/14/curl1150.out --include --trace-ascii log/14/trace1150 --trace-time --proxy http://127.0.0.1:34115 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/14/stdout1150 2> log/14/stderr1150 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/7/stdout1167 2> log/7/stderr1167 callers=16 --log-file=log/9/valgrind1151 ../src/curl -q --output log/9/curl1151.out --include --trace-ascii log/9/trace1151 --trace-time http://127.0.0.1:42717/1151 -c log/9/cookies1151.txt > log/9/stdout1151 2> log/9/stderr1151 === End of file commands.log === Start of file http_server.log 07:52:10.943227 ====> Client connect 07:52:10.943261 accept_connection 3 returned 4 07:52:10.943280 accept_connection 3 returned 0 07:52:10.943296 Read 93 bytes 07:52:10.943308 Process 93 bytes request 07:52:10.943323 Got request: GET /verifiedserver HTTP/1.1 07:52:10.943334 Are-we-friendly question received 07:52:10.943358 Wrote request (93 bytes) input to log/9/server.input 07:52:10.943377 Identifying ourselves as friends 07:52:10.943435 Response sent (56 bytes) and written to log/9/server.response 07:52:10.943447 special request received, no persistency 07:52:10.943459 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 56694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1151 ==139271== ==139271== Process terminating with default action of signal 4 (SIGILL) ==139271== Illegal opcode at address 0x4013DC0 ==139271== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139271== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139271== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139271== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1151 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/16/valgrind1148 ../src/curl -q --output log/16/curl1148.out --include --trace-ascii log/16/trace1148 --trace-time http://127.0.0.1:44351/1148 -# --stderr log/16/stderrlog1148 > log/16/stdout1148 2> log/16/stderr1148 1148: 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/ dir 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/16/valgrind1148 ../src/curl -q --output log/16/curl1148.out --include --trace-ascii log/16/trace1148 --trace-time http://127.0.0.1:44351/1148 -# --stderr log/16/stderrlog1148 > log/16/stdout1148 2> log/16/stderr1148 === End of file commands.log === Start of file http_server.log 07:52:10.866852 ====> Client connect 07:52:10.866894 accept_connection 3 returned 4 07:52:10.866932 accept_connection 3 returned 0 07:52:10.866962 Read 93 bytes 07:52:10.866989 Process 93 bytes request 07:52:10.867003 Got request: GET /verifiedserver HTTP/1.1 07:52:10.867013 Are-we-friendly question received 07:52:10.867040 Wrote request (93 bytes) input to log/16/server.input 07:52:10.867058 Identifying ourselves as friends 07:52:10.867115 Response sent (56 bytes) and written to log/16/server.response 07:52:10.867126 special request received, no persistency 07:52:10.867136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 34036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1148 ==139196== ==139196== Process terminating with default action of signal 4 (SIGILL) ==139196== Illegal opcode at address 0x4013DC0 ==139196== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139196== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139196== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139196== by 0x40037A4: main (tool_main.c:199) === 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/14/valgrind1150 ../src/curl -q --output log/14/curl1150.out --include --trace-ascii log/14/trace1150 --trace-time --proxy http://127.0.0.1:34115 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/14/stdout1150 2> log/14/stderr1150 1150: 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/ dir 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/14/valgrind1150 ../src/curl -q --output log/14/curl1150.out --include --trace-ascii log/14/trace1150 --trace-time --proxy http://127.0.0.1:34115 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/14/stdout1150 2> log/14/stderr1150 === End of file commands.log === Start of file http_server.log 07:52:10.925539 ====> Client connect 07:52:10.925573 accept_connection 3 returned 4 07:52:10.925591 accept_connection 3 returned 0 07:52:10.925608 Read 93 bytes 07:52:10.925618 Process 93 bytes request 07:52:10.925633 Got request: GET /verifiedserver HTTP/1.1 07:52:10.925644 Are-we-friendly question received 07:52:10.925668 Wrote request (93 bytes) input to log/14/server.input 07:52:10.925686 Identifying ourselves as friends 07:52:10.925739 Response sent (56 bytes) and written to log/14/server.response 07:52:10.925750 special request received, no persistency 07:52:10.925760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 46254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1150 ==139252== ==139252== Process terminating with default action of signal 4 (SIGILL) ==139252== Illegal opcode at address 0x4013DC0 ==139252== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139252== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139252== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139252== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1150 test 1167...[Verify curl prefix of public symbols in header files] /usr/binCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/16/stdout1175 2> log/16/stderr1175 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/7/stdout1177 2> log/7/stderr1177 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/18/stdout1173 2> log/18/stderr1173 CMD (33792): ../libtool --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/valgrind1152 ../src/curl -q --output log/22/curl1152.out --include --trace-ascii log/22/trace1152 --trace-time ftp://127.0.0.1:38231/test-1152/ > log/22/stdout1152 2> log/22/stderr1152 /perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/7/stdout1167 2> log/7/stderr1167 valgrind SKIPPED -------e--- OK (1108 out of 1746, remaining: 00:52, took 0.395s, duration: 01:31) 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/16/stdout1175 2> log/16/stderr1175 valgrind SKIPPED -------e--- OK (1116 out of 1746, remaining: 00:51, took 0.046s, duration: 01:31) 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/../lib/version.c > log/7/stdout1177 2> log/7/stderr1177 valgrind SKIPPED -------e--- OK (1118 out of 1746, remaining: 00:51, took 0.038s, duration: 01:31) test 1173...[Manpage 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/18/stdout1173 2> log/18/stderr1173 valgrind SKIPPED -r-----e--- OK (1114 out of 1746, remaining: 00:51, took 0.171s, duration: 01:31) 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/22/valgrind1152 ../src/curl -q --output log/22/curl1152.out --include --trace-ascii log/22/trace1152 --trace-time ftp://127.0.0.1:38231/test-1152/ > log/22/stdout1152 2> log/22/stderr1152 1152: 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/ dir 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/22/valgrind1152 ../src/curl -q --output log/22/curl1152.out --include --trace-ascii log/22/trace1152 --trace-time ftp://127.0.0.1:38231/test-1152/ > log/22/stdout1152 2> log/22/stderr1152 === End of file commands.log === Start of file ftp_server.log 07:52:11.301386 ====> Client connect 07:52:11.301552 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:11.301852 < "USER anonymous" 07:52:11.301887 > "331 We are happy you popped in![CR][LF]" 07:52:11.302052 < "PASS ftp@example.com" 07:52:11.302077 > "230 Welcome you silly person[CR][LF]" 07:52:11.302226 < "PWD" 07:52:11.302257 > "257 "/" is current directory[CR][LF]" 07:52:11.302418 < "EPSV" 07:52:11.302441 ====> Passive DATA channel requested by client 07:52:11.302455 DATA sockfilt for passive data channel starting... 07:52:11.311323 DATA sockfilt for passive data channel started (pid 139445) 07:52:11.311486 DATA sockfilt for passive data channel listens on port 45291 07:52:11.311538 > "229 Entering Passive Mode (|||45291|)[CR][LF]" 07:52:11.311559 Client has been notified that DATA conn will be accepted on port 45291 07:52:11.312389 Client connects to port 45291 07:52:11.312430 ====> Client established passive DATA connection on port 45291 07:52:11.312523 < "TYPE I" 07:52:11.312560 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:11.312715 < "SIZE verifiedserver" 07:52:11.312750 > "213 17[CR][LF]" 07:52:11.312898 < "RETR verifiedserver" 07:52:11.312930 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:11.313017 =====> Closing passive DATA connection... 07:52:11.313033 Server disconnects passive DATA connection 07:52:11.313230 Server disconnected passive DATA connection 07:52:11.313255 DATA sockfilt for passive data channel quits (pid 139445) 07:52:11.313564 DATA sockfilt for passive data channel quit (pid 139445) 07:52:11.313589 =====> Closed passive DATA connection 07:52:11.313618 > "226 File transfer complete[CR][LF]" 07:52:11.374783 < "QUIT" 07:52:11.374838 > "221 bye bye baby[CR][LF]" 07:52:11.375646 MAIN sockfilt said DISC 07:52:11.375692 ====> Client disconnected 07:52:11.375774 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:11.129197 ====> Client connect 07:52:11.129506 Received DATA (on stdin) 07:52:11.129522 > 160 bytes data, server => client 07:52:11.129535 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:11.129548 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:11.129559 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:11.129646 < 16 bytes data, client => server 07:52:11.129660 'USER anonymous\r\n' 07:52:11.129831 Received DATA (on stdin) 07:52:11.129844 > 33 bytes data, server => client 07:52:11.129856 '331 We are happy you popped in!\r\n' 07:52:11.129907 < 22 bytes data, client => server 07:52:11.129919 'PASS ftp@example.com\r\n' 07:52:11.130017 Received DATA (on stdin) 07:52:11.130030 > 30 bytes data, server => client 07:52:11.130041 '230 Welcome you silly person\r\n' 07:52:11.130088 < 5 bytes data, client => server 07:52:11.130099 'PWD\r\n' 07:52:11.130198 Received DATA (on stdin) 07:52:11.130210 > 30 bytes data, server => client 07:52:11.130222 '257 "/" is current directory\r\n' 07:52:11.130278 < 6 bytes data, client => server 07:52:11.130290 'EPSV\r\n' 07:52:11.139458 Received DATA (on stdin) 07:52:11.139490 > 39 bytes data, server => client 07:52:11.139505 '229 Entering Passive Mode (|||45291|)\r\n' 07:52:11.140223 < 8 bytes data, client => server 07:52:11.140243 'TYPE I\r\n' 07:52:11.140502 Received DATA (on stdin) 07:52:11.140515 > 33 bytes data, server => client 07:52:11.140527 '200 I modify TYPE as you wanted\r\n' 07:52:11.140576 < 21 bytes data, client => server 07:52:11.140588 'SIZE verifiedserver\r\n' 07:52:11.140691 Received DATA (on stdin) 07:52:11.140703 > 8 bytes data, server => client 07:52:11.140714 '213 17\r\n' 07:52:11.140757 < 21 bytes data, client => server 07:52:11.140770 'RETR verifiedserver\r\n' 07:52:11.140977 Received DATA (on stdin) 07:52:11.140989 > 29 bytes data, server => client 07:52:11.141001 '150 Binary junk (17 bytes).\r\n' 07:52:11.141561 Received DATA (on stdin) 07:52:11.141576 > 28 bytes data, server => client 07:52:11.141588 '226 File transfer complete\r\n' 07:52:11.202525 < 6 bytes data, client => server 07:52:11.202558 'QUIT\r\n' 07:52:11.202785 Received DATA (on stdin) 07:52:11.202799 > 18 bytes data, server => client 07:52:11.202811 '221 bye bye baby\r\n' 07:52:11.203526 ====> Client disconnect 07:52:11.203717 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:11.133426 Running IPv4 version 07:52:11.133524 Listening on port 45291 07:52:11.133568 Wrote pid 139445 to log/22/server/ftp_sockdata.pid 07:52:11.139181 Received PING (on stdin) 07:52:11.139323 Received PORT (on stdin) 07:52:11.140269 ====> Client connect 07:52:11.141054 Received DATA (on stdin) 07:52:11.141069 > 17 bytes data, server => client 07:52:11.141080 'WE ROOLZ: 80638\r\n' 07:52:11.141107 Received DISC (on stdin) 07:52:11.141119 ====> Client forcibly disconnected 07:52:11.141268 Received QUIT (on stdin) 07:52:11.141283 quits 07:52:11.141354 ============> 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 ==139491== ==139491== Process terminating with default action of signal 4 (SIGILL) ==139491== Illegal opcode at address 0x4013DC0 ==139491== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139491== by 0x40037A4: UnknownInlineCMD (33792): ../libtool --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/valgrind1149 ../src/curl -q --output log/1/curl1149.out --include --trace-ascii log/1/trace1149 --trace-time ftp://127.0.0.1:42965/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:42965/list/this/path/1149/ --ftp-method nocwd > log/1/stdout1149 2> log/1/stderr1149 CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/1/code1185.c > log/1/stdout1185 2> log/1/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/5/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:42797/want/1156 > log/5/stdout1156 2> log/5/stderr1156 CMD (33792): ../libtool --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/valgrind1155 ../src/curl -q --output log/11/curl1155.out --include --trace-ascii log/11/trace1155 --trace-time http://127.0.0.1:38169/1155 -c log/11/cookies1155.txt > log/11/stdout1155 2> log/11/stderr1155 dFun (tool_getparam.c:3029) ==139491== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139491== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1152 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/1/valgrind1149 ../src/curl -q --output log/1/curl1149.out --include --trace-ascii log/1/trace1149 --trace-time ftp://127.0.0.1:42965/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:42965/list/this/path/1149/ --ftp-method nocwd > log/1/stdout1149 2> log/1/stderr1149 1149: 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/ dir 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/1/valgrind1149 ../src/curl -q --output log/1/curl1149.out --include --trace-ascii log/1/trace1149 --trace-time ftp://127.0.0.1:42965/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:42965/list/this/path/1149/ --ftp-method nocwd > log/1/stdout1149 2> log/1/stderr1149 === End of file commands.log === Start of file ftp_server.log 07:52:11.104322 ====> Client connect 07:52:11.104505 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:11.104881 < "USER anonymous" 07:52:11.104927 > "331 We are happy you popped in![CR][LF]" 07:52:11.108225 < "PASS ftp@example.com" 07:52:11.108271 > "230 Welcome you silly person[CR][LF]" 07:52:11.108468 < "PWD" 07:52:11.108506 > "257 "/" is current directory[CR][LF]" 07:52:11.108690 < "EPSV" 07:52:11.108716 ====> Passive DATA channel requested by client 07:52:11.108731 DATA sockfilt for passive data channel starting... 07:52:11.114816 DATA sockfilt for passive data channel started (pid 139237) 07:52:11.114949 DATA sockfilt for passive data channel listens on port 41961 07:52:11.114996 > "229 Entering Passive Mode (|||41961|)[CR][LF]" 07:52:11.115017 Client has been notified that DATA conn will be accepted on port 41961 07:52:11.115295 Client connects to port 41961 07:52:11.115328 ====> Client established passive DATA connection on port 41961 07:52:11.115429 < "TYPE I" 07:52:11.115467 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:11.115660 < "SIZE verifiedserver" 07:52:11.115703 > "213 17[CR][LF]" 07:52:11.115884 < "RETR verifiedserver" 07:52:11.115924 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:11.116019 =====> Closing passive DATA connection... 07:52:11.116038 Server disconnects passive DATA connection 07:52:11.116331 Server disconnected passive DATA connection 07:52:11.116361 DATA sockfilt for passive data channel quits (pid 139237) 07:52:11.116665 DATA sockfilt for passive data channel quit (pid 139237) 07:52:11.116691 =====> Closed passive DATA connection 07:52:11.116723 > "226 File transfer complete[CR][LF]" 07:52:11.161373 < "QUIT" 07:52:11.161430 > "221 bye bye baby[CR][LF]" 07:52:11.162407 MAIN sockfilt said DISC 07:52:11.162453 ====> Client disconnected 07:52:11.162545 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:10.932135 ====> Client connect 07:52:10.932463 Received DATA (on stdin) 07:52:10.932482 > 160 bytes data, server => client 07:52:10.932506 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:10.932537 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:10.932548 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:10.932659 < 16 bytes data, client => server 07:52:10.932673 'USER anonymous\r\n' 07:52:10.932874 Received DATA (on stdin) 07:52:10.932889 > 33 bytes data, server => client 07:52:10.932901 '331 We are happy you popped in!\r\n' 07:52:10.932979 < 22 bytes data, client => server 07:52:10.932993 'PASS ftp@example.com\r\n' 07:52:10.936220 Received DATA (on stdin) 07:52:10.936236 > 30 bytes data, server => client 07:52:10.936249 '230 Welcome you silly person\r\n' 07:52:10.936310 < 5 bytes data, client => server 07:52:10.936323 'PWD\r\n' 07:52:10.936450 Received DATA (on stdin) 07:52:10.936463 > 30 bytes data, server => client 07:52:10.936476 '257 "/" is current directory\r\n' 07:52:10.936541 < 6 bytes data, client => server 07:52:10.936554 'EPSV\r\n' 07:52:10.942966 Received DATA (on stdin) 07:52:10.942982 > 39 bytes data, server => client 07:52:10.942995 '229 Entering Passive Mode (|||41961|)\r\n' 07:52:10.943145 < 8 bytes data, client => server 07:52:10.943164 'TYPE I\r\n' 07:52:10.943414 Received DATA (on stdin) 07:52:10.943429 > 33 bytes data, server => client 07:52:10.943442 '200 I modify TYPE as you wanted\r\n' 07:52:10.943501 < 21 bytes data, client => server 07:52:10.943516 'SIZE verifiedserver\r\n' 07:52:10.943649 Received DATA (on stdin) 07:52:10.943664 > 8 bytes data, server => client 07:52:10.943676 '213 17\r\n' 07:52:10.943732 < 21 bytes data, client => server 07:52:10.943746 'RETR verifiedserver\r\n' 07:52:10.943986 Received DATA (on stdin) 07:52:10.944001 > 29 bytes data, server => client 07:52:10.944013 '150 Binary junk (17 bytes).\r\n' 07:52:10.944669 Received DATA (on stdin) 07:52:10.944684 > 28 bytes data, server => client 07:52:10.944696 '226 File transfer complete\r\n' 07:52:10.989094 < 6 bytes data, client => server 07:52:10.989136 'QUIT\r\n' 07:52:10.989378 Received DATA (on stdin) 07:52:10.989392 > 18 bytes data, server => client 07:52:10.989403 '221 bye bye baby\r\n' 07:52:10.990285 ====> Client disconnect 07:52:10.990493 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:11.940264 Running IPv4 version 07:52:11.940352 Listening on port 41961 07:52:11.940392 Wrote pid 139237 to log/1/server/ftp_sockdata.pid 07:52:11.942681 Received PING (on stdin) 07:52:11.942795 Received PORT (on stdin) 07:52:11.943188 ====> Client connect 07:52:11.944077 Received DATA (on stdin) 07:52:11.944096 > 17 bytes data, server => client 07:52:11.944111 'WE ROOLZ: 83307\r\n' 07:52:11.944142 Received DISC (on stdin) 07:52:11.944156 ====> Client forcibly disconnected 07:52:11.944318 Received QUIT (on stdin) 07:52:11.944332 quits 07:52:11.944392 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==139322== ==139322== Process terminating with default action of signal 4 (SIGILL) ==139322== Illegal opcode at address 0x4013DC0 ==139322== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139322== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139322== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139322== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1149 test 1185...[checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/1/code1185.c > log/1/stdout1185 2> log/1/stderr1185 valgrind SKIPPED s------e--- OK (1123 out of 1746, remaining: 00:50, took 0.061s, duration: 01:31) CMD (33792): ../libtool --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/valgrind1154 ../src/curl -q --output log/20/curl1154.out --include --trace-ascii log/20/trace1154 --trace-time http://127.0.0.1:40357/1154 > log/20/stdout1154 2> log/20/stderr1154 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/5/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:42797/want/1156 > log/5/stdout1156 2> log/5/stderr1156 1156: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:12.914040734 +0000 +++ log/5/check-generated 2025-11-07 07:52:12.914040734 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/5/ dir 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/5/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:42797/want/1156 > log/5/stdout1156 2> log/5/stderr1156 === End of file commands.log === Start of file http_server.log 07:52:11.430411 ====> Client connect 07:52:11.430443 accept_connection 3 returned 4 07:52:11.430462 accept_connection 3 returned 0 07:52:11.430477 Read 93 bytes 07:52:11.430488 Process 93 bytes request 07:52:11.430502 Got request: GET /verifiedserver HTTP/1.1 07:52:11.430512 Are-we-friendly question received 07:52:11.430537 Wrote request (93 bytes) input to log/5/server.input 07:52:11.430555 Identifying ourselves as friends 07:52:11.430610 Response sent (56 bytes) and written to log/5/server.response 07:52:11.430621 special request received, no persistency 07:52:11.430631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 34152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file stderr1156 URL: http://127.0.0.1:42797/want/1156 === End of file stderr1156 === Start of file valgrind1156 ==139656== ==139656== Process terminating with default action of signal 4 (SIGILL) ==139656== Illegal opcode at address 0x51D5F1F ==139656== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==139656== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==139656== by 0x51D5F1F: Curl_open (url.c:525) ==139656== by 0x514F6EF: curl_easy_init (easy.c:371) ==139656== by 0x4023DF5: test_lib1156.lto_priv.0 (lib1156.c:147) ==139656== by 0x400347F: main (first.c:280) ==139656== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==139656== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==139656== by 0x51D5EBD: Curl_open (url.c:504) ==139656== by 0x514F6EF: curl_easy_init (easy.c:371) ==139656== by 0x4023DF5: test_lib1156.lto_priv.0 (lib1156.c:147) ==139656== by 0x400347F: main (first.c:280) ==139656== === End of file valgrind1156 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/11/valgrind1155 ../src/curl -q --output log/11/curl1155.out --include --trace-ascii log/11/trace1155 --trace-time http://127.0.0.1:38169/1155 -c log/11/cookies1155.txt > log/11/stdout1155 2> log/11/stderr1155 1155: 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/ dir 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/11/valgrind1155 ../src/curl -q --output log/11/curl1155.out --include --trace-ascii log/11/trace1155 --trace-time http://127.0.0.1:38169/1155 -c log/11/cookies1155.txt > log/11/stdout1155 2> log/11/stderr1155 === End of file commands.log === Start of file http_server.log 07:52:11.419441 ====> Client connect 07:52:11.419479 accept_connection 3 returned 4 07:52:11.419497 accept_connection 3 returned 0 07:52:11.419513 Read 93 bytes 07:52:11.419524 Process 93 bytes request 07:52:11.419538 Got request: GET /verifiedserver HTTP/1.1 07:52:11.419549 Are-we-friendly question received 07:52:11.419574 Wrote request (93 bytes) input to log/11/server.input 07:52:11.419592 Identifying ourselves as friends 07:52:11.419651 Response sent (56 bytes) and written to log/11/server.response 07:52:11.419662 special request received, no persistency 07:52:11.419673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1155 ==139657== ==139657== Process terminating with default action of signal 4 (SIGILL) ==139657== Illegal opcode at address 0x4013DC0 ==139657== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1155 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/20/valgrind1154 ../src/curl -q --output log/20/curl1154.out --include --trace-ascii log/20/trace1154 --trace-time http://127.0.0.1:40357/1154 > log/20/stdout1154 2> log/20/stderr1154 1154: 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/ dir 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/20/valgrind1154 ../src/curl -q --output log/20/curl1154.out --include --trace-ascii log/20/trace1154 --trace-time http://127.0.0.1:40357/1154 > log/20/stdout1154 2> log/20/stderr1154 === End of file commands.log === Start of file http_server.log 07:52:11.392568 ====> Client connect 07:52:11.392615 accept_connection 3 returned 4 07:52:11.392635 accept_connection 3 returned 0 07:52:11.392653 Read 93 bytes 07:52:11.392665 Process 93 bytes request 07:52:11.392679 Got request: GET /verifiedserver HTTP/1.1 07:52:11.392690 Are-we-friendly question received 07:52:11.392718 Wrote request (93 bytes) input to log/20/server.input 07:52:11.392736 Identifying ourselves as friends 07:52:11.392812 Response sent (56 bytes) and written to log/20/server.response 07:52:11.392824 special request received, no persistency 07:52:11.392835 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (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/12/valgrind1159 ../src/curl -q --include --trace-ascii log/12/trace1159 --trace-time http://127.0.0.1:38023/we/want/our/1159 -w '%{redirect_url}\n' > log/12/stdout1159 2> log/12/stderr1159 7.0.0.1 port 40357) from 127.0.0.1 port 52778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1154 ==139629== ==139629== Process terminating with default action of signal 4 (SIGILL) ==139629== Illegal opcode at address 0x4013DC0 ==139629== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139629== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139629== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139629== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1154 CMD (33792): ../libtool --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/valgrind1157 ../src/curl -q --output log/6/curl1157.out --include --trace-ascii log/6/trace1157 --trace-time http://127.0.0.1:45933/1157 -H @log/6/heads1157.txt > log/6/stdout1157 2> log/6/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/10/valgrind1158 ../src/curl -q --output log/10/curl1158.out --include --trace-ascii log/10/trace1158 --trace-time http://127.0.0.1:34041/we/want/1158 -F "file=@\"log/10/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/10/test1158\".txt"' -F 'file3=@"log/10/test1158\".txt";type=m/f,"log/10/test1158\".txt"' > log/10/stdout1158 2> log/10/stderr1158 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/12/valgrind1159 ../src/curl -q --include --trace-ascii log/12/trace1159 --trace-time http://127.0.0.1:38023/we/want/our/1159 -w '%{redirect_url}\n' > log/12/stdout1159 2> log/12/stderr1159 1159: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:13.070707402 +0000 +++ log/12/check-generated 2025-11-07 07:52:13.070707402 +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/12/ dir 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/12/valgrind1159 ../src/curl -q --include --trace-ascii log/12/trace1159 --trace-time http://127.0.0.1:38023/we/want/our/1159 -w '%{redirect_url}\n' > log/12/stdout1159 2> log/12/stderr1159 === End of file commands.log === Start of file http_server.log 07:52:11.555746 ====> Client connect 07:52:11.555826 accept_connection 3 returned 4 07:52:11.555905 accept_connection 3 returned 0 07:52:11.555923 Read 93 bytes 07:52:11.555935 Process 93 bytes request 07:52:11.555952 Got request: GET /verifiedserver HTTP/1.1 07:52:11.555963 Are-we-friendly question received 07:52:11.555996 Wrote request (93 bytes) input to log/12/server.input 07:52:11.556016 Identifying ourselves as friends 07:52:11.556079 Response sent (56 bytes) and written to log/12/server.response 07:52:11.556093 special request received, no persistency 07:52:11.556103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1159 ==139859== ==139859== Process terminating with default action of signal 4 (SIGILL) ==139859== Illegal opcode at address 0x4013DC0 ==139859== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139859== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139859== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139859== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1159 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/6/valgrind1157 ../src/curl -q --output log/6/curl1157.out --include --trace-ascii log/6/trace1157 --trace-time http://127.0.0.1:45933/1157 -H @log/6/heads1157.txt > log/6/stdout1157 2> log/6/stderr1157 1157: 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/ dir 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/6/valgrind1157 ../src/curl -q --output log/6/curl1157.out --include --trace-ascii log/6/trace1157 --trace-time http://127.0.0.1:45933/1157 -H @log/6/heads1157.txt > log/6/stdout1157 2> log/6/stderr1157 === End of file commands.log === Start of file http_server.log 07:52:11.442655 ====> Client connect 07:52:11.442702 accept_connection 3 returned 4 07:52:11.442722 accept_connection 3 returned 0 07:52:11.442739 Read 93 bytes 07:52:11.442750 Process 93 bytes request 07:52:11.442764 Got request: GET /verifiedserver HTTP/1.1 07:52:11.442775 Are-we-friendly question received 07:52:11.442803 Wrote request (93 bytes) input to log/6/server.input 07:52:11.442822 Identifying ourselves as friends 07:52:11.442883 Response sent (56 bytes) and written to log/6/server.response 07:52:11.442896 special request received, no persistency 07:52:11.442906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 48544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1157 ==139741== ==139741== Process terminating with default action of signal 4 (SIGILL) ==139741== Illegal opcode at address 0x4013DC0 ==139741== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139741== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139741== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139741== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1157 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/10/valgrind1158 ../src/curl -q --output log/10/curl1158.out --include --trace-ascii log/10/trace1158 --trace-time http://127.0.0.1:34041/we/want/1158 -F "file=@\"log/10/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/10/test1158\".txt"' -F 'file3=@"log/10/test1158\".txt";type=m/f,"log/10/test1158\".txt"' > log/10/stdout1158 2> log/10/stderr1158 1158: 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/ dir 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/10/valgrind1158 ../src/curl -q --output log/10/curl1158.out --include --trace-ascii log/10/trace1158 --trace-time http://127.0.0.1:34041/we/want/1158 -F "file=@\"log/10/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/10/test1158\".txt"' -F 'file3=@"log/10/test1158\".txt";type=m/f,"log/10/test1158\".txt"' > log/10/stdout1158 2> log/10/stderr1158 === End of file commands.log === Start of file http_server.log 07:52:11.492564 ====> Client connect 07:52:11.492606 accept_connection 3 returned 4 07:52:11.492625 accept_connection 3 returned 0 07:52:11.492642 Read 93 bytes 07:52:11.492654 Process 93 bytes request 07:52:11.492669 Got request: GET /verifiedserver HTTP/1.1 07:52:11.492679 Are-we-friendly question 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/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:45761/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/13/valgrind1160 ../src/curl -q --output log/13/curl1160.out --include --trace-ascii log/13/trace1160 --trace-time http://127.0.0.1:35041/1160 -c log/13/cookies1160.txt > log/13/stdout1160 2> log/13/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/15/valgrind1153 ../src/curl -q --output log/15/curl1153.out --include --trace-ascii log/15/trace1153 --trace-time ftp://127.0.0.1:38789/test-1153/ > log/15/stdout1153 2> log/15/stderr1153 07:52:11.492706 Wrote request (93 bytes) input to log/10/server.input 07:52:11.492724 Identifying ourselves as friends 07:52:11.495926 Response sent (56 bytes) and written to log/10/server.response 07:52:11.495946 special request received, no persistency 07:52:11.495956 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 59976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === 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 ==139801== ==139801== Process terminating with default action of signal 4 (SIGILL) ==139801== Illegal opcode at address 0x4013DC0 ==139801== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139801== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139801== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139801== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1158 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:45761/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/ dir 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:45761/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 === End of file commands.log === Start of file http_server.log 07:52:11.642866 ====> Client connect 07:52:11.642902 accept_connection 3 returned 4 07:52:11.642920 accept_connection 3 returned 0 07:52:11.642935 Read 93 bytes 07:52:11.642945 Process 93 bytes request 07:52:11.642959 Got request: GET /verifiedserver HTTP/1.1 07:52:11.642970 Are-we-friendly question received 07:52:11.642999 Wrote request (93 bytes) input to log/21/server.input 07:52:11.643018 Identifying ourselves as friends 07:52:11.643083 Response sent (56 bytes) and written to log/21/server.response 07:52:11.643094 special request received, no persistency 07:52:11.643105 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 53054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1161 ==140002== ==140002== Process terminating with default action of signal 4 (SIGILL) ==140002== Illegal opcode at address 0x4013DC0 ==140002== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1161 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/13/valgrind1160 ../src/curl -q --output log/13/curl1160.out --include --trace-ascii log/13/trace1160 --trace-time http://127.0.0.1:35041/1160 -c log/13/cookies1160.txt > log/13/stdout1160 2> log/13/stderr1160 1160: 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/ dir 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/13/valgrind1160 ../src/curl -q --output log/13/curl1160.out --include --trace-ascii log/13/trace1160 --trace-time http://127.0.0.1:35041/1160 -c log/13/cookies1160.txt > log/13/stdout1160 2> log/13/stderr1160 === End of file commands.log === Start of file http_server.log 07:52:11.635910 ====> Client connect 07:52:11.635951 accept_connection 3 returned 4 07:52:11.635972 accept_connection 3 returned 0 07:52:11.635989 Read 93 bytes 07:52:11.636001 Process 93 bytes request 07:52:11.636016 Got request: GET /verifiedserver HTTP/1.1 07:52:11.636027 Are-we-friendly question received 07:52:11.636056 Wrote request (93 bytes) input to log/13/server.input 07:52:11.636075 Identifying ourselves as friends 07:52:11.636142 Response sent (56 bytes) and written to log/13/server.response 07:52:11.636155 special request received, no persistency 07:52:11.636166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 46132 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1160 ==139978== ==139978== Process terminating with default action of signal 4 (SIGILL) ==139978== Illegal opcode at address 0x4013DC0 ==139978== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139978== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139978== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139978== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1160 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/15/valgrind1153 ../src/curl -q --output log/15/curl1153.out --include --trace-ascii log/15/trace1153 --trace-time ftp://127.0.0.1:38789/test-1153/ > log/15/stdout1153 2> log/15/stderr1153 1153: 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/ dir after test 1153 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressCMD (33792): ../libtool --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/valgrind1164 ../src/curl -q --output log/3/curl1164.out --include --trace-ascii log/3/trace1164 --trace-time http://127.0.0.1:34059/1164 -w '%{size_download}\n' --http0.9 > log/3/stdout1164 2> log/3/stderr1164 ions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1153 ../src/curl -q --output log/15/curl1153.out --include --trace-ascii log/15/trace1153 --trace-time ftp://127.0.0.1:38789/test-1153/ > log/15/stdout1153 2> log/15/stderr1153 === End of file commands.log === Start of file ftp_server.log 07:52:11.565680 ====> Client connect 07:52:11.565832 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:11.566138 < "USER anonymous" 07:52:11.566175 > "331 We are happy you popped in![CR][LF]" 07:52:11.566349 < "PASS ftp@example.com" 07:52:11.566375 > "230 Welcome you silly person[CR][LF]" 07:52:11.566526 < "PWD" 07:52:11.566557 > "257 "/" is current directory[CR][LF]" 07:52:11.566718 < "EPSV" 07:52:11.566741 ====> Passive DATA channel requested by client 07:52:11.566755 DATA sockfilt for passive data channel starting... 07:52:11.574798 DATA sockfilt for passive data channel started (pid 139610) 07:52:11.574915 DATA sockfilt for passive data channel listens on port 33413 07:52:11.574955 > "229 Entering Passive Mode (|||33413|)[CR][LF]" 07:52:11.574980 Client has been notified that DATA conn will be accepted on port 33413 07:52:11.575249 Client connects to port 33413 07:52:11.575278 ====> Client established passive DATA connection on port 33413 07:52:11.575358 < "TYPE I" 07:52:11.575387 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:11.575543 < "SIZE verifiedserver" 07:52:11.575580 > "213 17[CR][LF]" 07:52:11.575726 < "RETR verifiedserver" 07:52:11.575761 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:11.575849 =====> Closing passive DATA connection... 07:52:11.575865 Server disconnects passive DATA connection 07:52:11.576069 Server disconnected passive DATA connection 07:52:11.576096 DATA sockfilt for passive data channel quits (pid 139610) 07:52:11.576440 DATA sockfilt for passive data channel quit (pid 139610) 07:52:11.576467 =====> Closed passive DATA connection 07:52:11.576497 > "226 File transfer complete[CR][LF]" 07:52:11.621492 < "QUIT" 07:52:11.621546 > "221 bye bye baby[CR][LF]" 07:52:11.622355 MAIN sockfilt said DISC 07:52:11.622396 ====> Client disconnected 07:52:11.622471 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:11.393519 ====> Client connect 07:52:11.393786 Received DATA (on stdin) 07:52:11.393802 > 160 bytes data, server => client 07:52:11.393815 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:11.393828 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:11.393839 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:11.393931 < 16 bytes data, client => server 07:52:11.393945 'USER anonymous\r\n' 07:52:11.394120 Received DATA (on stdin) 07:52:11.394133 > 33 bytes data, server => client 07:52:11.394146 '331 We are happy you popped in!\r\n' 07:52:11.394200 < 22 bytes data, client => server 07:52:11.394213 'PASS ftp@example.com\r\n' 07:52:11.394316 Received DATA (on stdin) 07:52:11.394328 > 30 bytes data, server => client 07:52:11.394340 '230 Welcome you silly person\r\n' 07:52:11.394387 < 5 bytes data, client => server 07:52:11.394398 'PWD\r\n' 07:52:11.394497 Received DATA (on stdin) 07:52:11.394510 > 30 bytes data, server => client 07:52:11.394521 '257 "/" is current directory\r\n' 07:52:11.394578 < 6 bytes data, client => server 07:52:11.394590 'EPSV\r\n' 07:52:11.402929 Received DATA (on stdin) 07:52:11.402944 > 39 bytes data, server => client 07:52:11.402957 '229 Entering Passive Mode (|||33413|)\r\n' 07:52:11.403101 < 8 bytes data, client => server 07:52:11.403117 'TYPE I\r\n' 07:52:11.403329 Received DATA (on stdin) 07:52:11.403342 > 33 bytes data, server => client 07:52:11.403354 '200 I modify TYPE as you wanted\r\n' 07:52:11.403404 < 21 bytes data, client => server 07:52:11.403416 'SIZE verifiedserver\r\n' 07:52:11.403520 Received DATA (on stdin) 07:52:11.403532 > 8 bytes data, server => client 07:52:11.403543 '213 17\r\n' 07:52:11.403589 < 21 bytes data, client => server 07:52:11.403601 'RETR verifiedserver\r\n' 07:52:11.403810 Received DATA (on stdin) 07:52:11.403822 > 29 bytes data, server => client 07:52:11.403834 '150 Binary junk (17 bytes).\r\n' 07:52:11.404442 Received DATA (on stdin) 07:52:11.404457 > 28 bytes data, server => client 07:52:11.404469 '226 File transfer complete\r\n' 07:52:11.449266 < 6 bytes data, client => server 07:52:11.449293 'QUIT\r\n' 07:52:11.449494 Received DATA (on stdin) 07:52:11.449509 > 18 bytes data, server => client 07:52:11.449522 '221 bye bye baby\r\n' 07:52:11.450237 ====> Client disconnect 07:52:11.455849 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:11.399606 Running IPv4 version 07:52:11.399688 Listening on port 33413 07:52:11.399725 Wrote pid 139610 to log/15/server/ftp_sockdata.pid 07:52:11.402662 Received PING (on stdin) 07:52:11.402768 Received PORT (on stdin) 07:52:11.403140 ====> Client connect 07:52:11.403890 Received DATA (on stdin) 07:52:11.403905 > 17 bytes data, server => client 07:52:11.403918 'WE ROOLZ: 80326\r\n' 07:52:11.403945 Received DISC (on stdin) 07:52:11.403958 ====> Client forcibly disconnected 07:52:11.404106 Received QUIT (on stdin) 07:52:11.404120 quits 07:52:11.404186 ============> 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 ==139733== ==139733== Process terminating with default action of signal 4 (SIGILL) ==139733== Illegal opcode at address 0x4013DC0 ==139733== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==139733== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139733== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==139733== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1153 CMD (33792): ../libtool --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/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:35961/fully_simulated/DOS/[*\\s-'tl" > log/8/stdout1162 2> log/8/stderr1162 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/3/valgrind1164 ../src/curl -q --output log/3/curl1164.out --include --trace-ascii log/3/trace1164 --trace-time http://127.0.0.1:34059/1164 -w '%{size_download}\n' --http0.9 > log/3/stdout1164 2> log/3/stderr1164 1164: stdout FAILED: --- log/3/check-expected 2025-11-07 07:52:13.334040738 +0000 +++ log/3/check-generated 2025-11-07 07:52:13.334040738 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/3/ dir 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/3/valgrind1164 ../src/curl -q --output log/3/curl1164.out --include --trace-ascii log/3/trace1164 --trace-time http://127.0.0.1:34059/1164 -w '%{size_download}\n' --http0.9 > log/3/stdout1164 2> log/3/stderr1164 === End of file commands.log === Start of file http_server.log 07:52:12.762543 ====> Client connect 07:52:12.762582 accept_connection 3 returned 4 07:52:12.762603 accept_connection 3 returned 0 07:52:12.762619 Read 93 bytes 07:52:12.762629 Process 93 bytes request 07:52:12.762644 Got request: GET /verifiedserver HTTP/1.1 07:52:12.762654 Are-we-friendly question received 07:52:12.762679 Wrote request (93 bytes) input to log/3/server.input 07:52:12.762698 Identifying ourselves as friends 07:52:12.762757 Response sent (56 bytes) and written to log/3/server.response 07:52:12.762768 special request received, no persistency 07:52:12.762777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 37554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1164 ==140182== ==140182== Process terminating with default action of signal 4 (SIGILL) ==140182== Illegal opcode at address 0x4013DC0 ==140182== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140182== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140182== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140182== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1164 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/8/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:35961/fully_simulated/DOS/[*\\s-'tl" > log/8/stdout1162 2> log/8/stderr1162 1162: 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/ dir 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/8/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:35961/fully_simulated/DOS/[*\\s-'tl" > log/8/stdout1162 2> log/8/stderr1162 === End of file commands.log === Start of file ftp_server.log 07:52:11.847755 ====> Client connect 07:52:11.847961 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:11.849701 < "USER anonymous" 07:52:11.849747 > "331 We are happy you popped in![CR][LF]" 07:52:11.849933 < "PASS ftp@example.com" 07:52:11.849987 > "230 Welcome you silly person[CR][LF]" 07:52:11.850146 < "PWD" 07:52:11.850178 > "257 "/" is current directory[CR][LF]" 07:52:11.850336 < "EPSV" 07:52:11.850359 ====> Passive DATA channel requested by client 07:52:11.850373 DATA sockfilt for passive data channel starting... 07:52:11.862082 DATA sockfilt for passive data channel started (pid 140029) 07:52:11.862212 DATA sockfilt for passive data channel listens on port 42407 07:52:11.862261 > "229 Entering Passive Mode (|||42407|)[CR][LF]" 07:52:11.862278 Client has been notified that DATA conn will be accepted on port 42407 07:52:11.862571 Client connects to port 42407 07:52:11.862604 ====> Client established passive DATA connection on port 42407 07:52:11.862701 < "TYPE I" 07:52:11.862731 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:11.862895 < "SIZE verifiedserver" 07:52:11.862931 > "213 17[CR][LF]" 07:52:11.863073 < "RETR verifiedserver" 07:52:11.863104 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:11.863188 =====> Closing passive DATA connection... 07:52:11.863202 Server disconnects passive DATA connection 07:52:11.863434 Server disconnected passive DATA connection 07:52:11.863459 DATA sockfilt for passive data channel quits (pid 140029) 07:52:11.863707 DATA sockfilt for passive data channel quit (pid 140029) 07:52:11.863730 =====> Closed passive DATA connection 07:52:11.863756 > "226 File transfer complete[CR][LF]" 07:52:11.906559 < "QUIT" 07:52:11.906620 > "221 bye bye baby[CR][LF]" 07:52:11.907638 MAIN sockfilt said DISC 07:52:11.907682 ====> Client disconnected 07:52:11.907764 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:11.675243 ====> Client connect 07:52:11.675928 Received DATA (on stdin) 07:52:11.675951 > 160 bytes data, server => client 07:52:11.675965 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:11.675977 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:11.675988 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:11.677444 < 16 bytes data, client => server 07:52:11.677469 'USER anonymous\r\n' 07:52:11.677694 Received DATA (on stdin) 07:52:11.677708 > 33 bytes data, server => client 07:52:11.677720 '331 We are happy you popped in!\r\n' 07:52:11.677780 < 22 bytes data, client => server 07:52:11.677792 'PASS ftp@example.com\r\n' 07:52:11.677929 Received DATA (on stdin) 07:52:11.677942 > 30 bytes data, server => client 07:52:11.677953 '230 Welcome you silly person\r\n' 07:52:11.678000 < 5 bytes data, client => server 07:52:11.678016 'PWD\r\n' 07:52:11.678119 Received DATA (on stdin) 07:52:11.678131 > 30 bytes data, server => client 07:52:11.678143 '257 "/" is current directory\r\n' 07:52:11.678197 < 6 bytes data, client => server 07:52:11.678209 'EPSV\r\n' 07:52:11.690228 Received DATA (on stdin) 07:52:11.690245 > 39 bytes data, server => client 07:52:11.690257 '229 Entering Passive Mode (|||42407|)\r\n' 07:52:11.690455 < 8 bytes data, client => server 07:52:11.690469 'TYPE I\r\n' 07:52:11.690674 Received DATA (on stdin) 07:52:11.690687 > 33 bytes data, server => client 07:52:11.690699 '200 I modify TYPE as you wanted\r\n' 07:52:11.690751 < 21 bytes data, client => server 07:52:11.690763 'SIZE verifiedserver\r\n' 07:52:11.690870 Received DATA (on stdin) 07:52:11.690880 > 8 bytes data, server => client 07:52:11.690890 '213 17\r\n' 07:52:11.690933 < 21 bytes data, client => server 07:52:11.690944 'RETR verifiedserver\r\n' 07:52:11.691145 Received DATA (on stdin) 07:52:11.691157 > 29 bytes data, server => client 07:52:11.691167 '150 Binary junk (17 bytes).\r\n' 07:52:11.691699 Received DATA (on stdin) 07:52:11.691714 > 28 bytes data, server => client 07:52:11.691726 '226 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/4/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:37071/fully_simulated/DOS/*[][" > log/4/stdout1163 2> log/4/stderr1163 transfer complete\r\n' 07:52:11.734291 < 6 bytes data, client => server 07:52:11.734330 'QUIT\r\n' 07:52:11.734568 Received DATA (on stdin) 07:52:11.734582 > 18 bytes data, server => client 07:52:11.734592 '221 bye bye baby\r\n' 07:52:11.735520 ====> Client disconnect 07:52:11.735707 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:11.686919 Running IPv4 version 07:52:11.686997 Listening on port 42407 07:52:11.687034 Wrote pid 140029 to log/8/server/ftp_sockdata.pid 07:52:11.689949 Received PING (on stdin) 07:52:11.690058 Received PORT (on stdin) 07:52:11.690425 ====> Client connect 07:52:11.691193 Received DATA (on stdin) 07:52:11.691208 > 17 bytes data, server => client 07:52:11.691218 'WE ROOLZ: 80636\r\n' 07:52:11.691241 Received DISC (on stdin) 07:52:11.691252 ====> Client forcibly disconnected 07:52:11.691408 Received QUIT (on stdin) 07:52:11.691420 quits 07:52:11.691481 ============> 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:35961/fully_simulated/DOS/[*\s-'tl === End of file stderr1162 === Start of file valgrind1162 ==140160== ==140160== Process terminating with default action of signal 4 (SIGILL) ==140160== Illegal opcode at address 0x51D5F1F ==140160== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==140160== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==140160== by 0x51D5F1F: Curl_open (url.c:525) ==140160== by 0x514F6EF: curl_easy_init (easy.c:371) ==140160== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140160== by 0x400347F: main (first.c:280) ==140160== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==140160== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==140160== by 0x51D5EBD: Curl_open (url.c:504) ==140160== by 0x514F6EF: curl_easy_init (easy.c:371) ==140160== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140160== by 0x400347F: main (first.c:280) ==140160== === End of file valgrind1162 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/4/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:37071/fully_simulated/DOS/*[][" > log/4/stdout1163 2> log/4/stderr1163 1163: 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/ dir 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/4/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:37071/fully_simulated/DOS/*[][" > log/4/stdout1163 2> log/4/stderr1163 === End of file commands.log === Start of file ftp_server.log 07:52:11.914226 ====> Client connect 07:52:11.914380 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:11.924989 < "USER anonymous" 07:52:11.925041 > "331 We are happy you popped in![CR][LF]" 07:52:11.927522 < "PASS ftp@example.com" 07:52:11.927578 > "230 Welcome you silly person[CR][LF]" 07:52:11.930130 < "PWD" 07:52:11.930180 > "257 "/" is current directory[CR][LF]" 07:52:11.931239 < "EPSV" 07:52:11.931293 ====> Passive DATA channel requested by client 07:52:11.931308 DATA sockfilt for passive data channel starting... 07:52:11.935931 DATA sockfilt for passive data channel started (pid 140154) 07:52:11.936047 DATA sockfilt for passive data channel listens on port 45529 07:52:11.936099 > "229 Entering Passive Mode (|||45529|)[CR][LF]" 07:52:11.936120 Client has been notified that DATA conn will be accepted on port 45529 07:52:11.936376 Client connects to port 45529 07:52:11.936410 ====> Client established passive DATA connection on port 45529 07:52:11.936494 < "TYPE I" 07:52:11.936531 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:11.936716 < "SIZE verifiedserver" 07:52:11.936760 > "213 17[CR][LF]" 07:52:11.936916 < "RETR verifiedserver" 07:52:11.936950 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:11.937034 =====> Closing passive DATA connection... 07:52:11.937053 Server disconnects passive DATA connection 07:52:11.937304 Server disconnected passive DATA connection 07:52:11.937335 DATA sockfilt for passive data channel quits (pid 140154) 07:52:11.937557 DATA sockfilt for passive data channel quit (pid 140154) 07:52:11.937584 =====> Closed passive DATA connection 07:52:11.937616 > "226 File transfer complete[CR][LF]" 07:52:11.981560 < "QUIT" 07:52:11.981615 > "221 bye bye baby[CR][LF]" 07:52:11.982895 MAIN sockfilt said DISC 07:52:11.982941 ====> Client disconnected 07:52:11.983021 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:11.742057 ====> Client connect 07:52:11.743177 Received DATA (on stdin) 07:52:11.743203 > 160 bytes data, server => client 07:52:11.743217 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:11.743229 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:11.743239 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:11.752729 < 16 bytes data, client => server 07:52:11.752755 'USER anonymous\r\n' 07:52:11.752989 Received DATA (on stdin) 07:52:11.753003 > 33 bytes data, server => client 07:52:11.753015 '331 We are happy you popped in!\r\n' 07:52:11.753072 < 22 bytes data, client => server 07:52:11.753085 'PASS ftp@example.com\r\n' 07:52:11.755527 Received DATA (on stdin) 07:52:11.755543 > 30 bytes data, server => client 07:52:11.755555 '230 Welcome you silly person\r\n' 07:52:11.755612 < 5 bytes data, client => server 07:52:11.755624 'PWD\r\n' 07:52:11.758125 Received DATA (on stdin) 07:52:11.758139 > 30 bytes data, server => client 07:52:11.758151 '257 "/" is current directory\r\n' 07:52:11.758220 < 6 bytes data, client => server 07:52:11.758233 'EPSV\r\n' 07:52:11.764069 Received DATA (on stdin) 07:52:11.764085 > 39 bytes data, server => client 07:52:11.764098 '229 Entering Passive Mode (|||45529|)\r\n' 07:52:11.764231 < 8 bytes data, client => server 07:52:11.764249 'TYPE I\r\n' 07:52:11.764476 Received DATA (on stdin) 07:52:11.764491 > 33 bytes data, server => client 07:52:11.764503 '200 I modify TYPE as you wanted\r\n' 07:52:11.764562 < 21 bytes data, client => server 07:52:11.764576 'SIZE verifiedserver\r\n' 07:52:11.764702 Received DATA (on stdin) 07:52:11.764715 > 8 bytes data, server => client 07:52:11.764726 '213 17\r\n' 07:52:11.764776 < 21 bytes data, client => server 07:52:11.764788 'RETR verifiedserver\r\n' 07:52:11.765093 Received DATA (on stdin) 07:52:11.765107 > 29 bytes data, server => client 07:52:11.765119 '150 Binary junk (17 bytes).\r\n' 07:52:11.765561 Received DATA (on stdin) 07:52:11.765575 > 28 bytes data, server => client 07:52:11.765587 '226 File transfer complete\r\n' 07:52:11.809295 < 6 bytes data, client => server 07:52:11.809329 'QUIT\r\n' 07:52:11.809562 Received DATA (on stdin) 07:52:11.809576 > 18 bytes data, server => client 07:52:11.809587 '221 bye bye baby\r\n' 07:52:11.810532 ====> Client disconnect 07:52:11.810963 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:11.763565 Running IPv4 version 07:52:11.763621 Listening on port 45529 07:52:11.763657 Wrote pid 140154 to log/4/server/ftp_sockdata.pid 07:52:11.763817 Received PING (on stdin) 07:52:11.763898 Received PORT (on stdin) 07:52:11.764271 ====> Client connect 07:52:11.764997 Received DATA (on stdin) 07:52:11.765012 > 17 bytes data, server => client 07:52:11.765024 'WE ROOLZ: 80637\r\n' 07:52:11.765054 Received DISC (on stdin) 07:52:11.765067 ====> Client forcibly disconnected 07:52:11.765288 Received QUIT (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/17/valgrind1166 ../src/curl -q --output log/17/curl1166.out --include --trace-ascii log/17/trace1166 --trace-time http://127.0.0.1:42601/want/1166 http://127.0.0.1:42601/want/1166 > log/17/stdout1166 2> log/17/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/23/valgrind1168 ../src/curl -q --output log/23/curl1168.out --include --trace-ascii log/23/trace1168 --trace-time http://127.0.0.1:41029/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/23/stdout1168 2> log/23/stderr1168 CMD (33792): ../libtool --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:41843/1170 --tr-encoding -H "Connection:" > log/24/stdout1170 2> log/24/stderr1170 07:52:11.765301 quits 07:52:11.765360 ============> 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:37071/fully_simulated/DOS/*[][ === End of file stderr1163 === Start of file valgrind1163 ==140220== ==140220== Process terminating with default action of signal 4 (SIGILL) ==140220== Illegal opcode at address 0x51D5F1F ==140220== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==140220== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==140220== by 0x51D5F1F: Curl_open (url.c:525) ==140220== by 0x514F6EF: curl_easy_init (easy.c:371) ==140220== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140220== by 0x400347F: main (first.c:280) ==140220== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==140220== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==140220== by 0x51D5EBD: Curl_open (url.c:504) ==140220== by 0x514F6EF: curl_easy_init (easy.c:371) ==140220== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140220== by 0x400347F: main (first.c:280) ==140220== === End of file valgrind1163 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/17/valgrind1166 ../src/curl -q --output log/17/curl1166.out --include --trace-ascii log/17/trace1166 --trace-time http://127.0.0.1:42601/want/1166 http://127.0.0.1:42601/want/1166 > log/17/stdout1166 2> log/17/stderr1166 1166: 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/ dir 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/17/valgrind1166 ../src/curl -q --output log/17/curl1166.out --include --trace-ascii log/17/trace1166 --trace-time http://127.0.0.1:42601/want/1166 http://127.0.0.1:42601/want/1166 > log/17/stdout1166 2> log/17/stderr1166 === End of file commands.log === Start of file http_server.log 07:52:12.943867 ====> Client connect 07:52:12.943903 accept_connection 3 returned 4 07:52:12.943922 accept_connection 3 returned 0 07:52:12.943939 Read 93 bytes 07:52:12.943950 Process 93 bytes request 07:52:12.943965 Got request: GET /verifiedserver HTTP/1.1 07:52:12.943976 Are-we-friendly question received 07:52:12.944001 Wrote request (93 bytes) input to log/17/server.input 07:52:12.944018 Identifying ourselves as friends 07:52:12.944079 Response sent (56 bytes) and written to log/17/server.response 07:52:12.944090 special request received, no persistency 07:52:12.944100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 39836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1166 ==140359== ==140359== Process terminating with default action of signal 4 (SIGILL) ==140359== Illegal opcode at address 0x4013DC0 ==140359== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140359== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140359== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140359== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1166 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/23/valgrind1168 ../src/curl -q --output log/23/curl1168.out --include --trace-ascii log/23/trace1168 --trace-time http://127.0.0.1:41029/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/23/stdout1168 2> log/23/stderr1168 1168: 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/ dir 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/23/valgrind1168 ../src/curl -q --output log/23/curl1168.out --include --trace-ascii log/23/trace1168 --trace-time http://127.0.0.1:41029/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/23/stdout1168 2> log/23/stderr1168 === End of file commands.log === Start of file http_server.log 07:52:11.986093 ====> Client connect 07:52:11.986133 accept_connection 3 returned 4 07:52:11.986150 accept_connection 3 returned 0 07:52:11.993002 Read 93 bytes 07:52:11.993024 Process 93 bytes request 07:52:11.993039 Got request: GET /verifiedserver HTTP/1.1 07:52:11.993050 Are-we-friendly question received 07:52:11.993095 Wrote request (93 bytes) input to log/23/server.input 07:52:11.993113 Identifying ourselves as friends 07:52:11.993172 Response sent (56 bytes) and written to log/23/server.response 07:52:11.993184 special request received, no persistency 07:52:11.993193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 60712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1168 ==140414== ==140414== Process terminating with default action of signal 4 (SIGILL) ==140414== Illegal opcode at address 0x4013DC0 ==140414== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140414== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140414== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140414== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1168 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:41843/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/ dir 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:41843/1170 --tr-encoding -H "Connection:" > log/24/stdouCMD (33792): ../libtool --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/valgrind1171 ../src/curl -q --output log/2/curl1171.out --include --trace-ascii log/2/trace1171 --trace-time http://127.0.0.1:43955/1171 --tr-encoding -H "Connection;" > log/2/stdout1171 2> log/2/stderr1171 CMD (33792): ../libtool --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/valgrind1172 ../src/curl -q --output log/19/curl1172.out --include --trace-ascii log/19/trace1172 --trace-time http://127.0.0.1:34835/1172 --no-http0.9 > log/19/stdout1172 2> log/19/stderr1172 CMD (33792): ../libtool --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/valgrind1176 ../src/curl -q --include --trace-ascii log/14/trace1176 --trace-time http://127.0.0.1:34115/1176 -o 'log/14/base-#0' > log/14/stdout1176 2> log/14/stderr1176 t1170 2> log/24/stderr1170 === End of file commands.log === Start of file http_server.log 07:52:12.087064 ====> Client connect 07:52:12.087101 accept_connection 3 returned 4 07:52:12.087118 accept_connection 3 returned 0 07:52:12.087135 Read 93 bytes 07:52:12.087146 Process 93 bytes request 07:52:12.087162 Got request: GET /verifiedserver HTTP/1.1 07:52:12.087173 Are-we-friendly question received 07:52:12.087199 Wrote request (93 bytes) input to log/24/server.input 07:52:12.087217 Identifying ourselves as friends 07:52:12.087302 Response sent (56 bytes) and written to log/24/server.response 07:52:12.087314 special request received, no persistency 07:52:12.087324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 39686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1170 ==140477== ==140477== Process terminating with default action of signal 4 (SIGILL) ==140477== Illegal opcode at address 0x4013DC0 ==140477== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140477== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140477== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140477== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1170 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/2/valgrind1171 ../src/curl -q --output log/2/curl1171.out --include --trace-ascii log/2/trace1171 --trace-time http://127.0.0.1:43955/1171 --tr-encoding -H "Connection;" > log/2/stdout1171 2> log/2/stderr1171 1171: 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/ dir 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/2/valgrind1171 ../src/curl -q --output log/2/curl1171.out --include --trace-ascii log/2/trace1171 --trace-time http://127.0.0.1:43955/1171 --tr-encoding -H "Connection;" > log/2/stdout1171 2> log/2/stderr1171 === End of file commands.log === Start of file http_server.log 07:52:13.198541 ====> Client connect 07:52:13.198575 accept_connection 3 returned 4 07:52:13.198593 accept_connection 3 returned 0 07:52:13.198611 Read 93 bytes 07:52:13.198621 Process 93 bytes request 07:52:13.198635 Got request: GET /verifiedserver HTTP/1.1 07:52:13.198646 Are-we-friendly question received 07:52:13.198673 Wrote request (93 bytes) input to log/2/server.input 07:52:13.198691 Identifying ourselves as friends 07:52:13.198750 Response sent (56 bytes) and written to log/2/server.response 07:52:13.198762 special request received, no persistency 07:52:13.198773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 46360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1171 ==140599== ==140599== Process terminating with default action of signal 4 (SIGILL) ==140599== Illegal opcode at address 0x4013DC0 ==140599== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140599== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140599== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140599== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1171 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/19/valgrind1172 ../src/curl -q --output log/19/curl1172.out --include --trace-ascii log/19/trace1172 --trace-time http://127.0.0.1:34835/1172 --no-http0.9 > log/19/stdout1172 2> log/19/stderr1172 1172: 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/ dir after test 1172 === Start of file commands.log ../libtool --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/valgrind1172 ../src/curl -q --output log/19/curl1172.out --include --trace-ascii log/19/trace1172 --trace-time http://127.0.0.1:34835/1172 --no-http0.9 > log/19/stdout1172 2> log/19/stderr1172 === End of file commands.log === Start of file http_server.log 07:52:12.223013 ====> Client connect 07:52:12.223047 accept_connection 3 returned 4 07:52:12.223064 accept_connection 3 returned 0 07:52:12.223079 Read 93 bytes 07:52:12.223090 Process 93 bytes request 07:52:12.223102 Got request: GET /verifiedserver HTTP/1.1 07:52:12.223113 Are-we-friendly question received 07:52:12.223137 Wrote request (93 bytes) input to log/19/server.input 07:52:12.223153 Identifying ourselves as friends 07:52:12.223207 Response sent (56 bytes) and written to log/19/server.response 07:52:12.223218 special request received, no persistency 07:52:12.223228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1172 ==140608== ==140608== Process terminating with default action of signal 4 (SIGILL) ==140608== Illegal opcode at address 0x4013DC0 ==140608== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140608== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1172 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/14/valgrind1176 ../src/curl -q --include --trace-ascii log/14/trace1176 --trace-time http://127.0.0.1:34115/1176 -o 'log/14/base-#0' > log/14/stdout1176 2> log/14/stderr1176 1176: protocol FAILED! There was no content at all 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/9/valgrind1174 ../src/curl -q --output log/9/curl1174.out --include --trace-ascii log/9/trace1174 --trace-time http://127.0.0.1:42717/1174 > log/9/stdout1174 2> log/9/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/16/valgrind1178 ../src/curl -q --output log/16/curl1178.out --include --trace-ascii log/16/trace1178 --trace-time http://127.0.0.1:44351/we/want/that/page/1178 -x http://127.0.0.1:44351 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/16/stdout1178 2> log/16/stderr1178 the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ dir 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/14/valgrind1176 ../src/curl -q --include --trace-ascii log/14/trace1176 --trace-time http://127.0.0.1:34115/1176 -o 'log/14/base-#0' > log/14/stdout1176 2> log/14/stderr1176 === End of file commands.log === Start of file http_server.log 07:52:12.357994 ====> Client connect 07:52:12.358030 accept_connection 3 returned 4 07:52:12.358048 accept_connection 3 returned 0 07:52:12.358064 Read 93 bytes 07:52:12.358075 Process 93 bytes request 07:52:12.358089 Got request: GET /verifiedserver HTTP/1.1 07:52:12.358099 Are-we-friendly question received 07:52:12.358121 Wrote request (93 bytes) input to log/14/server.input 07:52:12.358138 Identifying ourselves as friends 07:52:12.358192 Response sent (56 bytes) and written to log/14/server.response 07:52:12.358202 special request received, no persistency 07:52:12.358212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 46268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1176 ==140764== ==140764== Process terminating with default action of signal 4 (SIGILL) ==140764== Illegal opcode at address 0x4013DC0 ==140764== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140764== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140764== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140764== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1176 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/9/valgrind1174 ../src/curl -q --output log/9/curl1174.out --include --trace-ascii log/9/trace1174 --trace-time http://127.0.0.1:42717/1174 > log/9/stdout1174 2> log/9/stderr1174 1174: 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/ dir 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/9/valgrind1174 ../src/curl -q --output log/9/curl1174.out --include --trace-ascii log/9/trace1174 --trace-time http://127.0.0.1:42717/1174 > log/9/stdout1174 2> log/9/stderr1174 === End of file commands.log === Start of file http_server.log 07:52:12.382568 ====> Client connect 07:52:12.382607 accept_connection 3 returned 4 07:52:12.382627 accept_connection 3 returned 0 07:52:12.382646 Read 93 bytes 07:52:12.382657 Process 93 bytes request 07:52:12.382672 Got request: GET /verifiedserver HTTP/1.1 07:52:12.382684 Are-we-friendly question received 07:52:12.382713 Wrote request (93 bytes) input to log/9/server.input 07:52:12.382732 Identifying ourselves as friends 07:52:12.382811 Response sent (56 bytes) and written to log/9/server.response 07:52:12.382823 special request received, no persistency 07:52:12.382834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 56710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1174 ==140791== ==140791== Process terminating with default action of signal 4 (SIGILL) ==140791== Illegal opcode at address 0x4013DC0 ==140791== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140791== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140791== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140791== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1174 test 1178...[HTTP proxy auth with credentials longer than 256 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/16/valgrind1178 ../src/curl -q --output log/16/curl1178.out --include --trace-ascii log/16/trace1178 --trace-time http://127.0.0.1:44351/we/want/that/page/1178 -x http://127.0.0.1:44351 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/16/stdout1178 2> log/16/stderr1178 1178: 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/ dir 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/16/valgrind1178 ../src/curl -q --output log/16/curl1178.out --include --trace-ascii log/16/trace1178 --trace-time http://127.0.0.1:44351/we/want/that/page/1178 -x http://127.0.0.1:44351 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCMD (33792): ../libtool --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/valgrind1181 ../src/curl -q --output log/18/curl1181.out --include --trace-ascii log/18/trace1181 --trace-time --proxy http://127.0.0.1:46763 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:46763/1181 > log/18/stdout1181 2> log/18/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/7/valgrind1180 ../src/curl -q --output log/7/curl1180.out --include --trace-ascii log/7/trace1180 --trace-time --proxy http://127.0.0.1:39661 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:39661/1180 > log/7/stdout1180 2> log/7/stderr1180 CMD (33792): ../libtool --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/valgrind1183 ../src/curl -q --output log/22/curl1183.out --include --trace-ascii log/22/trace1183 --trace-time http://127.0.0.1:40377/1183 > log/22/stdout1183 2> log/22/stderr1183 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/16/stdout1178 2> log/16/stderr1178 === End of file commands.log === Start of file http_server.log 07:52:12.400664 ====> Client connect 07:52:12.400700 accept_connection 3 returned 4 07:52:12.400718 accept_connection 3 returned 0 07:52:12.400732 Read 93 bytes 07:52:12.400743 Process 93 bytes request 07:52:12.400756 Got request: GET /verifiedserver HTTP/1.1 07:52:12.400766 Are-we-friendly question received 07:52:12.400790 Wrote request (93 bytes) input to log/16/server.input 07:52:12.400808 Identifying ourselves as friends 07:52:12.400861 Response sent (56 bytes) and written to log/16/server.response 07:52:12.400875 special request received, no persistency 07:52:12.400886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 34050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1178 ==140814== ==140814== Process terminating with default action of signal 4 (SIGILL) ==140814== Illegal opcode at address 0x4013DC0 ==140814== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140814== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1178 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/18/valgrind1181 ../src/curl -q --output log/18/curl1181.out --include --trace-ascii log/18/trace1181 --trace-time --proxy http://127.0.0.1:46763 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:46763/1181 > log/18/stdout1181 2> log/18/stderr1181 1181: 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/ dir 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/18/valgrind1181 ../src/curl -q --output log/18/curl1181.out --include --trace-ascii log/18/trace1181 --trace-time --proxy http://127.0.0.1:46763 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:46763/1181 > log/18/stdout1181 2> log/18/stderr1181 === End of file commands.log === Start of file http_server.log 07:52:13.516641 ====> Client connect 07:52:13.516682 accept_connection 3 returned 4 07:52:13.516702 accept_connection 3 returned 0 07:52:13.516719 Read 93 bytes 07:52:13.516730 Process 93 bytes request 07:52:13.516747 Got request: GET /verifiedserver HTTP/1.1 07:52:13.516758 Are-we-friendly question received 07:52:13.516787 Wrote request (93 bytes) input to log/18/server.input 07:52:13.516806 Identifying ourselves as friends 07:52:13.516865 Response sent (56 bytes) and written to log/18/server.response 07:52:13.516878 special request received, no persistency 07:52:13.516888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 56650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1181 ==140946== ==140946== Process terminating with default action of signal 4 (SIGILL) ==140946== Illegal opcode at address 0x4013DC0 ==140946== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140946== by 0x40037A4: main (tool_main.c:199) === 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/7/valgrind1180 ../src/curl -q --output log/7/curl1180.out --include --trace-ascii log/7/trace1180 --trace-time --proxy http://127.0.0.1:39661 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:39661/1180 > log/7/stdout1180 2> log/7/stderr1180 1180: 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/ dir 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/7/valgrind1180 ../src/curl -q --output log/7/curl1180.out --include --trace-ascii log/7/trace1180 --trace-time --proxy http://127.0.0.1:39661 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:39661/1180 > log/7/stdout1180 2> log/7/stderr1180 === End of file commands.log === Start of file http_server.log 07:52:13.443092 ====> Client connect 07:52:13.443133 accept_connection 3 returned 4 07:52:13.443157 accept_connection 3 returned 0 07:52:13.443175 Read 93 bytes 07:52:13.443187 Process 93 bytes request 07:52:13.443203 Got request: GET /verifiedserver HTTP/1.1 07:52:13.443213 Are-we-friendly question received 07:52:13.443239 Wrote request (93 bytes) input to log/7/server.input 07:52:13.443258 Identifying ourselves as friends 07:52:13.443324 Response sent (56 bytes) and written to log/7/server.response 07:52:13.443337 special request received, no persistency 07:52:13.443348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 46426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1180 ==140846== ==140846== Process terminating with default action of signal 4 (SIGILL) ==140846== Illegal opcode at address 0x4013DC0 ==140846== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==140846== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140846== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==140846== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1180 test 1183...[1183 used instead CMD (33792): ../libtool --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:35709/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/11/valgrind1188 ../src/curl -q --output log/11/curl1188.out --include --trace-ascii log/11/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:38169/we/want/our/1188 http://127.0.0.1:38169/we/want/our/1188 > log/11/stdout1188 2> log/11/stderr1188 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/22/valgrind1183 ../src/curl -q --output log/22/curl1183.out --include --trace-ascii log/22/trace1183 --trace-time http://127.0.0.1:40377/1183 > log/22/stdout1183 2> log/22/stderr1183 1183: 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/ dir 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/22/valgrind1183 ../src/curl -q --output log/22/curl1183.out --include --trace-ascii log/22/trace1183 --trace-time http://127.0.0.1:40377/1183 > log/22/stdout1183 2> log/22/stderr1183 === End of file commands.log === Start of file http_server.log 07:52:12.545847 ====> Client connect 07:52:12.545891 accept_connection 3 returned 4 07:52:12.545911 accept_connection 3 returned 0 07:52:12.545929 Read 93 bytes 07:52:12.545941 Process 93 bytes request 07:52:12.545956 Got request: GET /verifiedserver HTTP/1.1 07:52:12.545967 Are-we-friendly question received 07:52:12.545993 Wrote request (93 bytes) input to log/22/server.input 07:52:12.546011 Identifying ourselves as friends 07:52:12.546087 Response sent (56 bytes) and written to log/22/server.response 07:52:12.546098 special request received, no persistency 07:52:12.546108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 39726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1183 ==141024== ==141024== Process terminating with default action of signal 4 (SIGILL) ==141024== Illegal opcode at address 0x4013DC0 ==141024== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141024== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141024== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141024== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1183 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:35709/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/ dir 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:35709/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 07:52:12.623841 ====> Client connect 07:52:12.623876 accept_connection 3 returned 4 07:52:12.623894 accept_connection 3 returned 0 07:52:12.623909 Read 93 bytes 07:52:12.623920 Process 93 bytes request 07:52:12.623934 Got request: GET /verifiedserver HTTP/1.1 07:52:12.623944 Are-we-friendly question received 07:52:12.623968 Wrote request (93 bytes) input to log/1/server.input 07:52:12.623985 Identifying ourselves as friends 07:52:12.624037 Response sent (56 bytes) and written to log/1/server.response 07:52:12.624048 special request received, no persistency 07:52:12.624057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 35504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === 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 ==141104== ==141104== Process terminating with default action of signal 4 (SIGILL) ==141104== Illegal opcode at address 0x4013DC0 ==141104== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141104== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141104== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141104== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1186 CMD (33792): ../libtool --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/valgrind1189 ../src/curl -q --output log/20/curl1189.out --include --trace-ascii log/20/trace1189 --trace-time http://127.0.0.1:40357/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/20/stdout1189 2> log/20/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/5/valgrind1187 ../src/curl -q --output log/5/curl1187.out --include --trace-ascii log/5/trace1187 --trace-time smtp://127.0.0.1:43997/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/5/stdout1187 2> log/5/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/11/valgrind1188 ../src/curl -q --output log/11/curl1188.out --include --trace-ascii log/11/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:38169/we/want/our/1188 http://127.0.0.1:38169/we/want/our/1188 > log/11/stdout1188 2> log/11/stderr1188 1188: stderr FAILED: --- log/11/check-expected 2025-11-07 07:52:14.157374079 +0000 +++ log/11/check-generated 2025-11-07 07:52:14.157374079 +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/11/ dir 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/11/valgrind1188 ../src/curl -q --output log/11/curl1188.out --include --trace-ascii log/11/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:38169/we/want/our/1188 http://127.0.0.1:38169/we/want/our/1188 > log/11/stdout1188 2> log/11/stderr1188 === End of file commands.log === Start of file http_server.log 07:52:12.827453 ====> Client connect 07:52:12.827489 accept_connection 3 returned 4 07:52:12.827506 accept_connection 3 returned 0 07:52:12.827521 Read 93 bytes 07:52:12.827531 Process 93 bytes request 07:52:12.827546 Got request: GET /verifiedserver HTTP/1.1 07:52:12.827555 Are-we-friendly question received 07:52:12.827607 Wrote request (93 bytes) input to log/11/server.input 07:52:12.827625 Identifying ourselves as friends 07:52:12.827678 Response sent (56 bytes) and written to log/11/server.response 07:52:12.827689 special request received, no persistency 07:52:12.827698 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1188 ==141241== ==141241== Process terminating with default action of signal 4 (SIGILL) ==141241== Illegal opcode at address 0x4013DC0 ==141241== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141241== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141241== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141241== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1188 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/20/valgrind1189 ../src/curl -q --output log/20/curl1189.out --include --trace-ascii log/20/trace1189 --trace-time http://127.0.0.1:40357/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/20/stdout1189 2> log/20/stderr1189 1189: 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/ dir 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/20/valgrind1189 ../src/curl -q --output log/20/curl1189.out --include --trace-ascii log/20/trace1189 --trace-time http://127.0.0.1:40357/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/20/stdout1189 2> log/20/stderr1189 === End of file commands.log === Start of file http_server.log 07:52:12.933424 ====> Client connect 07:52:12.933456 accept_connection 3 returned 4 07:52:12.933471 accept_connection 3 returned 0 07:52:12.933485 Read 93 bytes 07:52:12.933494 Process 93 bytes request 07:52:12.933507 Got request: GET /verifiedserver HTTP/1.1 07:52:12.933516 Are-we-friendly question received 07:52:12.933539 Wrote request (93 bytes) input to log/20/server.input 07:52:12.933555 Identifying ourselves as friends 07:52:12.933604 Response sent (56 bytes) and written to log/20/server.response 07:52:12.933613 special request received, no persistency 07:52:12.933622 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 52788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === 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 ==141305== ==141305== Process terminating with default action of signal 4 (SIGILL) ==141305== Illegal opcode at address 0x4013DC0 ==141305== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141305== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141305== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141305== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1189 test 1187...[SMTP multipart with file name 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/5/valgrind1187 ../src/curl -q --output log/5/curl1187.out --include --trace-ascii log/5/trace1187 --trace-time smtp://127.0.0.1:43997/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/5/stdout1187 2> log/5/stderr1187 1187: 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/ dir 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=CMD (33792): ../libtool --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/valgrind1197 ../src/curl -q --include --trace-ascii log/8/trace1197 --trace-time http://127.0.0.1:36147/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/8/stdout1197 2> log/8/stderr1197 log/5/valgrind1187 ../src/curl -q --output log/5/curl1187.out --include --trace-ascii log/5/trace1187 --trace-time smtp://127.0.0.1:43997/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/5/stdout1187 2> log/5/stderr1187 === End of file commands.log === Start of file server.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 07:52:13.032393 ====> Client connect 07:52:13.032519 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:13.032800 < "EHLO verifiedserver" 07:52:13.032842 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:13.033014 < "HELP" 07:52:13.033045 > "214 WE ROOLZ: 124444[CR][LF]" 07:52:13.033059 return proof we are we 07:52:13.033281 < "QUIT" 07:52:13.033308 > "221 curl ESMTP server signing off[CR][LF]" 07:52:13.034498 MAIN sockfilt said DISC 07:52:13.034527 ====> Client disconnected 07:52:13.034735 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:12.860232 ====> Client connect 07:52:12.860473 Received DATA (on stdin) 07:52:12.860489 > 160 bytes data, server => client 07:52:12.860502 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:12.860514 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:12.860525 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:12.860598 < 21 bytes data, client => server 07:52:12.860611 'EHLO verifiedserver\r\n' 07:52:12.860786 Received DATA (on stdin) 07:52:12.860799 > 53 bytes data, server => client 07:52:12.860811 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:12.860865 < 6 bytes data, client => server 07:52:12.860876 'HELP\r\n' 07:52:12.860999 Received DATA (on stdin) 07:52:12.861011 > 22 bytes data, server => client 07:52:12.861022 '214 WE ROOLZ: 124444\r\n' 07:52:12.861132 < 6 bytes data, client => server 07:52:12.861146 'QUIT\r\n' 07:52:12.861248 Received DATA (on stdin) 07:52:12.861260 > 35 bytes data, server => client 07:52:12.861272 '221 curl ESMTP server signing off\r\n' 07:52:12.862386 ====> Client disconnect 07:52:12.862590 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 ==141254== ==141254== Process terminating with default action of signal 4 (SIGILL) ==141254== Illegal opcode at address 0x4013DC0 ==141254== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141254== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141254== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141254== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1187 CMD (33792): ../libtool --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/valgrind1205 ../src/curl -q --output log/9/curl1205.out --include --trace-ascii log/9/trace1205 --trace-time http://127.0.0.1:42717/1205 > log/9/stdout1205 2> log/9/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/16/valgrind1206 ../src/curl -q --output log/16/curl1206.out --include --trace-ascii log/16/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:37855/1206 -P - > log/16/stdout1206 2> log/16/stderr1206 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/8/valgrind1197 ../src/curl -q --include --trace-ascii log/8/trace1197 --trace-time http://127.0.0.1:36147/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/8/stdout1197 2> log/8/stderr1197 1197: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:14.334040747 +0000 +++ log/8/check-generated 2025-11-07 07:52:14.334040747 +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/8/ dir 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/8/valgrind1197 ../src/curl -q --include --trace-ascii log/8/trace1197 --trace-time http://127.0.0.1:36147/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/8/stdout1197 2> log/8/stderr1197 === End of file commands.log === Start of file http_server.log 07:52:13.218393 ====> Client connect 07:52:13.218445 accept_connection 3 returned 4 07:52:13.218464 accept_connection 3 returned 0 07:52:13.218482 Read 93 bytes 07:52:13.218494 Process 93 bytes request 07:52:13.218508 Got request: GET /verifiedserver HTTP/1.1 07:52:13.218519 Are-we-friendly question received 07:52:13.218548 Wrote request (93 bytes) input to log/8/server.input 07:52:13.218567 Identifying ourselves as friends 07:52:13.218628 Response sent (56 bytes) and written to log/8/server.response 07:52:13.218641 special request received, no persistency 07:52:13.218651 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 56452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1197 ==141459== ==141459== Process terminating with default action of signal 4 (SIGILL) ==141459== Illegal opcode at address 0x4013DC0 ==141459== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1197 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/9/valgrind1205 ../src/curl -q --output log/9/curl1205.out --include --trace-ascii log/9/trace1205 --trace-time http://127.0.0.1:42717/1205 > log/9/stdout1205 2> log/9/stderr1205 1205: 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/ dir 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/9/valgrind1205 ../src/curl -q --output log/9/curl1205.out --include --trace-ascii log/9/trace1205 --trace-time http://127.0.0.1:42717/1205 > log/9/stdout1205 2> log/9/stderr1205 === End of file commands.log === Start of file http_server.log 07:52:13.657860 ====> Client connect 07:52:13.657893 accept_connection 3 returned 4 07:52:13.657911 accept_connection 3 returned 0 07:52:13.657926 Read 93 bytes 07:52:13.657937 Process 93 bytes request 07:52:13.657951 Got request: GET /verifiedserver HTTP/1.1 07:52:13.657961 Are-we-friendly question received 07:52:13.657984 Wrote request (93 bytes) input to log/9/server.input 07:52:13.657999 Identifying ourselves as friends 07:52:13.658052 Response sent (56 bytes) and written to log/9/server.response 07:52:13.658062 special request received, no persistency 07:52:13.658072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 56724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1205 ==141586== ==141586== Process terminating with default action of signal 4 (SIGILL) ==141586== Illegal opcode at address 0x4013DC0 ==141586== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141586== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141586== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141586== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1205 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 --log-file=log/16/valgrind1206 ../src/curl -q --output log/16/curl1206.out --include --trace-ascii log/16/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:37855/1206 -P - > log/16/stdout1206 2> log/16/stderr1206 1206: 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/ dir 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/16/valgrind1206 ../src/curl -q --output log/16/curl1206.out --include --trace-ascii log/16/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:37855/1206 -P - > log/16/stdout1206 2> log/16/stderr1206 === End of file commands.log === Start of file ftp_server.log 07:52:13.855735 ====> Client connect 07:52:13.855889 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:13.856156 < "USER anonymous" 07:52:13.856200 > "331 We are happy you popped in![CR][LF]" 07:52:13.856399 < "PASS 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/14/valgrind1204 ../src/curl -q --output log/14/curl1204.out --include --trace-ascii log/14/trace1204 --trace-time http://127.0.0.1:34115/1204 -u testuser:testpass --anyauth > log/14/stdout1204 2> log/14/stderr1204 example.com" 07:52:13.856436 > "230 Welcome you silly person[CR][LF]" 07:52:13.856568 < "PWD" 07:52:13.856592 > "257 "/" is current directory[CR][LF]" 07:52:13.856715 < "EPSV" 07:52:13.856733 ====> Passive DATA channel requested by client 07:52:13.856745 DATA sockfilt for passive data channel starting... 07:52:13.858180 DATA sockfilt for passive data channel started (pid 141644) 07:52:13.858289 DATA sockfilt for passive data channel listens on port 38021 07:52:13.858334 > "229 Entering Passive Mode (|||38021|)[CR][LF]" 07:52:13.858353 Client has been notified that DATA conn will be accepted on port 38021 07:52:13.858553 Client connects to port 38021 07:52:13.858579 ====> Client established passive DATA connection on port 38021 07:52:13.858638 < "TYPE I" 07:52:13.858662 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:13.858794 < "SIZE verifiedserver" 07:52:13.858823 > "213 17[CR][LF]" 07:52:13.858936 < "RETR verifiedserver" 07:52:13.858961 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:13.859025 =====> Closing passive DATA connection... 07:52:13.859037 Server disconnects passive DATA connection 07:52:13.859695 Server disconnected passive DATA connection 07:52:13.859720 DATA sockfilt for passive data channel quits (pid 141644) 07:52:13.859919 DATA sockfilt for passive data channel quit (pid 141644) 07:52:13.859950 =====> Closed passive DATA connection 07:52:13.859981 > "226 File transfer complete[CR][LF]" 07:52:13.901590 < "QUIT" 07:52:13.901647 > "221 bye bye baby[CR][LF]" 07:52:13.902667 MAIN sockfilt said DISC 07:52:13.902706 ====> Client disconnected 07:52:13.902780 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:13.683558 ====> Client connect 07:52:13.683841 Received DATA (on stdin) 07:52:13.683857 > 160 bytes data, server => client 07:52:13.683867 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:13.683876 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:13.683884 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:13.683954 < 16 bytes data, client => server 07:52:13.683965 'USER anonymous\r\n' 07:52:13.684148 Received DATA (on stdin) 07:52:13.684163 > 33 bytes data, server => client 07:52:13.684175 '331 We are happy you popped in!\r\n' 07:52:13.684231 < 22 bytes data, client => server 07:52:13.684246 'PASS ftp@example.com\r\n' 07:52:13.684375 Received DATA (on stdin) 07:52:13.684386 > 30 bytes data, server => client 07:52:13.684395 '230 Welcome you silly person\r\n' 07:52:13.684435 < 5 bytes data, client => server 07:52:13.684444 'PWD\r\n' 07:52:13.684528 Received DATA (on stdin) 07:52:13.684538 > 30 bytes data, server => client 07:52:13.684547 '257 "/" is current directory\r\n' 07:52:13.684590 < 6 bytes data, client => server 07:52:13.684599 'EPSV\r\n' 07:52:13.686300 Received DATA (on stdin) 07:52:13.686314 > 39 bytes data, server => client 07:52:13.686326 '229 Entering Passive Mode (|||38021|)\r\n' 07:52:13.686477 < 8 bytes data, client => server 07:52:13.686510 'TYPE I\r\n' 07:52:13.686601 Received DATA (on stdin) 07:52:13.686614 > 33 bytes data, server => client 07:52:13.686624 '200 I modify TYPE as you wanted\r\n' 07:52:13.686666 < 21 bytes data, client => server 07:52:13.686676 'SIZE verifiedserver\r\n' 07:52:13.686759 Received DATA (on stdin) 07:52:13.686768 > 8 bytes data, server => client 07:52:13.686777 '213 17\r\n' 07:52:13.686812 < 21 bytes data, client => server 07:52:13.686821 'RETR verifiedserver\r\n' 07:52:13.686976 Received DATA (on stdin) 07:52:13.686986 > 29 bytes data, server => client 07:52:13.686995 '150 Binary junk (17 bytes).\r\n' 07:52:13.687927 Received DATA (on stdin) 07:52:13.687942 > 28 bytes data, server => client 07:52:13.687953 '226 File transfer complete\r\n' 07:52:13.729365 < 6 bytes data, client => server 07:52:13.729402 'QUIT\r\n' 07:52:13.729593 Received DATA (on stdin) 07:52:13.729606 > 18 bytes data, server => client 07:52:13.729617 '221 bye bye baby\r\n' 07:52:13.730552 ====> Client disconnect 07:52:13.730720 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:13.685946 Running IPv4 version 07:52:13.685996 Listening on port 38021 07:52:13.686042 Wrote pid 141644 to log/16/server/ftp_sockdata.pid 07:52:13.686063 Received PING (on stdin) 07:52:13.686147 Received PORT (on stdin) 07:52:13.686440 ====> Client connect 07:52:13.687460 Received DATA (on stdin) 07:52:13.687478 > 17 bytes data, server => client 07:52:13.687489 'WE ROOLZ: 80324\r\n' 07:52:13.687518 Received DISC (on stdin) 07:52:13.687530 ====> Client forcibly disconnected 07:52:13.687669 Received QUIT (on stdin) 07:52:13.687680 quits 07:52:13.687742 ============> 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 ==141684== ==141684== Process terminating with default action of signal 4 (SIGILL) ==141684== Illegal opcode at address 0x4013DC0 ==141684== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141684== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141684== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141684== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1206 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/14/valgrind1204 ../src/curl -q --output log/14/curl1204.out --include --trace-ascii log/14/trace1204 --trace-time http://127.0.0.1:34115/1204 -u testuser:testpass --anyauth > log/14/stdout1204 2> log/14/stderr1204 1204: 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/ dir 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/14/valgrind1204 ../src/curl -q --output log/14/curl1204.out --include --trace-ascii log/14/trace1204 --trace-time http://127.0.0.1:34115/1204 -u testuser:testpass --anyauth > log/14/stdout1204 2> log/14/stderr1204 === End of file commands.log === Start of file http_server.log 07:52:13.642449 ====> Client connect 07:52:13.642484 accept_connection 3 returned 4 07:52:13.642513 accept_connection 3 returned 0 07:52:13.642529 Read 93 bytes 07:52:13.642540 Process 93 bytes request 07:52:13.642554 Got request: GET /verifiedserver HTTP/1.1 07:52:13.642564 Are-we-friendly question received 07:52:13.642589 Wrote request (93 bytes) input to log/14/server.input 07:52:13.642607 Identifying ourselves as friends 07:52:13.642661 Response sent (56 bytes) and written to log/14/server.response 07:52:13.642672 special request received, no persistency 07:52:13.642682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 46276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1204 ==141568== ==141568== Process terminating with default action of signal 4 (SIGILL) ==141568== Illegal opcode at address 0x4013DC0 ==141568== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141568== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141568== CMD (33792): ../libtool --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/valgrind1207 ../src/curl -q --output log/18/curl1207.out --include --trace-ascii log/18/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:34455/1207 -P - > log/18/stdout1207 2> log/18/stderr1207 CMD (33792): ../libtool --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/valgrind1212 ../src/curl -q --output log/1/curl1212.out --include --trace-ascii log/1/trace1212 --trace-time http://user:secret@127.0.0.1:35709/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/1/stdout1212 2> log/1/stderr1212 by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141568== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1204 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/18/valgrind1207 ../src/curl -q --output log/18/curl1207.out --include --trace-ascii log/18/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:34455/1207 -P - > log/18/stdout1207 2> log/18/stderr1207 1207: 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/ dir after test 1207 === Start of file commands.log ../libtool --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/valgrind1207 ../src/curl -q --output log/18/curl1207.out --include --trace-ascii log/18/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:34455/1207 -P - > log/18/stdout1207 2> log/18/stderr1207 === End of file commands.log === Start of file ftp_server.log 07:52:13.945358 ====> Client connect 07:52:13.945510 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:13.945897 < "USER anonymous" 07:52:13.945950 > "331 We are happy you popped in![CR][LF]" 07:52:13.946142 < "PASS ftp@example.com" 07:52:13.946173 > "230 Welcome you silly person[CR][LF]" 07:52:13.946325 < "PWD" 07:52:13.946357 > "257 "/" is current directory[CR][LF]" 07:52:13.946512 < "EPSV" 07:52:13.946535 ====> Passive DATA channel requested by client 07:52:13.946548 DATA sockfilt for passive data channel starting... 07:52:13.948338 DATA sockfilt for passive data channel started (pid 141753) 07:52:13.948450 DATA sockfilt for passive data channel listens on port 44537 07:52:13.948493 > "229 Entering Passive Mode (|||44537|)[CR][LF]" 07:52:13.948513 Client has been notified that DATA conn will be accepted on port 44537 07:52:13.948712 Client connects to port 44537 07:52:13.948735 ====> Client established passive DATA connection on port 44537 07:52:13.948802 < "TYPE I" 07:52:13.948830 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:13.948996 < "SIZE verifiedserver" 07:52:13.949033 > "213 17[CR][LF]" 07:52:13.949181 < "RETR verifiedserver" 07:52:13.949213 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:13.949295 =====> Closing passive DATA connection... 07:52:13.949311 Server disconnects passive DATA connection 07:52:13.949385 Server disconnected passive DATA connection 07:52:13.949405 DATA sockfilt for passive data channel quits (pid 141753) 07:52:13.949622 DATA sockfilt for passive data channel quit (pid 141753) 07:52:13.949657 =====> Closed passive DATA connection 07:52:13.949689 > "226 File transfer complete[CR][LF]" 07:52:13.992558 < "QUIT" 07:52:13.992609 > "221 bye bye baby[CR][LF]" 07:52:13.993415 MAIN sockfilt said DISC 07:52:13.993490 ====> Client disconnected 07:52:13.993561 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:14.773182 ====> Client connect 07:52:14.773451 Received DATA (on stdin) 07:52:14.773485 > 160 bytes data, server => client 07:52:14.773499 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:14.773511 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:14.773522 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:14.773628 < 16 bytes data, client => server 07:52:14.773644 'USER anonymous\r\n' 07:52:14.773897 Received DATA (on stdin) 07:52:14.773912 > 33 bytes data, server => client 07:52:14.773923 '331 We are happy you popped in!\r\n' 07:52:14.773985 < 22 bytes data, client => server 07:52:14.773997 'PASS ftp@example.com\r\n' 07:52:14.774115 Received DATA (on stdin) 07:52:14.774127 > 30 bytes data, server => client 07:52:14.774138 '230 Welcome you silly person\r\n' 07:52:14.774185 < 5 bytes data, client => server 07:52:14.774196 'PWD\r\n' 07:52:14.774297 Received DATA (on stdin) 07:52:14.774309 > 30 bytes data, server => client 07:52:14.774321 '257 "/" is current directory\r\n' 07:52:14.774376 < 6 bytes data, client => server 07:52:14.774388 'EPSV\r\n' 07:52:14.776458 Received DATA (on stdin) 07:52:14.776479 > 39 bytes data, server => client 07:52:14.776491 '229 Entering Passive Mode (|||44537|)\r\n' 07:52:14.776632 < 8 bytes data, client => server 07:52:14.776644 'TYPE I\r\n' 07:52:14.776772 Received DATA (on stdin) 07:52:14.776786 > 33 bytes data, server => client 07:52:14.776797 '200 I modify TYPE as you wanted\r\n' 07:52:14.776853 < 21 bytes data, client => server 07:52:14.776865 'SIZE verifiedserver\r\n' 07:52:14.776974 Received DATA (on stdin) 07:52:14.776986 > 8 bytes data, server => client 07:52:14.776997 '213 17\r\n' 07:52:14.777043 < 21 bytes data, client => server 07:52:14.777055 'RETR verifiedserver\r\n' 07:52:14.777223 Received DATA (on stdin) 07:52:14.777249 > 29 bytes data, server => client 07:52:14.777262 '150 Binary junk (17 bytes).\r\n' 07:52:14.777636 Received DATA (on stdin) 07:52:14.777650 > 28 bytes data, server => client 07:52:14.777661 '226 File transfer complete\r\n' 07:52:14.820342 < 6 bytes data, client => server 07:52:14.820366 'QUIT\r\n' 07:52:14.820552 Received DATA (on stdin) 07:52:14.820564 > 18 bytes data, server => client 07:52:14.820574 '221 bye bye baby\r\n' 07:52:14.821288 ====> Client disconnect 07:52:14.821507 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:13.776108 Running IPv4 version 07:52:13.776166 Listening on port 44537 07:52:13.776200 Wrote pid 141753 to log/18/server/ftp_sockdata.pid 07:52:13.776221 Received PING (on stdin) 07:52:13.776305 Received PORT (on stdin) 07:52:13.776606 ====> Client connect 07:52:13.777166 Received DATA (on stdin) 07:52:13.777180 > 17 bytes data, server => client 07:52:13.777191 'WE ROOLZ: 80643\r\n' 07:52:13.777260 Received DISC (on stdin) 07:52:13.777275 ====> Client forcibly disconnected 07:52:13.777349 Received QUIT (on stdin) 07:52:13.777360 quits 07:52:13.777414 ============> 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 ==141835== ==141835== Process terminating with default action of signal 4 (SIGILL) ==141835== Illegal opcode at address 0x4013DC0 ==141835== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141835== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141835== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141835== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1207 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/1/valgrind1212 ../src/curl -q --output log/1/curl1212.out --include --trace-ascii log/1/trace1212 --trace-time http://user:secret@127.0.0.1:35709/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/1/stdout1212 2> log/1/stderr1212 1212: 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/ dir 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/1/valgrind1212 ../src/curl -q --output log/1/curl1212.out --include --trace-ascii log/1/trace1212 --trace-time http://user:secret@127.0.0.1:35709/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/1/stdout1212 2> log/1/stderr1212 === End of file commands.log === Start of file http_server.log 07:52:13.815635 ==CMD (33792): ../libtool --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/valgrind1210 ../src/curl -q --trace-ascii log/22/trace1210 --trace-time http://127.0.0.1:40377/1210?junk -J -O --output-dir log/22 > log/22/stdout1210 2> log/22/stderr1210 CMD (33792): ../libtool --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/valgrind1191 ../src/curl -q --output log/6/curl1191.out --include --trace log/6/trace1191 --trace-time mqtt://127.0.0.1:44169/1191 -d something > log/6/stdout1191 2> log/6/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/12/valgrind1190 ../src/curl -q --output log/12/curl1190.out --include --trace log/12/trace1190 --trace-time mqtt://127.0.0.1:33811/1190 > log/12/stdout1190 2> log/12/stderr1190 ==> Client connect 07:52:13.815668 accept_connection 3 returned 4 07:52:13.815686 accept_connection 3 returned 0 07:52:13.815702 Read 93 bytes 07:52:13.815713 Process 93 bytes request 07:52:13.815726 Got request: GET /verifiedserver HTTP/1.1 07:52:13.815736 Are-we-friendly question received 07:52:13.815761 Wrote request (93 bytes) input to log/1/server.input 07:52:13.815779 Identifying ourselves as friends 07:52:13.815963 Response sent (56 bytes) and written to log/1/server.response 07:52:13.815981 special request received, no persistency 07:52:13.815992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 35512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1212 ==141828== ==141828== Process terminating with default action of signal 4 (SIGILL) ==141828== Illegal opcode at address 0x4013DC0 ==141828== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1212 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/22/valgrind1210 ../src/curl -q --trace-ascii log/22/trace1210 --trace-time http://127.0.0.1:40377/1210?junk -J -O --output-dir log/22 > log/22/stdout1210 2> log/22/stderr1210 1210: 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/ dir 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/22/valgrind1210 ../src/curl -q --trace-ascii log/22/trace1210 --trace-time http://127.0.0.1:40377/1210?junk -J -O --output-dir log/22 > log/22/stdout1210 2> log/22/stderr1210 === End of file commands.log === Start of file http_server.log 07:52:13.774978 ====> Client connect 07:52:13.775012 accept_connection 3 returned 4 07:52:13.775032 accept_connection 3 returned 0 07:52:13.775047 Read 93 bytes 07:52:13.775058 Process 93 bytes request 07:52:13.775073 Got request: GET /verifiedserver HTTP/1.1 07:52:13.775084 Are-we-friendly question received 07:52:13.775111 Wrote request (93 bytes) input to log/22/server.input 07:52:13.775130 Identifying ourselves as friends 07:52:13.775191 Response sent (56 bytes) and written to log/22/server.response 07:52:13.775203 special request received, no persistency 07:52:13.775213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 39728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1210 ==141763== ==141763== Process terminating with default action of signal 4 (SIGILL) ==141763== Illegal opcode at address 0x4013DC0 ==141763== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141763== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141763== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141763== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1210 startnew: ./server/servers mqttd --port 0 --pidfile log/6/server/mqtt_server.pid --portfile log/6/server/mqtt_server.port --config log/6/server.cmd --logfile log/6/mqtt_server.log --logdir log/6 RUN: MQTT server is now running PID 141292 on PORT 44169 * pid mqtt => 141292 141292 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/6/valgrind1191 ../src/curl -q --output log/6/curl1191.out --include --trace log/6/trace1191 --trace-time mqtt://127.0.0.1:44169/1191 -d something > log/6/stdout1191 2> log/6/stderr1191 1191: 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/ dir 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/6/valgrind1191 ../src/curl -q --output log/6/curl1191.out --include --trace log/6/trace1191 --trace-time mqtt://127.0.0.1:44169/1191 -d something > log/6/stdout1191 2> log/6/stderr1191 === End of file commands.log === Start of file mqtt_server.log 07:52:13.931823 Running IPv4 version 07:52:13.931894 Listening on port 44169 07:52:13.931939 Wrote pid 141292 to log/6/server/mqtt_server.pid 07:52:13.931971 Wrote port 44169 to log/6/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 ==141932== ==141932== Process terminating with default action of signal 4 (SIGILL) ==141932== Illegal opcode at address 0x4013DC0 ==141932== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141932== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141932== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141932== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1191 startnew: ./server/servers mqttd --port 0 --pidfile log/12/server/mqtt_server.pid --portfile log/12/server/mqtt_server.port --config log/12/server.cmd --logfile log/12/mqtt_server.log --logdir log/12 RUN: MQTT server is now running PID 141289 on PORT 33811 * pid mqtt => 141289 141289 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/12/valgrind1190 ../src/curl -q --output log/12/curl1190.out --include --trace log/12/trace1190 --trace-time mqtt://127.0.0.1:33811/1190 > log/12/stdout1190 2> log/12/stderr1190 1190: 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/ dir 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/12/valgrind1190 ../src/curl -q --output log/12/curl1190.out --include --trace log/12/trace1190 --trace-time mqtt://127.0.0.1:33811/1190 > log/12/stdout1190 2> log/12/stderr1190 === End of file commands.log === Start of file mqtt_server.log 07:52:13.931397 Running IPv4 version 07:52:13.931463 Listening on port 33811 07:52:13.931498 Wrote pid 141289 to log/12/server/mqtt_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/20/valgrind1214 ../src/curl -q --output log/20/curl1214.out --include --trace-ascii log/20/trace1214 --trace-time -x 127.0.0.1:40357 http://we.want.that.site.com.1214?moo=foo > log/20/stdout1214 2> log/20/stderr1214 CMD (33792): ../libtool --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/valgrind1192 ../src/curl -q --output log/10/curl1192.out --include --trace log/10/trace1192 --trace-time mqtt://127.0.0.1:34525/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/10/stdout1192 2> log/10/stderr1192 pid 07:52:13.931525 Wrote port 33811 to log/12/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 ==141931== ==141931== Process terminating with default action of signal 4 (SIGILL) ==141931== Illegal opcode at address 0x4013DC0 ==141931== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141931== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141931== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141931== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1190 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/20/valgrind1214 ../src/curl -q --output log/20/curl1214.out --include --trace-ascii log/20/trace1214 --trace-time -x 127.0.0.1:40357 http://we.want.that.site.com.1214?moo=foo > log/20/stdout1214 2> log/20/stderr1214 1214: 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/ dir 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/20/valgrind1214 ../src/curl -q --output log/20/curl1214.out --include --trace-ascii log/20/trace1214 --trace-time -x 127.0.0.1:40357 http://we.want.that.site.com.1214?moo=foo > log/20/stdout1214 2> log/20/stderr1214 === End of file commands.log === Start of file http_server.log 07:52:14.012986 ====> Client connect 07:52:14.013033 accept_connection 3 returned 4 07:52:14.013051 accept_connection 3 returned 0 07:52:14.013067 Read 93 bytes 07:52:14.013078 Process 93 bytes request 07:52:14.013092 Got request: GET /verifiedserver HTTP/1.1 07:52:14.013103 Are-we-friendly question received 07:52:14.013133 Wrote request (93 bytes) input to log/20/server.input 07:52:14.013151 Identifying ourselves as friends 07:52:14.013211 Response sent (56 bytes) and written to log/20/server.response 07:52:14.013223 special request received, no persistency 07:52:14.013235 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 52800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1214 ==142122== ==142122== Process terminating with default action of signal 4 (SIGILL) ==142122== Illegal opcode at address 0x4013DC0 ==142122== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142122== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142122== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142122== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1214 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 141293 on PORT 34525 * pid mqtt => 141293 141293 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/10/valgrind1192 ../src/curl -q --output log/10/curl1192.out --include --trace log/10/trace1192 --trace-time mqtt://127.0.0.1:34525/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/10/stdout1192 2> log/10/stderr1192 1192: 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/ dir 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/10/valgrind1192 ../src/curl -q --output log/10/curl1192.out --include --trace log/10/trace1192 --trace-time mqtt://127.0.0.1:34525/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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:37835/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/11/valgrind1213 ../src/curl -q --output log/11/curl1213.out --include --trace-ascii log/11/trace1213 --trace-time -x 127.0.0.1:38169 we.want.that.site.com.1213 > log/11/stdout1213 2> log/11/stderr1213 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/10/stdout1192 2> log/10/stderr1192 === End of file commands.log === Start of file mqtt_server.log 07:52:13.934264 Running IPv4 version 07:52:13.934323 Listening on port 34525 07:52:13.934360 Wrote pid 141293 to log/10/server/mqtt_server.pid 07:52:13.934392 Wrote port 34525 to log/10/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 ==141940== ==141940== Process terminating with default action of signal 4 (SIGILL) ==141940== Illegal opcode at address 0x4013DC0 ==141940== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==141940== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141940== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==141940== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1192 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 141371 on PORT 37835 * pid mqtt => 141371 141371 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:37835/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/ dir 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:37835/1193 -d @log/21/payload1193 > log/21/stdout1193 2> log/21/stderr1193 === End of file commands.log === Start of file mqtt_server.log 07:52:13.059632 Running IPv4 version 07:52:13.059692 Listening on port 37835 07:52:13.059726 Wrote pid 141371 to log/21/server/mqtt_server.pid 07:52:13.059757 Wrote port 37835 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 ==142197== ==142197== Process terminating with default action of signal 4 (SIGILL) ==142197== Illegal opcode at address 0x4013DC0 ==142197== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142197== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142197== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142197== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1193 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/11/valgrind1213 ../src/curl -q --output log/11/curl1213.out --include --trace-ascii log/11/trace1213 --trace-time -x 127.0.0.1:38169 we.want.that.site.com.1213 > log/11/stdout1213 2> log/11/stderr1213 1213: 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/ dir 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/11/valgrind1213 ../src/curl -q --output log/11/curl1213.out --include --trace-ascii log/11/trace1213 --trace-time -x 127.0.0.1:38169 we.want.that.site.com.1213 > log/11/stdout1213 2> log/11/stderr1213 === End of file commands.log === Start of file http_server.log 07:52:14.012921 ====> Client connect 07:52:14.012955 accept_connection 3 returned 4 07:52:14.012977 accept_connection 3 returned 0 07:52:14.012994 Read 93 bytes 07:52:14.013005 Process 93 bytes request 07:52:14.013019 Got request: GET /verifiedserver HTTP/1.1 07:52:14.013029 Are-we-friendly question received 07:52:14.013057 Wrote request (93 bytes) input to log/11/server.input 07:52:14.013076 Identifying ourselves as friends 07:52:14.013129 Response sent (56 bytes) and written to log/11/server.response 07:52:14.013141 special request received, no persistency 07:52:14.013152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: CMD (33792): ../libtool --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/valgrind1215 ../src/curl -q --output log/5/curl1215.out --include --trace-ascii log/5/trace1215 --trace-time http://127.0.0.1:42797/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:42797 > log/5/stdout1215 2> log/5/stderr1215 CMD (33792): ../libtool --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/valgrind1195 ../src/curl -q --output log/15/curl1195.out --include --trace log/15/trace1195 --trace-time mqtt://127.0.0.1:42567/1195 > log/15/stdout1195 2> log/15/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/13/valgrind1194 ../src/curl -q --output log/13/curl1194.out --include --trace log/13/trace1194 --trace-time mqtt://127.0.0.1:37155/1194 > log/13/stdout1194 2> log/13/stderr1194 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/22/stdout1222 2> log/22/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/3/valgrind1196 ../src/curl -q --output log/3/curl1196.out --include --trace log/3/trace1196 --trace-time mqtt://127.0.0.1:45377/1196 > log/3/stdout1196 2> log/3/stderr1196 74504 === End of file server.response === Start of file valgrind1213 ==142123== ==142123== Process terminating with default action of signal 4 (SIGILL) ==142123== Illegal opcode at address 0x4013DC0 ==142123== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142123== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142123== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142123== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1213 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/5/valgrind1215 ../src/curl -q --output log/5/curl1215.out --include --trace-ascii log/5/trace1215 --trace-time http://127.0.0.1:42797/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:42797 > log/5/stdout1215 2> log/5/stderr1215 1215: 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/ dir 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/5/valgrind1215 ../src/curl -q --output log/5/curl1215.out --include --trace-ascii log/5/trace1215 --trace-time http://127.0.0.1:42797/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:42797 > log/5/stdout1215 2> log/5/stderr1215 === End of file commands.log === Start of file http_server.log 07:52:14.018307 ====> Client connect 07:52:14.018339 accept_connection 3 returned 4 07:52:14.018356 accept_connection 3 returned 0 07:52:14.018370 Read 93 bytes 07:52:14.018380 Process 93 bytes request 07:52:14.018392 Got request: GET /verifiedserver HTTP/1.1 07:52:14.018403 Are-we-friendly question received 07:52:14.018427 Wrote request (93 bytes) input to log/5/server.input 07:52:14.018444 Identifying ourselves as friends 07:52:14.018497 Response sent (56 bytes) and written to log/5/server.response 07:52:14.018507 special request received, no persistency 07:52:14.018517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 34168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1215 ==142158== ==142158== Process terminating with default action of signal 4 (SIGILL) ==142158== Illegal opcode at address 0x4013DC0 ==142158== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142158== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142158== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142158== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1215 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 141376 on PORT 42567 * pid mqtt => 141376 141376 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/15/valgrind1195 ../src/curl -q --output log/15/curl1195.out --include --trace log/15/trace1195 --trace-time mqtt://127.0.0.1:42567/1195 > log/15/stdout1195 2> log/15/stderr1195 1195: 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/ dir 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/15/valgrind1195 ../src/curl -q --output log/15/curl1195.out --include --trace log/15/trace1195 --trace-time mqtt://127.0.0.1:42567/1195 > log/15/stdout1195 2> log/15/stderr1195 === End of file commands.log === Start of file mqtt_server.log 07:52:13.059065 Running IPv4 version 07:52:13.059147 Listening on port 42567 07:52:13.059800 Wrote pid 141376 to log/15/server/mqtt_server.pid 07:52:13.059831 Wrote port 42567 to log/15/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 ==142217== ==142217== Process terminating with default action of signal 4 (SIGILL) ==142217== Illegal opcode at address 0x4013DC0 ==142217== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142217== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142217== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142217== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1195 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 141373 on PORT 37155 * pid mqtt => 141373 141373 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/13/valgrind1194 ../src/curl -q --output log/13/curl1194.out --include --trace log/13/trace1194 --trace-time mqtt://127.0.0.1:37155/1194 > log/13/stdout1194 2> log/13/stderr1194 1194: 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/ dir 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/13/valgrind1194 ../src/curl -q --output log/13/curl1194.out --include --trace log/13/trace1194 --trace-time mqtt://127.0.0.1:37155/1194 > log/13/stdout1194 2> log/13/stderr1194 === End of file commands.log === Start of file mqtt_server.log 07:52:13.048802 Running IPv4 version 07:52:13.048865 Listening on port 37155 07:52:13.049961 Wrote pid 141373 to log/13/server/mqtt_server.pid 07:52:13.050004 Wrote port 37155 to log/13/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 ==142213== ==142213== Process terminating with default action of signal 4 (SIGILL) ==142213== Illegal opcode at address 0x4013DC0 ==142213== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1194 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/22/stdout1222 2> log/22/stderr1222 valgrind SKIPPED -------e--- OK (1158 out of 1746, remaining: 00:47, took 0.386s, duration: 01:34) startnew: ./server/servers mqttd --port 0 --pidfile log/3/server/mqtt_server.pid --portfile log/3/server/mqtt_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/valgrind1216 ../src/curl -q --output log/8/curl1216.out --include --trace-ascii log/8/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/8/injar1216 -x 127.0.0.1:36147 > log/8/stdout1216 2> log/8/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/4/valgrind1198 ../src/curl -q --output log/4/curl1198.out --include --trace log/4/trace1198 --trace-time mqtt://127.0.0.1:33715/%20 -d "" > log/4/stdout1198 2> log/4/stderr1198 CMD (33792): ../libtool --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/valgrind1199 ../src/curl -q --output log/17/curl1199.out --include --trace log/17/trace1199 --trace-time mqtt://127.0.0.1:43755 -d "" > log/17/stdout1199 2> log/17/stderr1199 erver.port --config log/3/server.cmd --logfile log/3/mqtt_server.log --logdir log/3 RUN: MQTT server is now running PID 141437 on PORT 45377 * pid mqtt => 141437 141437 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/3/valgrind1196 ../src/curl -q --output log/3/curl1196.out --include --trace log/3/trace1196 --trace-time mqtt://127.0.0.1:45377/1196 > log/3/stdout1196 2> log/3/stderr1196 1196: 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/ dir 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/3/valgrind1196 ../src/curl -q --output log/3/curl1196.out --include --trace log/3/trace1196 --trace-time mqtt://127.0.0.1:45377/1196 > log/3/stdout1196 2> log/3/stderr1196 === End of file commands.log === Start of file mqtt_server.log 07:52:13.179483 Running IPv4 version 07:52:13.179545 Listening on port 45377 07:52:13.179579 Wrote pid 141437 to log/3/server/mqtt_server.pid 07:52:13.179608 Wrote port 45377 to log/3/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 1 Testnum 1196 === End of file server.cmd === Start of file valgrind1196 ==142422== ==142422== Process terminating with default action of signal 4 (SIGILL) ==142422== Illegal opcode at address 0x4013DC0 ==142422== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142422== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142422== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142422== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1196 test 1216...[HTTP cookie domains tailmatching the host 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/8/valgrind1216 ../src/curl -q --output log/8/curl1216.out --include --trace-ascii log/8/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/8/injar1216 -x 127.0.0.1:36147 > log/8/stdout1216 2> log/8/stderr1216 1216: 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/ dir 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/8/valgrind1216 ../src/curl -q --output log/8/curl1216.out --include --trace-ascii log/8/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/8/injar1216 -x 127.0.0.1:36147 > log/8/stdout1216 2> log/8/stderr1216 === End of file commands.log === Start of file http_server.log 07:52:14.213243 ====> Client connect 07:52:14.213280 accept_connection 3 returned 4 07:52:14.213297 accept_connection 3 returned 0 07:52:14.213314 Read 93 bytes 07:52:14.213325 Process 93 bytes request 07:52:14.213339 Got request: GET /verifiedserver HTTP/1.1 07:52:14.213349 Are-we-friendly question received 07:52:14.213376 Wrote request (93 bytes) input to log/8/server.input 07:52:14.213393 Identifying ourselves as friends 07:52:14.213450 Response sent (56 bytes) and written to log/8/server.response 07:52:14.213461 special request received, no persistency 07:52:14.213471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 56460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1216 ==142482== ==142482== Process terminating with default action of signal 4 (SIGILL) ==142482== Illegal opcode at address 0x4013DC0 ==142482== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142482== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1216 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 141514 on PORT 33715 * pid mqtt => 141514 141514 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/4/valgrind1198 ../src/curl -q --output log/4/curl1198.out --include --trace log/4/trace1198 --trace-time mqtt://127.0.0.1:33715/%20 -d "" > log/4/stdout1198 2> log/4/stderr1198 1198: 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/ dir 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/4/valgrind1198 ../src/curl -q --output log/4/curl1198.out --include --trace log/4/trace1198 --trace-time mqtt://127.0.0.1:33715/%20 -d "" > log/4/stdout1198 2> log/4/stderr1198 === End of file commands.log === Start of file mqtt_server.log 07:52:13.299740 Running IPv4 version 07:52:13.299799 Listening on port 33715 07:52:13.299835 Wrote pid 141514 to log/4/server/mqtt_server.pid 07:52:13.299866 Wrote port 33715 to log/4/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 ==142520== ==142520== Process terminating with default action of signal 4 (SIGILL) ==142520== Illegal opcode at address 0x4013DC0 ==142520== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142520== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142520== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142520== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1198 startnew: ./server/servers mqttd --port 0 --pidfile log/17/server/mqtt_server.pid --portfile log/17/server/mqtt_server.port --config log/17/server.cmd --logfile log/17/mqtt_server.log --logdir log/17 RUN: MQTT server is now running PID 141518 on PORT 43755 * pid mqtt => 141518 141518 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/17/valgrind1199 ../src/curl -q --output log/17/curl1199.out --include --trace log/17/trace1199 --trace-time mqtt://127.0.0.1:43755 -d "" > log/17/stdout1199 2> log/17/stderr1199 1199: 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/ dir after test 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/24/valgrind1201 ../src/curl -q --output log/24/curl1201.out --include --trace-ascii log/24/trace1201 --trace-time gopher://127.0.0.1:46807/1/selector/SELECTOR/1201 > log/24/stdout1201 2> log/24/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/23/valgrind1200 ../src/curl -q --output log/23/curl1200.out --include --trace-ascii log/23/trace1200 --trace-time gopher://127.0.0.1:40939/1/1200 > log/23/stdout1200 2> log/23/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/19/valgrind1203 ../src/curl -q --output log/19/curl1203.out --include --trace-ascii log/19/trace1203 --trace-time -g gopher://[::1]:40681/1/moo/1203 > log/19/stdout1203 2> log/19/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/2/valgrind1202 ../src/curl -q --output log/2/curl1202.out --include --trace-ascii log/2/trace1202 --trace-time "gopher://127.0.0.1:38785/7/the/search/engine%09query%20succeeded/1202" > log/2/stdout1202 2> log/2/stderr1202 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/17/valgrind1199 ../src/curl -q --output log/17/curl1199.out --include --trace log/17/trace1199 --trace-time mqtt://127.0.0.1:43755 -d "" > log/17/stdout1199 2> log/17/stderr1199 === End of file commands.log === Start of file mqtt_server.log 07:52:13.363914 Running IPv4 version 07:52:13.363991 Listening on port 43755 07:52:13.364029 Wrote pid 141518 to log/17/server/mqtt_server.pid 07:52:13.364060 Wrote port 43755 to log/17/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 ==142574== ==142574== Process terminating with default action of signal 4 (SIGILL) ==142574== Illegal opcode at address 0x4013DC0 ==142574== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142574== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142574== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142574== by 0x40037A4: main (tool_main.c:199) === 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/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 141520 port 46807 * pid gopher => 141520 141520 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/24/valgrind1201 ../src/curl -q --output log/24/curl1201.out --include --trace-ascii log/24/trace1201 --trace-time gopher://127.0.0.1:46807/1/selector/SELECTOR/1201 > log/24/stdout1201 2> log/24/stderr1201 1201: 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/ dir 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/24/valgrind1201 ../src/curl -q --output log/24/curl1201.out --include --trace-ascii log/24/trace1201 --trace-time gopher://127.0.0.1:46807/1/selector/SELECTOR/1201 > log/24/stdout1201 2> log/24/stderr1201 === End of file commands.log === Start of file gopher_server.log 07:52:13.404426 Running GOPHER IPv4 version on port 46807 07:52:13.404529 Wrote pid 141520 to log/24/server/gopher_server.pid 07:52:13.404560 Wrote port 46807 to log/24/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 ==142589== ==142589== Process terminating with default action of signal 4 (SIGILL) ==142589== Illegal opcode at address 0x4013DC0 ==142589== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142589== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142589== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142589== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1201 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/23/server/gopher_server.pid" --logfile "log/23/gopher_server.log" --logdir "log/23" --portfile log/23/server/gopher_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 141519 port 40939 * pid gopher => 141519 141519 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/23/valgrind1200 ../src/curl -q --output log/23/curl1200.out --include --trace-ascii log/23/trace1200 --trace-time gopher://127.0.0.1:40939/1/1200 > log/23/stdout1200 2> log/23/stderr1200 1200: 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/ dir 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/23/valgrind1200 ../src/curl -q --output log/23/curl1200.out --include --trace-ascii log/23/trace1200 --trace-time gopher://127.0.0.1:40939/1/1200 > log/23/stdout1200 2> log/23/stderr1200 === End of file commands.log === Start of file gopher_server.log 07:52:13.384861 Running GOPHER IPv4 version on port 40939 07:52:13.385008 Wrote pid 141519 to log/23/server/gopher_server.pid 07:52:13.385040 Wrote port 40939 to log/23/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 ==142564== ==142564== Process terminating with default action of signal 4 (SIGILL) ==142564== Illegal opcode at address 0x4013DC0 ==142564== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142564== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142564== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142564== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1200 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/19/server/gopher_ipv6_server.pid" --logfile "log/19/gopher_ipv6_server.log" --logdir "log/19" --portfile log/19/server/gopher_ipv6_server.port --config log/19/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER-IPv6 server is on PID 141529 port 40681 * pid gopher-ipv6 => 141529 141529 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/19/valgrind1203 ../src/curl -q --output log/19/curl1203.out --include --trace-ascii log/19/trace1203 --trace-time -g gopher://[::1]:40681/1/moo/1203 > log/19/stdout1203 2> log/19/stderr1203 1203: 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/ dir 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/19/valgrind1203 ../src/curl -q --output log/19/curl1203.out --include --trace-ascii log/19/trace1203 --trace-time -g gopher://[::1]:40681/1/moo/1203 > log/19/stdout1203 2> log/19/stderr1203 === End of file commands.log === Start of file gopher_ipv6_server.log 07:52:13.536811 Running GOPHER IPv6 version on port 40681 07:52:13.536909 Wrote pid 141529 to log/19/server/gopher_ipv6_server.pid 07:52:13.536943 Wrote port 40681 to log/19/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 ==142721== ==142721== Process terminating with default action of signal 4 (SIGILL) ==142721== Illegal opcode at address 0x4013DC0 ==142721== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142721== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142721== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142721== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1203 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 --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/7/valgrind1208 ../src/curl -q --output log/7/curl1208.out --include --trace-ascii log/7/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:38517/1208 -P - > log/7/stdout1208 2> log/7/stderr1208 CMD (33792): ../libtool --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/valgrind1218 ../src/curl -q --output log/16/curl1218.out --include --trace-ascii log/16/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:44351 > log/16/stdout1218 2> log/16/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/9/valgrind1217 ../src/curl -q --output log/9/curl1217.out --include --trace-ascii log/9/trace1217 --trace-time ftp://127.0.0.1:33709/get/file/1217 ftp://127.0.0.1:33709/get/file/again/1217 --ftp-method singlecwd > log/9/stdout1217 2> log/9/stderr1217 fig log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 141528 port 38785 * pid gopher => 141528 141528 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/2/valgrind1202 ../src/curl -q --output log/2/curl1202.out --include --trace-ascii log/2/trace1202 --trace-time "gopher://127.0.0.1:38785/7/the/search/engine%09query%20succeeded/1202" > log/2/stdout1202 2> log/2/stderr1202 1202: 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/ dir 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/2/valgrind1202 ../src/curl -q --output log/2/curl1202.out --include --trace-ascii log/2/trace1202 --trace-time "gopher://127.0.0.1:38785/7/the/search/engine%09query%20succeeded/1202" > log/2/stdout1202 2> log/2/stderr1202 === End of file commands.log === Start of file gopher_server.log 07:52:13.527141 Running GOPHER IPv4 version on port 38785 07:52:13.527241 Wrote pid 141528 to log/2/server/gopher_server.pid 07:52:13.527277 Wrote port 38785 to log/2/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 ==142700== ==142700== Process terminating with default action of signal 4 (SIGILL) ==142700== Illegal opcode at address 0x4013DC0 ==142700== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142700== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142700== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142700== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1202 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 38517 (log/7/server/ftp_server.port) RUN: FTP server is PID 141706 port 38517 * pid ftp => 141706 141706 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/7/valgrind1208 ../src/curl -q --output log/7/curl1208.out --include --trace-ascii log/7/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:38517/1208 -P - > log/7/stdout1208 2> log/7/stderr1208 1208: 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/ dir 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/7/valgrind1208 ../src/curl -q --output log/7/curl1208.out --include --trace-ascii log/7/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:38517/1208 -P - > log/7/stdout1208 2> log/7/stderr1208 === End of file commands.log === Start of file ftp_server.log 07:52:13.965318 FTP server listens on port IPv4/38517 07:52:13.965389 logged pid 141706 in log/7/server/ftp_server.pid 07:52:13.965415 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:13.793036 Running IPv4 version 07:52:13.793085 Listening on port 38517 07:52:13.793116 Wrote pid 141774 to log/7/server/ftp_sockctrl.pid 07:52:13.793140 Wrote port 38517 to log/7/server/ftp_server.port 07:52:13.793159 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd NODATACONN150 Testnum 1208 === End of file server.cmd === Start of file valgrind1208 ==142913== ==142913== Process terminating with default action of signal 4 (SIGILL) ==142913== Illegal opcode at address 0x4013DC0 ==142913== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142913== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142913== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142913== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1208 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/16/valgrind1218 ../src/curl -q --output log/16/curl1218.out --include --trace-ascii log/16/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:44351 > log/16/stdout1218 2> log/16/stderr1218 1218: 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/ dir 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/16/valgrind1218 ../src/curl -q --output log/16/curl1218.out --include --trace-ascii log/16/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:44351 > log/16/stdout1218 2> log/16/stderr1218 === End of file commands.log === Start of file http_server.log 07:52:14.806755 ====> Client connect 07:52:14.806789 accept_connection 3 returned 4 07:52:14.806805 accept_connection 3 returned 0 07:52:14.806820 Read 93 bytes 07:52:14.806831 Process 93 bytes request 07:52:14.806846 Got request: GET /verifiedserver HTTP/1.1 07:52:14.806856 Are-we-friendly question received 07:52:14.806883 Wrote request (93 bytes) input to log/16/server.input 07:52:14.806899 Identifying ourselves as friends 07:52:14.806949 Response sent (56 bytes) and written to log/16/server.response 07:52:14.806960 special request received, no persistency 07:52:14.806969 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 34064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1218 ==142933== ==142933== Process terminating with default action of signal 4 (SIGILL) ==142933== Illegal opcode at address 0x4013DC0 ==142933== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142933== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142933== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142933== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1218 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/9/valgrind1217 ../src/curl -q --output log/9/curl1217.out --include --trace-ascii log/9/trace1217 --trace-time ftp://127.0.0.1:33709/get/file/1217 ftp://127.0.0.1:33709/get/file/again/1217 --ftp-method singlecwd > log/9/stdout1217 2> log/9/stderr1217 1217: protocol FAILED! There was no content at all in the file log/9/CMD (33792): ../libtool --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/valgrind1219 ../src/curl -q --output log/14/curl1219.out --include --trace-ascii log/14/trace1219 --trace-time ftp://127.0.0.1:39555/1219 > log/14/stdout1219 2> log/14/stderr1219 server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ dir 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/9/valgrind1217 ../src/curl -q --output log/9/curl1217.out --include --trace-ascii log/9/trace1217 --trace-time ftp://127.0.0.1:33709/get/file/1217 ftp://127.0.0.1:33709/get/file/again/1217 --ftp-method singlecwd > log/9/stdout1217 2> log/9/stderr1217 === End of file commands.log === Start of file ftp_server.log 07:52:14.871422 ====> Client connect 07:52:14.871641 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:14.872002 < "USER anonymous" 07:52:14.872051 > "331 We are happy you popped in![CR][LF]" 07:52:14.876320 < "PASS ftp@example.com" 07:52:14.876372 > "230 Welcome you silly person[CR][LF]" 07:52:14.877058 < "PWD" 07:52:14.877112 > "257 "/" is current directory[CR][LF]" 07:52:14.877312 < "EPSV" 07:52:14.877338 ====> Passive DATA channel requested by client 07:52:14.877352 DATA sockfilt for passive data channel starting... 07:52:14.887982 DATA sockfilt for passive data channel started (pid 142872) 07:52:14.888149 DATA sockfilt for passive data channel listens on port 34541 07:52:14.888208 > "229 Entering Passive Mode (|||34541|)[CR][LF]" 07:52:14.888230 Client has been notified that DATA conn will be accepted on port 34541 07:52:14.888554 Client connects to port 34541 07:52:14.888588 ====> Client established passive DATA connection on port 34541 07:52:14.888683 < "TYPE I" 07:52:14.888716 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:14.888882 < "SIZE verifiedserver" 07:52:14.888918 > "213 17[CR][LF]" 07:52:14.889070 < "RETR verifiedserver" 07:52:14.889101 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:14.889188 =====> Closing passive DATA connection... 07:52:14.889204 Server disconnects passive DATA connection 07:52:14.889413 Server disconnected passive DATA connection 07:52:14.889436 DATA sockfilt for passive data channel quits (pid 142872) 07:52:14.889749 DATA sockfilt for passive data channel quit (pid 142872) 07:52:14.889775 =====> Closed passive DATA connection 07:52:14.889801 > "226 File transfer complete[CR][LF]" 07:52:14.934879 < "QUIT" 07:52:14.934933 > "221 bye bye baby[CR][LF]" 07:52:14.936194 MAIN sockfilt said DISC 07:52:14.936245 ====> Client disconnected 07:52:14.936324 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:14.699198 ====> Client connect 07:52:14.699601 Received DATA (on stdin) 07:52:14.699620 > 160 bytes data, server => client 07:52:14.699633 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:14.699644 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:14.699655 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:14.699770 < 16 bytes data, client => server 07:52:14.699784 'USER anonymous\r\n' 07:52:14.699998 Received DATA (on stdin) 07:52:14.700015 > 33 bytes data, server => client 07:52:14.700033 '331 We are happy you popped in!\r\n' 07:52:14.700089 < 22 bytes data, client => server 07:52:14.700103 'PASS ftp@example.com\r\n' 07:52:14.704690 Received DATA (on stdin) 07:52:14.704726 > 30 bytes data, server => client 07:52:14.704779 '230 Welcome you silly person\r\n' 07:52:14.704864 < 5 bytes data, client => server 07:52:14.704877 'PWD\r\n' 07:52:14.705061 Received DATA (on stdin) 07:52:14.705075 > 30 bytes data, server => client 07:52:14.705087 '257 "/" is current directory\r\n' 07:52:14.705154 < 6 bytes data, client => server 07:52:14.705167 'EPSV\r\n' 07:52:14.716183 Received DATA (on stdin) 07:52:14.716200 > 39 bytes data, server => client 07:52:14.716212 '229 Entering Passive Mode (|||34541|)\r\n' 07:52:14.716440 < 8 bytes data, client => server 07:52:14.716454 'TYPE I\r\n' 07:52:14.716660 Received DATA (on stdin) 07:52:14.716673 > 33 bytes data, server => client 07:52:14.716685 '200 I modify TYPE as you wanted\r\n' 07:52:14.716740 < 21 bytes data, client => server 07:52:14.716752 'SIZE verifiedserver\r\n' 07:52:14.716857 Received DATA (on stdin) 07:52:14.716869 > 8 bytes data, server => client 07:52:14.716881 '213 17\r\n' 07:52:14.716929 < 21 bytes data, client => server 07:52:14.716941 'RETR verifiedserver\r\n' 07:52:14.717279 Received DATA (on stdin) 07:52:14.717292 > 29 bytes data, server => client 07:52:14.717305 '150 Binary junk (17 bytes).\r\n' 07:52:14.717744 Received DATA (on stdin) 07:52:14.717757 > 28 bytes data, server => client 07:52:14.717769 '226 File transfer complete\r\n' 07:52:14.762631 < 6 bytes data, client => server 07:52:14.762665 'QUIT\r\n' 07:52:14.762879 Received DATA (on stdin) 07:52:14.762893 > 18 bytes data, server => client 07:52:14.762905 '221 bye bye baby\r\n' 07:52:14.763800 ====> Client disconnect 07:52:14.764270 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:14.713370 Running IPv4 version 07:52:14.713581 Listening on port 34541 07:52:14.713629 Wrote pid 142872 to log/9/server/ftp_sockdata.pid 07:52:14.715849 Received PING (on stdin) 07:52:14.715963 Received PORT (on stdin) 07:52:14.716408 ====> Client connect 07:52:14.717149 Received DATA (on stdin) 07:52:14.717163 > 17 bytes data, server => client 07:52:14.717175 'WE ROOLZ: 81212\r\n' 07:52:14.717240 Received DISC (on stdin) 07:52:14.717252 ====> Client forcibly disconnected 07:52:14.717382 Received QUIT (on stdin) 07:52:14.717393 quits 07:52:14.717449 ============> sockfilt quits === End of file ftp_sockdata.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 ==142912== ==142912== Process terminating with default action of signal 4 (SIGILL) ==142912== Illegal opcode at address 0x4013DC0 ==142912== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142912== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142912== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142912== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1217 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/14/valgrind1219 ../src/curl -q --output log/14/curl1219.out --include --trace-ascii log/14/trace1219 --trace-time ftp://127.0.0.1:39555/1219 > log/14/stdout1219 2> log/14/stderr1219 1219: 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/ dir 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/14/valgrind1219 ../src/curl -q --output log/14/curl1219.out --include --trace-ascii log/14/trace1219 --trace-time ftp://127.0.0.1:39555/1219 > log/14/stdout1219 2> log/14/stderr1219 === End of file commands.log === Start of file ftp_server.log 07:52:14.954307 ====> Client connect 07:52:14.954515 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:14.954904 < "USER anonymous" 07:52:14.954967 > "331 We are happy you popped in![CR][LF]" 07:52:14.955179 < "PASS ftp@example.com" 07:52:14.955208 > "230 Welcome you silly person[CR][LF]" 07:52:14.955398 < "PWD" 07:52:14.955433 > "257 "/" is current directory[CR][LF]" 07:52:14.955591 < "EPSV" 07:52:14.955615 ====> Passive DATA channel requested by client 07:52:14.955628 DATA sockfilt for passive data channel starting... 07:52:14.972344 DATA 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/1/valgrind1221 ../src/curl -q --output log/1/curl1221.out --include --trace-ascii log/1/trace1221 --trace-time http://127.0.0.1:35709/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/1/1221.txt" --url-query @log/1/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/1/stdout1221 2> log/1/stderr1221 filt for passive data channel started (pid 142915) 07:52:14.972546 DATA sockfilt for passive data channel listens on port 36203 07:52:14.972614 > "229 Entering Passive Mode (|||36203|)[CR][LF]" 07:52:14.972635 Client has been notified that DATA conn will be accepted on port 36203 07:52:14.975229 Client connects to port 36203 07:52:14.975261 ====> Client established passive DATA connection on port 36203 07:52:14.975355 < "TYPE I" 07:52:14.975392 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:14.975563 < "SIZE verifiedserver" 07:52:14.975602 > "213 17[CR][LF]" 07:52:14.975739 < "RETR verifiedserver" 07:52:14.975772 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:14.975857 =====> Closing passive DATA connection... 07:52:14.975871 Server disconnects passive DATA connection 07:52:14.976105 Server disconnected passive DATA connection 07:52:14.976127 DATA sockfilt for passive data channel quits (pid 142915) 07:52:14.976324 DATA sockfilt for passive data channel quit (pid 142915) 07:52:14.976344 =====> Closed passive DATA connection 07:52:14.976371 > "226 File transfer complete[CR][LF]" 07:52:15.021674 < "QUIT" 07:52:15.021727 > "221 bye bye baby[CR][LF]" 07:52:15.022503 MAIN sockfilt said DISC 07:52:15.022544 ====> Client disconnected 07:52:15.022618 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:14.782089 ====> Client connect 07:52:14.782478 Received DATA (on stdin) 07:52:14.782544 > 160 bytes data, server => client 07:52:14.782561 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:14.782572 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:14.782584 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:14.782679 < 16 bytes data, client => server 07:52:14.782693 'USER anonymous\r\n' 07:52:14.782915 Received DATA (on stdin) 07:52:14.782945 > 33 bytes data, server => client 07:52:14.782957 '331 We are happy you popped in!\r\n' 07:52:14.783014 < 22 bytes data, client => server 07:52:14.783027 'PASS ftp@example.com\r\n' 07:52:14.783150 Received DATA (on stdin) 07:52:14.783163 > 30 bytes data, server => client 07:52:14.783189 '230 Welcome you silly person\r\n' 07:52:14.783238 < 5 bytes data, client => server 07:52:14.783264 'PWD\r\n' 07:52:14.783373 Received DATA (on stdin) 07:52:14.783385 > 30 bytes data, server => client 07:52:14.783396 '257 "/" is current directory\r\n' 07:52:14.783453 < 6 bytes data, client => server 07:52:14.783464 'EPSV\r\n' 07:52:14.800598 Received DATA (on stdin) 07:52:14.800617 > 39 bytes data, server => client 07:52:14.800630 '229 Entering Passive Mode (|||36203|)\r\n' 07:52:14.803080 < 8 bytes data, client => server 07:52:14.803101 'TYPE I\r\n' 07:52:14.803335 Received DATA (on stdin) 07:52:14.803348 > 33 bytes data, server => client 07:52:14.803359 '200 I modify TYPE as you wanted\r\n' 07:52:14.803417 < 21 bytes data, client => server 07:52:14.803428 'SIZE verifiedserver\r\n' 07:52:14.803541 Received DATA (on stdin) 07:52:14.803552 > 8 bytes data, server => client 07:52:14.803562 '213 17\r\n' 07:52:14.803604 < 21 bytes data, client => server 07:52:14.803615 'RETR verifiedserver\r\n' 07:52:14.803813 Received DATA (on stdin) 07:52:14.803824 > 29 bytes data, server => client 07:52:14.803835 '150 Binary junk (17 bytes).\r\n' 07:52:14.804312 Received DATA (on stdin) 07:52:14.804325 > 28 bytes data, server => client 07:52:14.804336 '226 File transfer complete\r\n' 07:52:14.849441 < 6 bytes data, client => server 07:52:14.849471 'QUIT\r\n' 07:52:14.849672 Received DATA (on stdin) 07:52:14.849685 > 18 bytes data, server => client 07:52:14.849696 '221 bye bye baby\r\n' 07:52:14.850386 ====> Client disconnect 07:52:14.850559 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:14.799292 Running IPv4 version 07:52:14.799361 Listening on port 36203 07:52:14.799399 Wrote pid 142915 to log/14/server/ftp_sockdata.pid 07:52:14.800218 Received PING (on stdin) 07:52:14.800375 Received PORT (on stdin) 07:52:14.803123 ====> Client connect 07:52:14.803885 Received DATA (on stdin) 07:52:14.803899 > 17 bytes data, server => client 07:52:14.803909 'WE ROOLZ: 81000\r\n' 07:52:14.803933 Received DISC (on stdin) 07:52:14.803944 ====> Client forcibly disconnected 07:52:14.804076 Received QUIT (on stdin) 07:52:14.804087 quits 07:52:14.804141 ============> 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 ==143016== ==143016== Process terminating with default action of signal 4 (SIGILL) ==143016== Illegal opcode at address 0x4013DC0 ==143016== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143016== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143016== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143016== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1219 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/1/valgrind1221 ../src/curl -q --output log/1/curl1221.out --include --trace-ascii log/1/trace1221 --trace-time http://127.0.0.1:35709/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/1/1221.txt" --url-query @log/1/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/1/stdout1221 2> log/1/stderr1221 1221: 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/ dir 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/1/valgrind1221 ../src/curl -q --output log/1/curl1221.out --include --trace-ascii log/1/trace1221 --trace-time http://127.0.0.1:35709/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/1/1221.txt" --url-query @log/1/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/1/stdout1221 2> log/1/stderr1221 === End of file commands.log === Start of file http_server.log 07:52:14.912577 ====> Client connect 07:52:14.912616 accept_connection 3 returned 4 07:52:14.912634 accept_connection 3 returned 0 07:52:14.912650 Read 93 bytes 07:52:14.912660 Process 93 bytes request 07:52:14.912675 Got request: GET /verifiedserver HTTP/1.1 07:52:14.912686 Are-we-friendly question received 07:52:14.912710 Wrote request (93 bytes) input to log/1/server.input 07:52:14.912726 Identifying ourselves as friends 07:52:14.912788 Response sent (56 bytes) and written to log/1/server.response 07:52:14.912798 special request received, no persistency 07:52:14.912808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 35514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1221 ==143123== ==143123== Process terminating with default action of signal 4 (SIGILL) ==143123== Illegal opcode at address 0x4013DC0 ==143123== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143123== by 0x40037A4: UnknownInlinedFun (tool_CMD (33792): ../libtool --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/valgrind1220 ../src/curl -q --trace-ascii log/18/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test1220.txt?a_query=foobar#afragment > log/18/stdout1220 2> log/18/stderr1220 getparam.c:3029) ==143123== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143123== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1221 CMD (33792): ../libtool --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/valgrind1226 ../src/curl -q --output log/10/curl1226.out --include --trace-ascii log/10/trace1226 --trace-time ftp://127.0.0.1:36851//1226 --ftp-method singlecwd > log/10/stdout1226 2> log/10/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/12/valgrind1224 ../src/curl -q --output log/12/curl1224.out --include --trace-ascii log/12/trace1224 --trace-time ftp://127.0.0.1:46141//1224 > log/12/stdout1224 2> log/12/stderr1224 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/18/valgrind1220 ../src/curl -q --trace-ascii log/18/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test1220.txt?a_query=foobar#afragment > log/18/stdout1220 2> log/18/stderr1220 1220: stdout FAILED: --- log/18/check-expected 2025-11-07 07:52:16.444040768 +0000 +++ log/18/check-generated 2025-11-07 07:52:16.444040768 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/18/ dir 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/18/valgrind1220 ../src/curl -q --trace-ascii log/18/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test1220.txt?a_query=foobar#afragment > log/18/stdout1220 2> log/18/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 ==142938== ==142938== Process terminating with default action of signal 4 (SIGILL) ==142938== Illegal opcode at address 0x4013DC0 ==142938== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==142938== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142938== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==142938== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1220 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/10/valgrind1226 ../src/curl -q --output log/10/curl1226.out --include --trace-ascii log/10/trace1226 --trace-time ftp://127.0.0.1:36851//1226 --ftp-method singlecwd > log/10/stdout1226 2> log/10/stderr1226 1226: 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/ dir 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/10/valgrind1226 ../src/curl -q --output log/10/curl1226.out --include --trace-ascii log/10/trace1226 --trace-time ftp://127.0.0.1:36851//1226 --ftp-method singlecwd > log/10/stdout1226 2> log/10/stderr1226 === End of file commands.log === Start of file ftp_server.log 07:52:15.338045 ====> Client connect 07:52:15.338186 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:15.338520 < "USER anonymous" 07:52:15.338563 > "331 We are happy you popped in![CR][LF]" 07:52:15.338759 < "PASS ftp@example.com" 07:52:15.338789 > "230 Welcome you silly person[CR][LF]" 07:52:15.348064 < "PWD" 07:52:15.348109 > "257 "/" is current directory[CR][LF]" 07:52:15.348310 < "EPSV" 07:52:15.348336 ====> Passive DATA channel requested by client 07:52:15.348350 DATA sockfilt for passive data channel starting... 07:52:15.357251 DATA sockfilt for passive data channel started (pid 143333) 07:52:15.357571 DATA sockfilt for passive data channel listens on port 36463 07:52:15.357638 > "229 Entering Passive Mode (|||36463|)[CR][LF]" 07:52:15.357660 Client has been notified that DATA conn will be accepted on port 36463 07:52:15.358588 Client connects to port 36463 07:52:15.358633 ====> Client established passive DATA connection on port 36463 07:52:15.358732 < "TYPE I" 07:52:15.358769 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:15.358965 < "SIZE verifiedserver" 07:52:15.359012 > "213 17[CR][LF]" 07:52:15.359207 < "RETR verifiedserver" 07:52:15.359247 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:15.359350 =====> Closing passive DATA connection... 07:52:15.359369 Server disconnects passive DATA connection 07:52:15.359860 Server disconnected passive DATA connection 07:52:15.359913 DATA sockfilt for passive data channel quits (pid 143333) 07:52:15.360160 DATA sockfilt for passive data channel quit (pid 143333) 07:52:15.360182 =====> Closed passive DATA connection 07:52:15.360212 > "226 File transfer complete[CR][LF]" 07:52:15.407630 < "QUIT" 07:52:15.407684 > "221 bye bye baby[CR][LF]" 07:52:15.408485 MAIN sockfilt said DISC 07:52:15.408531 ====> Client disconnected 07:52:15.408597 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:15.165860 ====> Client connect 07:52:15.166143 Received DATA (on stdin) 07:52:15.166160 > 160 bytes data, server => client 07:52:15.166173 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:15.166191 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:15.166203 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:15.166309 < 16 bytes data, client => server 07:52:15.166324 'USER anonymous\r\n' 07:52:15.166509 Received DATA (on stdin) 07:52:15.166523 > 33 bytes data, server => client 07:52:15.166535 '331 We are happy you popped in!\r\n' 07:52:15.166593 < 22 bytes data, client => server 07:52:15.166608 'PASS ftp@example.com\r\n' 07:52:15.166732 Received DATA (on stdin) 07:52:15.166745 > 30 bytes data, server => client 07:52:15.166758 '230 Welcome you silly person\r\n' 07:52:15.175871 < 5 bytes data, client => server 07:52:15.175898 'PWD\r\n' 07:52:15.176054 Received DATA (on stdin) 07:52:15.176068 > 30 bytes data, server => client 07:52:15.176080 '257 "/" is current directory\r\n' 07:52:15.176152 < 6 bytes data, client => server 07:52:15.176166 'EPSV\r\n' 07:52:15.185614 Received DATA (on stdin) 07:52:15.185634 > 39 bytes data, server => client 07:52:15.185648 '229 Entering Passive Mode (|||36463|)\r\n' 07:52:15.185948 < 8 bytes data, client => server 07:52:15.185971 'TYPE I\r\n' 07:52:15.186716 Received DATA (on stdin) 07:52:15.186733 > 33 bytes data, server => client 07:52:15.186745 '200 I modify TYPE as you wanted\r\n' 07:52:15.186820 < 21 bytes data, client => server 07:52:15.186836 'SIZE verifiedserver\r\n' 07:52:15.186959 Received DATA (on stdin) 07:52:15.186974 > 8 bytes data, server => client 07:52:15.186986 '213 17\r\n' 07:52:15.187049 < 21 bytes data, client => server 07:52:15.187066 'RETR verifiedserver\r\n' 07:52:15.187315 Received DATA (on stdin) 07:52:15.187330 > 29 bytes data, server => client 07:52:15.187342 '150 Binary junk (17 bytes).\r\n' 07:52:15.188156 Received DATA (on stdin) 07:52:15.188170 > 28 bytes data, server => client 07:52:15.188182 '226 File transfer complete\r\n' 07:52:15.235402 < 6 bytes data, client => server 07:52:15.235428 'QUIT\r\n' 07:52:15.235635 Received DATA (on stdin) 07:52:15.235651 > 18 bytes data, server => client 07:52:15.235663 '221 bye bye baby\r\n' 07:52:15.236360 ====> Client disconnect 07:52:15.236544 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:15.180276 Running IPv4 version 07:52:15.180350 Listening on port 36463 07:52:15.180386 Wrote pid 143333 to log/10/server/ftp_sockdata.pid 07:52:15.180410 Received PING (on stdin) 07:52:15.185376 Received PORT (on stdin) 07:52:15.186043 ====> Client connect 07:52:15.187420 Received DATA (on stdin) 07:52:15.187440 > 17 bytes data, server => client 07:52:15.187453 'WE ROOLZ: 80620\r\n' 07:52:15.187483 Received DISC (on stdin) 07:52:15.187497 ====> Client forcibly disconnected 07:52:15.187869 Received QUIT (on stdin) 07:52:15.187883 quits 07:52:15.187944 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file seCMD (33792): ../libtool --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/valgrind1223 ../src/curl -q --include --trace-ascii log/6/trace1223 --trace-time http://127.0.0.1:45933/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/6/stdout1223 2> log/6/stderr1223 rver.cmd === Start of file valgrind1226 ==143429== ==143429== Process terminating with default action of signal 4 (SIGILL) ==143429== Illegal opcode at address 0x4013DC0 ==143429== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143429== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143429== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143429== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1226 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/12/valgrind1224 ../src/curl -q --output log/12/curl1224.out --include --trace-ascii log/12/trace1224 --trace-time ftp://127.0.0.1:46141//1224 > log/12/stdout1224 2> log/12/stderr1224 1224: 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/ dir 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/12/valgrind1224 ../src/curl -q --output log/12/curl1224.out --include --trace-ascii log/12/trace1224 --trace-time ftp://127.0.0.1:46141//1224 > log/12/stdout1224 2> log/12/stderr1224 === End of file commands.log === Start of file ftp_server.log 07:52:15.309008 ====> Client connect 07:52:15.309160 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:15.309544 < "USER anonymous" 07:52:15.309587 > "331 We are happy you popped in![CR][LF]" 07:52:15.309765 < "PASS ftp@example.com" 07:52:15.309793 > "230 Welcome you silly person[CR][LF]" 07:52:15.309941 < "PWD" 07:52:15.309974 > "257 "/" is current directory[CR][LF]" 07:52:15.310130 < "EPSV" 07:52:15.310153 ====> Passive DATA channel requested by client 07:52:15.310166 DATA sockfilt for passive data channel starting... 07:52:15.321465 DATA sockfilt for passive data channel started (pid 143302) 07:52:15.321595 DATA sockfilt for passive data channel listens on port 37975 07:52:15.321641 > "229 Entering Passive Mode (|||37975|)[CR][LF]" 07:52:15.321660 Client has been notified that DATA conn will be accepted on port 37975 07:52:15.321953 Client connects to port 37975 07:52:15.321982 ====> Client established passive DATA connection on port 37975 07:52:15.322074 < "TYPE I" 07:52:15.322107 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:15.322271 < "SIZE verifiedserver" 07:52:15.322311 > "213 17[CR][LF]" 07:52:15.322462 < "RETR verifiedserver" 07:52:15.322496 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:15.322582 =====> Closing passive DATA connection... 07:52:15.322599 Server disconnects passive DATA connection 07:52:15.322848 Server disconnected passive DATA connection 07:52:15.322872 DATA sockfilt for passive data channel quits (pid 143302) 07:52:15.323113 DATA sockfilt for passive data channel quit (pid 143302) 07:52:15.323136 =====> Closed passive DATA connection 07:52:15.323162 > "226 File transfer complete[CR][LF]" 07:52:15.375089 < "QUIT" 07:52:15.375147 > "221 bye bye baby[CR][LF]" 07:52:15.376259 MAIN sockfilt said DISC 07:52:15.376301 ====> Client disconnected 07:52:15.376374 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:15.136834 ====> Client connect 07:52:15.137108 Received DATA (on stdin) 07:52:15.137194 > 160 bytes data, server => client 07:52:15.137214 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:15.137226 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:15.137241 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:15.137331 < 16 bytes data, client => server 07:52:15.137346 'USER anonymous\r\n' 07:52:15.137533 Received DATA (on stdin) 07:52:15.137545 > 33 bytes data, server => client 07:52:15.137557 '331 We are happy you popped in!\r\n' 07:52:15.137610 < 22 bytes data, client => server 07:52:15.137622 'PASS ftp@example.com\r\n' 07:52:15.137734 Received DATA (on stdin) 07:52:15.137745 > 30 bytes data, server => client 07:52:15.137756 '230 Welcome you silly person\r\n' 07:52:15.137801 < 5 bytes data, client => server 07:52:15.137812 'PWD\r\n' 07:52:15.137914 Received DATA (on stdin) 07:52:15.137926 > 30 bytes data, server => client 07:52:15.137937 '257 "/" is current directory\r\n' 07:52:15.137992 < 6 bytes data, client => server 07:52:15.138003 'EPSV\r\n' 07:52:15.149610 Received DATA (on stdin) 07:52:15.149628 > 39 bytes data, server => client 07:52:15.149641 '229 Entering Passive Mode (|||37975|)\r\n' 07:52:15.149812 < 8 bytes data, client => server 07:52:15.149828 'TYPE I\r\n' 07:52:15.150049 Received DATA (on stdin) 07:52:15.150062 > 33 bytes data, server => client 07:52:15.150074 '200 I modify TYPE as you wanted\r\n' 07:52:15.150128 < 21 bytes data, client => server 07:52:15.150140 'SIZE verifiedserver\r\n' 07:52:15.150252 Received DATA (on stdin) 07:52:15.150265 > 8 bytes data, server => client 07:52:15.150276 '213 17\r\n' 07:52:15.150322 < 21 bytes data, client => server 07:52:15.150334 'RETR verifiedserver\r\n' 07:52:15.150635 Received DATA (on stdin) 07:52:15.150649 > 29 bytes data, server => client 07:52:15.150661 '150 Binary junk (17 bytes).\r\n' 07:52:15.151106 Received DATA (on stdin) 07:52:15.151120 > 28 bytes data, server => client 07:52:15.151132 '226 File transfer complete\r\n' 07:52:15.197493 < 6 bytes data, client => server 07:52:15.197517 'QUIT\r\n' 07:52:15.203104 Received DATA (on stdin) 07:52:15.203130 > 18 bytes data, server => client 07:52:15.203145 '221 bye bye baby\r\n' 07:52:15.204133 ====> Client disconnect 07:52:15.204321 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:15.148922 Running IPv4 version 07:52:15.149008 Listening on port 37975 07:52:15.149046 Wrote pid 143302 to log/12/server/ftp_sockdata.pid 07:52:15.149330 Received PING (on stdin) 07:52:15.149438 Received PORT (on stdin) 07:52:15.149849 ====> Client connect 07:52:15.150545 Received DATA (on stdin) 07:52:15.150559 > 17 bytes data, server => client 07:52:15.150571 'WE ROOLZ: 80617\r\n' 07:52:15.150598 Received DISC (on stdin) 07:52:15.150610 ====> Client forcibly disconnected 07:52:15.150822 Received QUIT (on stdin) 07:52:15.150835 quits 07:52:15.150896 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==143376== ==143376== Process terminating with default action of signal 4 (SIGILL) ==143376== Illegal opcode at address 0x4013DC0 ==143376== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143376== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143376== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143376== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1224 CMD (33792): ../libtool --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/valgrind1228 ../src/curl -q --output log/11/curl1228.out --include --trace-ascii log/11/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:38169 > log/11/stdout1228 2> log/11/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/22/valgrind1232 ../src/curl -q --output log/22/curl1232.out --include --trace-ascii log/22/trace1232 --trace-time --proxy http://127.0.0.1:40377 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/22/stdout1232 2> log/22/stderr1232 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/6/valgrind1223 ../src/curl -q --include --trace-ascii log/6/trace1223 --trace-time http://127.0.0.1:45933/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/6/stdout1223 2> log/6/stderr1223 1223: stdout FAILED: --- log/6/check-expected 2025-11-07 07:52:16.780707438 +0000 +++ log/6/check-generated 2025-11-07 07:52:16.780707438 +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 45933[LF] == Contents of files in the log/6/ dir 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 45933[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/valgrind1223 ../src/curl -q --include --trace-ascii log/6/trace1223 --trace-time http://127.0.0.1:45933/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/6/stdout1223 2> log/6/stderr1223 === End of file commands.log === Start of file http_server.log 07:52:15.079237 ====> Client connect 07:52:15.079280 accept_connection 3 returned 4 07:52:15.079299 accept_connection 3 returned 0 07:52:15.079317 Read 93 bytes 07:52:15.079329 Process 93 bytes request 07:52:15.079344 Got request: GET /verifiedserver HTTP/1.1 07:52:15.079355 Are-we-friendly question received 07:52:15.079381 Wrote request (93 bytes) input to log/6/server.input 07:52:15.079400 Identifying ourselves as friends 07:52:15.079608 Response sent (56 bytes) and written to log/6/server.response 07:52:15.079622 special request received, no persistency 07:52:15.079632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 48546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1223 ==143249== ==143249== Process terminating with default action of signal 4 (SIGILL) ==143249== Illegal opcode at address 0x4013DC0 ==143249== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143249== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143249== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143249== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1223 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/11/valgrind1228 ../src/curl -q --output log/11/curl1228.out --include --trace-ascii log/11/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:38169 > log/11/stdout1228 2> log/11/stderr1228 1228: 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/ dir 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/11/valgrind1228 ../src/curl -q --output log/11/curl1228.out --include --trace-ascii log/11/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:38169 > log/11/stdout1228 2> log/11/stderr1228 === End of file commands.log === Start of file http_server.log 07:52:15.234958 ====> Client connect 07:52:15.234992 accept_connection 3 returned 4 07:52:15.235010 accept_connection 3 returned 0 07:52:15.245985 Read 93 bytes 07:52:15.246009 Process 93 bytes request 07:52:15.246023 Got request: GET /verifiedserver HTTP/1.1 07:52:15.246033 Are-we-friendly question received 07:52:15.246065 Wrote request (93 bytes) input to log/11/server.input 07:52:15.246084 Identifying ourselves as friends 07:52:15.246137 Response sent (56 bytes) and written to log/11/server.response 07:52:15.246148 special request received, no persistency 07:52:15.246158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1228 ==143454== ==143454== Process terminating with default action of signal 4 (SIGILL) ==143454== Illegal opcode at address 0x4013DC0 ==143454== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143454== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143454== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143454== by 0x40037A4: main (tool_main.c:199) === 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/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1232 ../src/curl -q --output log/22/curl1232.out --include --trace-ascii log/22/trace1232 --trace-time --proxy http://127.0.0.1:40377 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/22/stdout1232 2> log/22/stderr1232 1232: 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/ dir 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/22/valgrind1232 ../src/curl -q --output log/22/curl1232.out --include --trace-ascii log/22/trace1232 --trace-time --proxy http://127.0.0.1:40377 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/22/stdout1232 2> log/22/stderr1232 === End of file commands.log === Start of file http_server.log 07:52:15.293798 ====> Client connect 07:52:15.293833 accept_connection 3 returned 4 07:52:15.293852 accept_connection 3 returned 0 07:52:15.293868 Read 93 bytes 07:52:15.293880 Process 93 bytes request 07:52:15.293892 Got request: GET /verifiedserver HTTP/1.1 07:52:15.293903 Are-we-friendly question received 07:52:15.293928 Wrote request (93 bytes) input to log/22/server.input 07:52:15.293946 IdentiCMD (33792): ../libtool --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/valgrind1227 ../src/curl -q --output log/21/curl1227.out --include --trace-ascii log/21/trace1227 --trace-time ftp://127.0.0.1:32857//1227 --ftp-method nocwd > log/21/stdout1227 2> log/21/stderr1227 fying ourselves as friends 07:52:15.294116 Response sent (56 bytes) and written to log/22/server.response 07:52:15.294129 special request received, no persistency 07:52:15.294140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 39738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1232 ==143563== ==143563== Process terminating with default action of signal 4 (SIGILL) ==143563== Illegal opcode at address 0x4013DC0 ==143563== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143563== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143563== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143563== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1232 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/21/valgrind1227 ../src/curl -q --output log/21/curl1227.out --include --trace-ascii log/21/trace1227 --trace-time ftp://127.0.0.1:32857//1227 --ftp-method nocwd > log/21/stdout1227 2> log/21/stderr1227 1227: 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/ dir 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/21/valgrind1227 ../src/curl -q --output log/21/curl1227.out --include --trace-ascii log/21/trace1227 --trace-time ftp://127.0.0.1:32857//1227 --ftp-method nocwd > log/21/stdout1227 2> log/21/stderr1227 === End of file commands.log === Start of file ftp_server.log 07:52:15.347680 ====> Client connect 07:52:15.347839 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:15.348376 < "USER anonymous" 07:52:15.348424 > "331 We are happy you popped in![CR][LF]" 07:52:15.349198 < "PASS ftp@example.com" 07:52:15.349239 > "230 Welcome you silly person[CR][LF]" 07:52:15.349401 < "PWD" 07:52:15.349436 > "257 "/" is current directory[CR][LF]" 07:52:15.349584 < "EPSV" 07:52:15.349606 ====> Passive DATA channel requested by client 07:52:15.349619 DATA sockfilt for passive data channel starting... 07:52:15.360309 DATA sockfilt for passive data channel started (pid 143337) 07:52:15.363023 DATA sockfilt for passive data channel listens on port 46447 07:52:15.363085 > "229 Entering Passive Mode (|||46447|)[CR][LF]" 07:52:15.363105 Client has been notified that DATA conn will be accepted on port 46447 07:52:15.363369 Client connects to port 46447 07:52:15.363398 ====> Client established passive DATA connection on port 46447 07:52:15.363480 < "TYPE I" 07:52:15.363510 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:15.363668 < "SIZE verifiedserver" 07:52:15.363707 > "213 17[CR][LF]" 07:52:15.363852 < "RETR verifiedserver" 07:52:15.363883 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:15.363970 =====> Closing passive DATA connection... 07:52:15.363986 Server disconnects passive DATA connection 07:52:15.364229 Server disconnected passive DATA connection 07:52:15.364258 DATA sockfilt for passive data channel quits (pid 143337) 07:52:15.364522 DATA sockfilt for passive data channel quit (pid 143337) 07:52:15.364548 =====> Closed passive DATA connection 07:52:15.364589 > "226 File transfer complete[CR][LF]" 07:52:15.409168 < "QUIT" 07:52:15.409223 > "221 bye bye baby[CR][LF]" 07:52:15.410112 MAIN sockfilt said DISC 07:52:15.410156 ====> Client disconnected 07:52:15.410221 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:15.175504 ====> Client connect 07:52:15.175801 Received DATA (on stdin) 07:52:15.175821 > 160 bytes data, server => client 07:52:15.176014 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:15.176030 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:15.176042 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:15.176141 < 16 bytes data, client => server 07:52:15.176159 'USER anonymous\r\n' 07:52:15.176374 Received DATA (on stdin) 07:52:15.176389 > 33 bytes data, server => client 07:52:15.176401 '331 We are happy you popped in!\r\n' 07:52:15.177000 < 22 bytes data, client => server 07:52:15.177023 'PASS ftp@example.com\r\n' 07:52:15.177182 Received DATA (on stdin) 07:52:15.177195 > 30 bytes data, server => client 07:52:15.177206 '230 Welcome you silly person\r\n' 07:52:15.177254 < 5 bytes data, client => server 07:52:15.177266 'PWD\r\n' 07:52:15.177375 Received DATA (on stdin) 07:52:15.177386 > 30 bytes data, server => client 07:52:15.177397 '257 "/" is current directory\r\n' 07:52:15.177447 < 6 bytes data, client => server 07:52:15.177459 'EPSV\r\n' 07:52:15.191052 Received DATA (on stdin) 07:52:15.191069 > 39 bytes data, server => client 07:52:15.191081 '229 Entering Passive Mode (|||46447|)\r\n' 07:52:15.191218 < 8 bytes data, client => server 07:52:15.191237 'TYPE I\r\n' 07:52:15.191450 Received DATA (on stdin) 07:52:15.191463 > 33 bytes data, server => client 07:52:15.191475 '200 I modify TYPE as you wanted\r\n' 07:52:15.191525 < 21 bytes data, client => server 07:52:15.191537 'SIZE verifiedserver\r\n' 07:52:15.191647 Received DATA (on stdin) 07:52:15.191659 > 8 bytes data, server => client 07:52:15.191670 '213 17\r\n' 07:52:15.191715 < 21 bytes data, client => server 07:52:15.191727 'RETR verifiedserver\r\n' 07:52:15.191929 Received DATA (on stdin) 07:52:15.191941 > 29 bytes data, server => client 07:52:15.191953 '150 Binary junk (17 bytes).\r\n' 07:52:15.192534 Received DATA (on stdin) 07:52:15.192548 > 28 bytes data, server => client 07:52:15.192559 '226 File transfer complete\r\n' 07:52:15.236944 < 6 bytes data, client => server 07:52:15.236969 'QUIT\r\n' 07:52:15.237172 Received DATA (on stdin) 07:52:15.237188 > 18 bytes data, server => client 07:52:15.237200 '221 bye bye baby\r\n' 07:52:15.237989 ====> Client disconnect 07:52:15.238168 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:15.179230 Running IPv4 version 07:52:15.179292 Listening on port 46447 07:52:15.185346 Wrote pid 143337 to log/21/server/ftp_sockdata.pid 07:52:15.187403 Received PING (on stdin) 07:52:15.189311 Received PORT (on stdin) 07:52:15.191261 ====> Client connect 07:52:15.191981 Received DATA (on stdin) 07:52:15.191998 > 17 bytes data, server => client 07:52:15.192010 'WE ROOLZ: 83057\r\n' 07:52:15.192036 Received DISC (on stdin) 07:52:15.192048 ====> Client forcibly disconnected 07:52:15.192210 Received QUIT (on stdin) 07:52:15.192224 quits 07:52:15.192275 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==143423== ==143423== Process terminating with default action of signal 4 (SIGILL) ==143423== Illegal opcode at address 0x4013DC0 ==143423== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143423== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143423== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143423== by 0x40037A4: 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/20/valgrind1225 ../src/curl -q --output log/20/curl1225.out --include --trace-ascii log/20/trace1225 --trace-time ftp://127.0.0.1:33651//foo/1225 ftp://127.0.0.1:33651//foo/bar/1225 > log/20/stdout1225 2> log/20/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/13/valgrind1231 ../src/curl -q --output log/13/curl1231.out --include --trace-ascii log/13/trace1231 --trace-time http://127.0.0.1:35041/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:35041/../../hej/but/who/../12310001#/../12310001 > log/13/stdout1231 2> log/13/stderr1231 ain (tool_main.c:199) === End of file valgrind1227 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/20/valgrind1225 ../src/curl -q --output log/20/curl1225.out --include --trace-ascii log/20/trace1225 --trace-time ftp://127.0.0.1:33651//foo/1225 ftp://127.0.0.1:33651//foo/bar/1225 > log/20/stdout1225 2> log/20/stderr1225 1225: 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/ dir 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/20/valgrind1225 ../src/curl -q --output log/20/curl1225.out --include --trace-ascii log/20/trace1225 --trace-time ftp://127.0.0.1:33651//foo/1225 ftp://127.0.0.1:33651//foo/bar/1225 > log/20/stdout1225 2> log/20/stderr1225 === End of file commands.log === Start of file ftp_server.log 07:52:15.335449 ====> Client connect 07:52:15.335604 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:15.335897 < "USER anonymous" 07:52:15.335936 > "331 We are happy you popped in![CR][LF]" 07:52:15.336110 < "PASS ftp@example.com" 07:52:15.336142 > "230 Welcome you silly person[CR][LF]" 07:52:15.336307 < "PWD" 07:52:15.336338 > "257 "/" is current directory[CR][LF]" 07:52:15.336503 < "EPSV" 07:52:15.336527 ====> Passive DATA channel requested by client 07:52:15.336542 DATA sockfilt for passive data channel starting... 07:52:15.354743 DATA sockfilt for passive data channel started (pid 143323) 07:52:15.354884 DATA sockfilt for passive data channel listens on port 45945 07:52:15.354934 > "229 Entering Passive Mode (|||45945|)[CR][LF]" 07:52:15.354957 Client has been notified that DATA conn will be accepted on port 45945 07:52:15.355232 Client connects to port 45945 07:52:15.355265 ====> Client established passive DATA connection on port 45945 07:52:15.355364 < "TYPE I" 07:52:15.355399 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:15.355563 < "SIZE verifiedserver" 07:52:15.355609 > "213 17[CR][LF]" 07:52:15.355759 < "RETR verifiedserver" 07:52:15.355790 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:15.355872 =====> Closing passive DATA connection... 07:52:15.355887 Server disconnects passive DATA connection 07:52:15.356141 Server disconnected passive DATA connection 07:52:15.356166 DATA sockfilt for passive data channel quits (pid 143323) 07:52:15.356442 DATA sockfilt for passive data channel quit (pid 143323) 07:52:15.356465 =====> Closed passive DATA connection 07:52:15.356491 > "226 File transfer complete[CR][LF]" 07:52:15.405001 < "QUIT" 07:52:15.405050 > "221 bye bye baby[CR][LF]" 07:52:15.407251 MAIN sockfilt said DISC 07:52:15.407298 ====> Client disconnected 07:52:15.407364 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:15.163267 ====> Client connect 07:52:15.163557 Received DATA (on stdin) 07:52:15.163573 > 160 bytes data, server => client 07:52:15.163587 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:15.163599 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:15.163611 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:15.163685 < 16 bytes data, client => server 07:52:15.163699 'USER anonymous\r\n' 07:52:15.163882 Received DATA (on stdin) 07:52:15.163895 > 33 bytes data, server => client 07:52:15.163905 '331 We are happy you popped in!\r\n' 07:52:15.163954 < 22 bytes data, client => server 07:52:15.163967 'PASS ftp@example.com\r\n' 07:52:15.164084 Received DATA (on stdin) 07:52:15.164097 > 30 bytes data, server => client 07:52:15.164109 '230 Welcome you silly person\r\n' 07:52:15.164158 < 5 bytes data, client => server 07:52:15.164171 'PWD\r\n' 07:52:15.164279 Received DATA (on stdin) 07:52:15.164293 > 30 bytes data, server => client 07:52:15.164305 '257 "/" is current directory\r\n' 07:52:15.164362 < 6 bytes data, client => server 07:52:15.164374 'EPSV\r\n' 07:52:15.182912 Received DATA (on stdin) 07:52:15.182930 > 39 bytes data, server => client 07:52:15.182943 '229 Entering Passive Mode (|||45945|)\r\n' 07:52:15.183089 < 8 bytes data, client => server 07:52:15.183105 'TYPE I\r\n' 07:52:15.183341 Received DATA (on stdin) 07:52:15.183354 > 33 bytes data, server => client 07:52:15.183366 '200 I modify TYPE as you wanted\r\n' 07:52:15.183418 < 21 bytes data, client => server 07:52:15.183429 'SIZE verifiedserver\r\n' 07:52:15.183549 Received DATA (on stdin) 07:52:15.183560 > 8 bytes data, server => client 07:52:15.183570 '213 17\r\n' 07:52:15.183618 < 21 bytes data, client => server 07:52:15.183629 'RETR verifiedserver\r\n' 07:52:15.183830 Received DATA (on stdin) 07:52:15.183842 > 29 bytes data, server => client 07:52:15.183853 '150 Binary junk (17 bytes).\r\n' 07:52:15.184434 Received DATA (on stdin) 07:52:15.184448 > 28 bytes data, server => client 07:52:15.184459 '226 File transfer complete\r\n' 07:52:15.232773 < 6 bytes data, client => server 07:52:15.232800 'QUIT\r\n' 07:52:15.232997 Received DATA (on stdin) 07:52:15.233010 > 18 bytes data, server => client 07:52:15.233021 '221 bye bye baby\r\n' 07:52:15.235127 ====> Client disconnect 07:52:15.235307 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:15.179864 Running IPv4 version 07:52:15.179951 Listening on port 45945 07:52:15.179986 Wrote pid 143323 to log/20/server/ftp_sockdata.pid 07:52:15.182598 Received PING (on stdin) 07:52:15.182728 Received PORT (on stdin) 07:52:15.183126 ====> Client connect 07:52:15.183916 Received DATA (on stdin) 07:52:15.183930 > 17 bytes data, server => client 07:52:15.183941 'WE ROOLZ: 80551\r\n' 07:52:15.183966 Received DISC (on stdin) 07:52:15.183978 ====> Client forcibly disconnected 07:52:15.184116 Received QUIT (on stdin) 07:52:15.184128 quits 07:52:15.184188 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==143521== ==143521== Process terminating with default action of signal 4 (SIGILL) ==143521== Illegal opcode at address 0x4013DC0 ==143521== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143521== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143521== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143521== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1225 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/13/valgrind1231 ../src/curl -q --output log/13/curl1231.out --include --trace-ascii log/13/trace1231 --trace-time http://127.0.0.1:35041/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:35041/../../hej/but/who/../12310001#/../12310001 > log/13/stdout1231 2> log/13/stderr1231 1231: 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/ dir after test 1231 === Start of file commands.log ../libtool --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/valgrind1231 ../src/curl -q --output log/13/curl1231.out --include --trace-ascii log/13/trace1231 --trace-time http://127.0.0.1:35041/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:35041/../../hej/but/who/../12310001#/../12310001 > log/13/stdout1231 2> log/13/stderr1231 === 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/5/valgrind1229 ../src/curl -q --output log/5/curl1229.out --include --trace-ascii log/5/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:42797/1229 --digest > log/5/stdout1229 2> log/5/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/3/valgrind1233 ../src/curl -q --output log/3/curl1233.out --include --trace-ascii log/3/trace1233 --trace-time ftp://127.0.0.1:41643/1233 > log/3/stdout1233 2> log/3/stderr1233 07:52:15.292960 ====> Client connect 07:52:15.292997 accept_connection 3 returned 4 07:52:15.293015 accept_connection 3 returned 0 07:52:15.293029 Read 93 bytes 07:52:15.293039 Process 93 bytes request 07:52:15.293053 Got request: GET /verifiedserver HTTP/1.1 07:52:15.293063 Are-we-friendly question received 07:52:15.293087 Wrote request (93 bytes) input to log/13/server.input 07:52:15.293104 Identifying ourselves as friends 07:52:15.293156 Response sent (56 bytes) and written to log/13/server.response 07:52:15.293166 special request received, no persistency 07:52:15.293175 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 46136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1231 ==143540== ==143540== Process terminating with default action of signal 4 (SIGILL) ==143540== Illegal opcode at address 0x4013DC0 ==143540== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143540== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143540== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143540== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1231 test 1229...[HTTP with Digest authorization with user name 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/5/valgrind1229 ../src/curl -q --output log/5/curl1229.out --include --trace-ascii log/5/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:42797/1229 --digest > log/5/stdout1229 2> log/5/stderr1229 1229: 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/ dir 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/5/valgrind1229 ../src/curl -q --output log/5/curl1229.out --include --trace-ascii log/5/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:42797/1229 --digest > log/5/stdout1229 2> log/5/stderr1229 === End of file commands.log === Start of file http_server.log 07:52:15.287471 ====> Client connect 07:52:15.287507 accept_connection 3 returned 4 07:52:15.287524 accept_connection 3 returned 0 07:52:15.287540 Read 93 bytes 07:52:15.287551 Process 93 bytes request 07:52:15.287565 Got request: GET /verifiedserver HTTP/1.1 07:52:15.287575 Are-we-friendly question received 07:52:15.287602 Wrote request (93 bytes) input to log/5/server.input 07:52:15.287626 Identifying ourselves as friends 07:52:15.287683 Response sent (56 bytes) and written to log/5/server.response 07:52:15.287695 special request received, no persistency 07:52:15.287706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 34182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1229 ==143571== ==143571== Process terminating with default action of signal 4 (SIGILL) ==143571== Illegal opcode at address 0x4013DC0 ==143571== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143571== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143571== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143571== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1229 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/3/valgrind1233 ../src/curl -q --output log/3/curl1233.out --include --trace-ascii log/3/trace1233 --trace-time ftp://127.0.0.1:41643/1233 > log/3/stdout1233 2> log/3/stderr1233 1233: 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/ dir 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/3/valgrind1233 ../src/curl -q --output log/3/curl1233.out --include --trace-ascii log/3/trace1233 --trace-time ftp://127.0.0.1:41643/1233 > log/3/stdout1233 2> log/3/stderr1233 === End of file commands.log === Start of file ftp_server.log 07:52:15.577700 ====> Client connect 07:52:15.577880 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:15.578218 < "USER anonymous" 07:52:15.578265 > "331 We are happy you popped in![CR][LF]" 07:52:15.578705 < "PASS ftp@example.com" 07:52:15.578740 > "230 Welcome you silly person[CR][LF]" 07:52:15.578909 < "PWD" 07:52:15.578943 > "257 "/" is current directory[CR][LF]" 07:52:15.579116 < "EPSV" 07:52:15.579142 ====> Passive DATA channel requested by client 07:52:15.579157 DATA sockfilt for passive data channel starting... 07:52:15.581199 DATA sockfilt for passive data channel started (pid 143755) 07:52:15.581322 DATA sockfilt for passive data channel listens on port 39011 07:52:15.581368 > "229 Entering Passive Mode (|||39011|)[CR][LF]" 07:52:15.581390 Client has been notified that DATA conn will be accepted on port 39011 07:52:15.581622 Client connects to port 39011 07:52:15.581655 ====> Client established passive DATA connection on port 39011 07:52:15.581734 < "TYPE I" 07:52:15.581762 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:15.581919 < "SIZE verifiedserver" 07:52:15.581959 > "213 17[CR][LF]" 07:52:15.582107 < "RETR verifiedserver" 07:52:15.582138 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:15.582220 =====> Closing passive DATA connection... 07:52:15.582237 Server disconnects passive DATA connection 07:52:15.582482 Server disconnected passive DATA connection 07:52:15.582510 DATA sockfilt for passive data channel quits (pid 143755) 07:52:15.582766 DATA sockfilt for passive data channel quit (pid 143755) 07:52:15.582788 =====> Closed passive DATA connection 07:52:15.582815 > "226 File transfer complete[CR][LF]" 07:52:15.631591 < "QUIT" 07:52:15.631651 > "221 bye bye baby[CR][LF]" 07:52:15.632767 MAIN sockfilt said DISC 07:52:15.632812 ====> Client disconnected 07:52:15.632895 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:15.405523 ====> Client connect 07:52:15.405850 Received DATA (on stdin) 07:52:15.405870 > 160 bytes data, server => client 07:52:15.405884 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:15.405897 ' \r\n220- / __| | | | |_) | | \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/8/valgrind1234 ../src/curl -q --output log/8/curl1234.out --include --trace-ascii log/8/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/8/stdout1234 2> log/8/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/17/valgrind1236 ../src/curl -q --output log/17/curl1236.out --include --trace-ascii log/17/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/17/stdout1236 2> log/17/stderr1236 CMD (33792): ../libtool --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:43573/{1235,1235}{0001,0002}" > log/4/stdout1235 2> log/4/stderr1235 __| |_| | ' 07:52:15.405909 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:15.405993 < 16 bytes data, client => server 07:52:15.406008 'USER anonymous\r\n' 07:52:15.406213 Received DATA (on stdin) 07:52:15.406228 > 33 bytes data, server => client 07:52:15.406241 '331 We are happy you popped in!\r\n' 07:52:15.406520 < 22 bytes data, client => server 07:52:15.406538 'PASS ftp@example.com\r\n' 07:52:15.406683 Received DATA (on stdin) 07:52:15.406697 > 30 bytes data, server => client 07:52:15.406709 '230 Welcome you silly person\r\n' 07:52:15.406760 < 5 bytes data, client => server 07:52:15.406773 'PWD\r\n' 07:52:15.406885 Received DATA (on stdin) 07:52:15.406898 > 30 bytes data, server => client 07:52:15.406911 '257 "/" is current directory\r\n' 07:52:15.406969 < 6 bytes data, client => server 07:52:15.406983 'EPSV\r\n' 07:52:15.409337 Received DATA (on stdin) 07:52:15.409351 > 39 bytes data, server => client 07:52:15.409364 '229 Entering Passive Mode (|||39011|)\r\n' 07:52:15.409481 < 8 bytes data, client => server 07:52:15.409496 'TYPE I\r\n' 07:52:15.409703 Received DATA (on stdin) 07:52:15.409717 > 33 bytes data, server => client 07:52:15.409729 '200 I modify TYPE as you wanted\r\n' 07:52:15.409779 < 21 bytes data, client => server 07:52:15.409791 'SIZE verifiedserver\r\n' 07:52:15.409899 Received DATA (on stdin) 07:52:15.409911 > 8 bytes data, server => client 07:52:15.409922 '213 17\r\n' 07:52:15.409968 < 21 bytes data, client => server 07:52:15.409981 'RETR verifiedserver\r\n' 07:52:15.410181 Received DATA (on stdin) 07:52:15.410193 > 29 bytes data, server => client 07:52:15.410205 '150 Binary junk (17 bytes).\r\n' 07:52:15.410757 Received DATA (on stdin) 07:52:15.410771 > 28 bytes data, server => client 07:52:15.410783 '226 File transfer complete\r\n' 07:52:15.459326 < 6 bytes data, client => server 07:52:15.459362 'QUIT\r\n' 07:52:15.459600 Received DATA (on stdin) 07:52:15.459615 > 18 bytes data, server => client 07:52:15.459628 '221 bye bye baby\r\n' 07:52:15.460644 ====> Client disconnect 07:52:15.460841 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:15.408813 Running IPv4 version 07:52:15.408882 Listening on port 39011 07:52:15.408917 Wrote pid 143755 to log/3/server/ftp_sockdata.pid 07:52:15.409081 Received PING (on stdin) 07:52:15.409177 Received PORT (on stdin) 07:52:15.409516 ====> Client connect 07:52:15.410231 Received DATA (on stdin) 07:52:15.410246 > 17 bytes data, server => client 07:52:15.410258 'WE ROOLZ: 80340\r\n' 07:52:15.410283 Received DISC (on stdin) 07:52:15.410295 ====> Client forcibly disconnected 07:52:15.410460 Received QUIT (on stdin) 07:52:15.410472 quits 07:52:15.410531 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd # Assuming there's nothing listening on port 1 REPLY EPSV 229 Entering Passive Mode (|||1|) Testnum 1233 === End of file server.cmd === Start of file valgrind1233 ==143835== ==143835== Process terminating with default action of signal 4 (SIGILL) ==143835== Illegal opcode at address 0x4013DC0 ==143835== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143835== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143835== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143835== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1233 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/8/valgrind1234 ../src/curl -q --output log/8/curl1234.out --include --trace-ascii log/8/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/8/stdout1234 2> log/8/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/8/ dir 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/8/valgrind1234 ../src/curl -q --output log/8/curl1234.out --include --trace-ascii log/8/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/8/stdout1234 2> log/8/stderr1234 === End of file commands.log === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==143860== ==143860== Process terminating with default action of signal 4 (SIGILL) ==143860== Illegal opcode at address 0x4013DC0 ==143860== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143860== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143860== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143860== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1234 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/17/valgrind1236 ../src/curl -q --output log/17/curl1236.out --include --trace-ascii log/17/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/17/stdout1236 2> log/17/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind1236 ../src/curl -q --output log/17/curl1236.out --include --trace-ascii log/17/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/17/stdout1236 2> log/17/stderr1236 === End of file commands.log === Start of file server.cmd Testnum 1236 === End of file server.cmd === Start of file valgrind1236 ==143981== ==143981== Process terminating with default action of signal 4 (SIGILL) ==143981== Illegal opcode at address 0x4013DC0 ==143981== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143981== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143981== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143981== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1236 CMD (33792): ../libtool --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/valgrind1238 ../src/curl -q --output log/23/curl1238.out --include --trace-ascii log/23/trace1238 --trace-time tftp://127.0.0.1:43347//1238 -Y1000 -y2 > log/23/stdout1238 2> log/23/stderr1238 RUN: Process with pid 136142 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/19/valgrind1239 ../src/curl -q --include --trace-ascii log/19/trace1239 --trace-time http://127.0.0.1:34835/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/19/stdout1239 2> log/19/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:43573/{1235,1235}{0001,0002}" > log/4/stdout1235 2> log/4/stderr1235 1235: stdout FAILED: --- log/4/check-expected 2025-11-07 07:52:17.260707442 +0000 +++ log/4/check-generated 2025-11-07 07:52:17.260707442 +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/ dir 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:43573/{1235,1235}{0001,0002}" > log/4/stdout1235 2> log/4/stderr1235 === End of file commands.log === Start of file http_server.log 07:52:16.692574 ====> Client connect 07:52:16.692618 accept_connection 3 returned 4 07:52:16.692638 accept_connection 3 returned 0 07:52:16.692656 Read 93 bytes 07:52:16.692668 Process 93 bytes request 07:52:16.692683 Got request: GET /verifiedserver HTTP/1.1 07:52:16.692694 Are-we-friendly question received 07:52:16.692721 Wrote request (93 bytes) input to log/4/server.input 07:52:16.692747 Identifying ourselves as friends 07:52:16.692813 Response sent (56 bytes) and written to log/4/server.response 07:52:16.692825 special request received, no persistency 07:52:16.692836 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 36106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind1235 ==143976== ==143976== Process terminating with default action of signal 4 (SIGILL) ==143976== Illegal opcode at address 0x4013DC0 ==143976== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==143976== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143976== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==143976== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1235 CMD (33792): ../libtool --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/valgrind1237 ../src/curl -q --output log/24/curl1237.out --include --trace-ascii log/24/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:41843/1237" > log/24/stdout1237 2> log/24/stderr1237 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/19/valgrind1239 ../src/curl -q --include --trace-ascii log/19/trace1239 --trace-time http://127.0.0.1:34835/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/19/stdout1239 2> log/19/stderr1239 1239: stdout FAILED: --- log/19/check-expected 2025-11-07 07:52:17.307374109 +0000 +++ log/19/check-generated 2025-11-07 07:52:17.307374109 +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/19/ dir 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/19/valgrind1239 ../src/curl -q --include --trace-ascii log/19/trace1239 --trace-time http://127.0.0.1:34835/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/19/stdout1239 2> log/19/stderr1239 === End of file commands.log === Start of file http_server.log 07:52:15.904666 ====> Client connect 07:52:15.904698 accept_connection 3 returned 4 07:52:15.904715 accept_connection 3 returned 0 07:52:15.904729 Read 93 bytes 07:52:15.904739 Process 93 bytes request 07:52:15.904753 Got request: GET /verifiedserver HTTP/1.1 07:52:15.904763 Are-we-friendly question received 07:52:15.904784 Wrote request (93 bytes) input to log/19/server.input 07:52:15.904800 Identifying ourselves as friends 07:52:15.904850 Response sent (56 bytes) and written to log/19/server.response 07:52:15.904859 special request received, no persistency 07:52:15.904868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1239 ==144171== ==144171== Process terminating with default action of signal 4 (SIGILL) ==144171== Illegal opcode at address 0x4013DC0 ==144171== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144171== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144171== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144171== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1239 test 1237...[URL with 1000+ letter user name + 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/valgrind1237 ../src/curl -q --output log/24/curl1237.out --include --trace-ascii log/24/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:41843/1237" > log/24/stdout1237 2> log/24/stderr1237 1237: 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/ dir 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/24/valgrind1237 ../src/curl -q --output log/24/curl1237.out --include --trace-ascii log/24/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCMD (33792): ../libtool --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/valgrind1240 ../src/curl -q --output log/2/curl1240.out --include --trace-ascii log/2/trace1240 --trace-time "127.0.0.1:43955/0[0-1]/1240" > log/2/stdout1240 2> log/2/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/7/valgrind1241 ../src/curl -q --output log/7/curl1241.out --include --trace-ascii log/7/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:39661 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/7/stdout1241 2> log/7/stderr1241 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:41843/1237" > log/24/stdout1237 2> log/24/stderr1237 === End of file commands.log === Start of file http_server.log 07:52:15.844602 ====> Client connect 07:52:15.844637 accept_connection 3 returned 4 07:52:15.844656 accept_connection 3 returned 0 07:52:15.844803 Read 93 bytes 07:52:15.844819 Process 93 bytes request 07:52:15.844834 Got request: GET /verifiedserver HTTP/1.1 07:52:15.844845 Are-we-friendly question received 07:52:15.844906 Wrote request (93 bytes) input to log/24/server.input 07:52:15.844926 Identifying ourselves as friends 07:52:15.844984 Response sent (56 bytes) and written to log/24/server.response 07:52:15.844995 special request received, no persistency 07:52:15.845006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 39692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1237 ==144114== ==144114== Process terminating with default action of signal 4 (SIGILL) ==144114== Illegal opcode at address 0x4013DC0 ==144114== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144114== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144114== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144114== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1237 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/2/valgrind1240 ../src/curl -q --output log/2/curl1240.out --include --trace-ascii log/2/trace1240 --trace-time "127.0.0.1:43955/0[0-1]/1240" > log/2/stdout1240 2> log/2/stderr1240 1240: 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/ dir 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/2/valgrind1240 ../src/curl -q --output log/2/curl1240.out --include --trace-ascii log/2/trace1240 --trace-time "127.0.0.1:43955/0[0-1]/1240" > log/2/stdout1240 2> log/2/stderr1240 === End of file commands.log === Start of file http_server.log 07:52:16.971316 ====> Client connect 07:52:16.971349 accept_connection 3 returned 4 07:52:16.971368 accept_connection 3 returned 0 07:52:16.971383 Read 93 bytes 07:52:16.971394 Process 93 bytes request 07:52:16.971408 Got request: GET /verifiedserver HTTP/1.1 07:52:16.971419 Are-we-friendly question received 07:52:16.971443 Wrote request (93 bytes) input to log/2/server.input 07:52:16.971460 Identifying ourselves as friends 07:52:16.971514 Response sent (56 bytes) and written to log/2/server.response 07:52:16.971526 special request received, no persistency 07:52:16.971536 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 46370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1240 ==144233== ==144233== Process terminating with default action of signal 4 (SIGILL) ==144233== Illegal opcode at address 0x4013DC0 ==144233== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1240 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/7/valgrind1241 ../src/curl -q --output log/7/curl1241.out --include --trace-ascii log/7/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:39661 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/7/stdout1241 2> log/7/stderr1241 1241: 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/ dir 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/7/valgrind1241 ../src/curl -q --output log/7/curl1241.out --include --trace-ascii log/7/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:39661 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/7/stdout1241 2> log/7/stderr1241 === End of file commands.log === Start of file http_server.log 07:52:17.174274 ====> Client connect 07:52:17.174308 accept_connection 3 returned 4 07:52:17.174325 accept_connection 3 returned 0 07:52:17.174340 Read 93 bytes 07:52:17.174351 Process 93 bytes request 07:52:17.174365 Got request: GET /verifiedserver HTTP/1.1 07:52:17.174375 Are-we-friendly question received 07:52:17.174398 Wrote request (93 bytes) input to log/7/server.input 07:52:17.174415 Identifying ourselves as friends 07:52:17.174469 Response sent (56 bytes) and written to log/7/server.response 07:52:17.174479 special request received, no persistency 07:52:17.174489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 46432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1241 ==144377== ==144377== Process terminating with default action of signal 4 (SIGILL) ==144377== Illegal opcode at address 0x4013DC0 ==144377== at 0x4013DC0: getparameter (tool_getparam.c:284CMD (33792): ../libtool --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/valgrind1243 ../src/curl -q --output log/9/curl1243.out --include --trace-ascii log/9/trace1243 --trace-time -T log/9/test1243.txt tftp://127.0.0.1:49382// --tftp-no-options > log/9/stdout1243 2> log/9/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/18/valgrind1247 ../src/curl -q --output log/18/curl1247.out --include --trace-ascii log/18/trace1247 --trace-time --fail-early h1234://127.0.0.1:46763/1247 http://127.0.0.1:46763/1247 > log/18/stdout1247 2> log/18/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/1/valgrind1246 ../src/curl -q --output log/1/curl1246.out --include --trace-ascii log/1/trace1246 --trace-time --proxy http://127.0.0.1:35709 http://test.remote.haxx.se.1246:35709#@127.0.0.1/tricked.html no-scheme-url.com.1246:35709#@127.127.127.127/again.html > log/1/stdout1246 2> log/1/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/14/valgrind1245 ../src/curl -q --output log/14/curl1245.out --include --trace-ascii log/14/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:34115/1245 > log/14/stdout1245 2> log/14/stderr1245 6) ==144377== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144377== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144377== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1241 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/9/valgrind1243 ../src/curl -q --output log/9/curl1243.out --include --trace-ascii log/9/trace1243 --trace-time -T log/9/test1243.txt tftp://127.0.0.1:49382// --tftp-no-options > log/9/stdout1243 2> log/9/stderr1243 1243: 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/ dir 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/9/valgrind1243 ../src/curl -q --output log/9/curl1243.out --include --trace-ascii log/9/trace1243 --trace-time -T log/9/test1243.txt tftp://127.0.0.1:49382// --tftp-no-options > log/9/stdout1243 2> log/9/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 07:52:16.243742 trying to get file: verifiedserver mode 1 07:52:16.243771 Are-we-friendly question received 07:52:16.243786 write 07:52:16.243808 read 07:52:16.244503 read: 4 07:52:16.244569 end of one transfer === End of file tftp_server.log === Start of file valgrind1243 ==144430== ==144430== Process terminating with default action of signal 4 (SIGILL) ==144430== Illegal opcode at address 0x4013DC0 ==144430== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144430== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144430== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144430== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1243 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/18/valgrind1247 ../src/curl -q --output log/18/curl1247.out --include --trace-ascii log/18/trace1247 --trace-time --fail-early h1234://127.0.0.1:46763/1247 http://127.0.0.1:46763/1247 > log/18/stdout1247 2> log/18/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind1247 ../src/curl -q --output log/18/curl1247.out --include --trace-ascii log/18/trace1247 --trace-time --fail-early h1234://127.0.0.1:46763/1247 http://127.0.0.1:46763/1247 > log/18/stdout1247 2> log/18/stderr1247 === End of file commands.log === Start of file http_server.log 07:52:17.367190 ====> Client connect 07:52:17.367229 accept_connection 3 returned 4 07:52:17.367249 accept_connection 3 returned 0 07:52:17.367266 Read 93 bytes 07:52:17.367278 Process 93 bytes request 07:52:17.367294 Got request: GET /verifiedserver HTTP/1.1 07:52:17.367305 Are-we-friendly question received 07:52:17.367334 Wrote request (93 bytes) input to log/18/server.input 07:52:17.367354 Identifying ourselves as friends 07:52:17.367417 Response sent (56 bytes) and written to log/18/server.response 07:52:17.367431 special request received, no persistency 07:52:17.367442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 56660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1247 ==144567== ==144567== Process terminating with default action of signal 4 (SIGILL) ==144567== Illegal opcode at address 0x4013DC0 ==144567== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144567== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144567== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144567== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1247 test 1246...[URL with '#' at end of host name 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/1/valgrind1246 ../src/curl -q --output log/1/curl1246.out --include --trace-ascii log/1/trace1246 --trace-time --proxy http://127.0.0.1:35709 http://test.remote.haxx.se.1246:35709#@127.0.0.1/tricked.html no-scheme-url.com.1246:35709#@127.127.127.127/again.html > log/1/stdout1246 2> log/1/stderr1246 1246: 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/ dir 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/1/valgrind1246 ../src/curl -q --output log/1/curl1246.out --include --trace-ascii log/1/trace1246 --trace-time --proxy http://127.0.0.1:35709 http://test.remote.haxx.se.1246:35709#@127.0.0.1/tricked.html no-scheme-url.com.1246:35709#@127.127.127.127/again.html > log/1/stdout1246 2> log/1/stderr1246 === End of file commands.log === Start of file http_server.log 07:52:16.304010 ====> Client connect 07:52:16.304046 accept_connection 3 returned 4 07:52:16.304064 accept_connection 3 returned 0 07:52:16.304079 Read 93 bytes 07:52:16.304089 Process 93 bytes request 07:52:16.304103 Got request: GET /verifiedserver HTTP/1.1 07:52:16.304114 Are-we-friendly question received 07:52:16.304141 Wrote request (93 bytes) input to log/1/server.input 07:52:16.304159 Identifying ourselves as friends 07:52:16.304214 Response sent (56 bytes) and written to log/1/server.response 07:52:16.304225 special request received, no persistency 07:52:16.304235 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 35520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1246 ==144514== ==144514== Process terminating with default action of signal 4 (SIGILL) ==144514== Illegal opcode at address 0x4013DC0 ==144514== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144514== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144514== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144514== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1246 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/14/valgrind1245 ../src/curl -q --output log/14/curl1245.out --include --trace-ascii log/14/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:34115/1245 > log/14/stdout1245 2> log/14/stderr1245 1245: 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/ dir 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/14/valgrind1245 ../src/curl -q --output log/14/curl1245.out --include --trace-ascii log/14/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:34115/1245 > log/14/stdout1245 2> log/14/stderr1245 === End of file commands.log === Start of file ftp_server.log 07:52:16.528982 ====> Client connect 07:52:16.529160 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:16.529478 < "USER anonymous" 07:52:16.529521 > "331 We are happy you popped in![CR][LF]" 07:52:16.529714 < "PASS ftp@example.com" 07:52:16.529745 > "230 Welcome you silly person[CR][LF]" 07:52:16.529918 < "PWD" 07:52:16.529954 > "257 "/" is current directory[CR][LF]" 07:52:16.530137 < "EPSV" 07:52:16.530163 ====> Passive DATA channel requested by client 07:52:16.530178 DATA sockfilt for passive data channel starting... 07:52:16.537282 DATA sockfilt for passive data channel started (pid 144550) 07:52:16.537385 DATA sockfilt for passive data channel listens on port 33159 07:52:16.537427 > "229 Entering Passive Mode (|||33159|)[CR][LF]" 07:52:16.537445 Client has been notified that DATA conn will be accepted on port 33159 07:52:16.541064 Client connects to port 33159 07:52:16.541093 ====> Client established passive DATA connection on port 33159 07:52:16.541169 < "TYPE I" 07:52:16.541201 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:16.544645 < "SIZE verifiedserver" 07:52:16.544693 > "213 17[CR][LF]" 07:52:16.544862 < "RETR verifiedserver" 07:52:16.544897 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:16.544991 =====> Closing passive DATA connection... 07:52:16.545007 Server disconnects passive DATA connection 07:52:16.547926 Server disconnected passive DATA connection 07:52:16.547960 DATA sockfilt for passive data channel quits (pid 144550) 07:52:16.551219 DATA sockfilt for passive data channel quit (pid 144550) 07:52:16.551267 =====> Closed passive DATA connection 07:52:16.551299 > "226 File transfer complete[CR][LF]" 07:52:16.597342 < "QUIT" 07:52:16.597401 > "221 bye bye baby[CR][LF]" 07:52:16.601299 MAIN sockfilt said DISC 07:52:16.601341 ====> Client disconnected 07:52:16.601424 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:16.356777 ====> Client connect 07:52:16.357124 Received DATA (on stdin) 07:52:16.357143 > 160 bytes data, server => client 07:52:16.357157 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:16.357170 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:16.357181 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:16.357268 < 16 bytes data, client => server 07:52:16.357285 'USER anonymous\r\n' 07:52:16.357470 Received DATA (on stdin) 07:52:16.357484 > 33 bytes data, server => client 07:52:16.357497 '331 We are happy you popped in!\r\n' 07:52:16.357554 < 22 bytes data, client => server 07:52:16.357569 'PASS ftp@example.com\r\n' 07:52:16.357690 Received DATA (on stdin) 07:52:16.357704 > 30 bytes data, server => client 07:52:16.357716 '230 Welcome you silly person\r\n' 07:52:16.357767 < 5 bytes data, client => server 07:52:16.357780 'PWD\r\n' 07:52:16.357898 Received DATA (on stdin) 07:52:16.357912 > 30 bytes data, server => client 07:52:16.357924 '257 "/" is current directory\r\n' 07:52:16.357986 < 6 bytes data, client => server 07:52:16.358001 'EPSV\r\n' 07:52:16.365344 Received DATA (on stdin) 07:52:16.365368 > 39 bytes data, server => client 07:52:16.365383 '229 Entering Passive Mode (|||33159|)\r\n' 07:52:16.365511 < 8 bytes data, client => server 07:52:16.365530 'TYPE I\r\n' 07:52:16.369144 Received DATA (on stdin) 07:52:16.369158 > 33 bytes data, server => client 07:52:16.369180 '200 I modify TYPE as you wanted\r\n' 07:52:16.369237 < 21 bytes data, client => server 07:52:16.369249 'SIZE verifiedserver\r\n' 07:52:16.372636 Received DATA (on stdin) 07:52:16.372650 > 8 bytes data, server => client 07:52:16.372662 '213 17\r\n' 07:52:16.372718 < 21 bytes data, client => server 07:52:16.372730 'RETR verifiedserver\r\n' 07:52:16.372952 Received DATA (on stdin) 07:52:16.372965 > 29 bytes data, server => client 07:52:16.372976 '150 Binary junk (17 bytes).\r\n' 07:52:16.379244 Received DATA (on stdin) 07:52:16.379259 > 28 bytes data, server => client 07:52:16.379271 '226 File transfer complete\r\n' 07:52:16.425073 < 6 bytes data, client => server 07:52:16.425113 'QUIT\r\n' 07:52:16.425350 Received DATA (on stdin) 07:52:16.425363 > 18 bytes data, server => client 07:52:16.425375 '221 bye bye baby\r\n' 07:52:16.429173 ====> Client disconnect 07:52:16.429366 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:16.364900 Running IPv4 version 07:52:16.364970 Listening on port 33159 07:52:16.365008 Wrote pid 144550 to log/14/server/ftp_sockdata.pid 07:52:16.365165 Received PING (on stdin) 07:52:16.365247 Received PORT (on stdin) 07:52:16.368950 ====> Client connect 07:52:16.374012 Received DATA (on stdin) 07:52:16.374033 > 17 bytes data, server => client 07:52:16.374045 'WE ROOLZ: 81000\r\n' 07:52:16.374076 Received DISC (on stdin) 07:52:16.374091 ====> Client forcibly disconnected 07:52:16.376003 Received QUIT (on stdin) 07:52:16.376020 quits 07:52:16.376088 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:16.290379 ====> Client connect 07:52:16.290414 accept_connection 3 returned 4 07:52:16.290431 accept_connection 3 returned 0 07:52:16.290447 Read 93 bytes 07:52:16.290457 Process 93 bytes request 07:52:16.290471 Got request: GET /verifiedserver HTTP/1.1 07:52:16.290480 Are-we-friendly question received 07:52:16.290503 Wrote request (93 bytes) input to log/14/server.input 07:52:16.290521 Identifying ourselves as friends 07:52:16.290575 Response sent (56 bytes) and written to log/14/server.response 07:52:16.290585 special request received, no persistency 07:52:16.290595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 46300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1245 ==144608== ==144608== Process terminating with default action of signal 4 (SIGILL) ==144608== Illegal opcode at address 0x4013DC0 ==144608== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144608== by 0x40037A4: main (tool_main.c:199) ==CMD (33792): ../libtool --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/valgrind1248 ../src/curl -q --output log/10/curl1248.out --include --trace-ascii log/10/trace1248 --trace-time http://user:secret@127.0.0.1:34041/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/10/stdout1248 2> log/10/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/12/valgrind1249 ../src/curl -q --output log/12/curl1249.out --include --trace-ascii log/12/trace1249 --trace-time http://user:secret@127.0.0.1:38023/1249 --proxy http://dummy:47/ --max-time 5 > log/12/stdout1249 2> log/12/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/11/valgrind1251 ../src/curl -q --output log/11/curl1251.out --include --trace-ascii log/11/trace1251 --trace-time http://user:secret@127.0.0.1:38169/1251 --max-time 5 > log/11/stdout1251 2> log/11/stderr1251 = End of file valgrind1245 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/10/valgrind1248 ../src/curl -q --output log/10/curl1248.out --include --trace-ascii log/10/trace1248 --trace-time http://user:secret@127.0.0.1:34041/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/10/stdout1248 2> log/10/stderr1248 1248: 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/ dir 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/10/valgrind1248 ../src/curl -q --output log/10/curl1248.out --include --trace-ascii log/10/trace1248 --trace-time http://user:secret@127.0.0.1:34041/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/10/stdout1248 2> log/10/stderr1248 === End of file commands.log === Start of file http_server.log 07:52:16.643014 ====> Client connect 07:52:16.643057 accept_connection 3 returned 4 07:52:16.643073 accept_connection 3 returned 0 07:52:16.643089 Read 93 bytes 07:52:16.643099 Process 93 bytes request 07:52:16.643114 Got request: GET /verifiedserver HTTP/1.1 07:52:16.643124 Are-we-friendly question received 07:52:16.643149 Wrote request (93 bytes) input to log/10/server.input 07:52:16.643166 Identifying ourselves as friends 07:52:16.643222 Response sent (56 bytes) and written to log/10/server.response 07:52:16.643233 special request received, no persistency 07:52:16.643242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 59982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1248 ==144807== ==144807== Process terminating with default action of signal 4 (SIGILL) ==144807== Illegal opcode at address 0x4013DC0 ==144807== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144807== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144807== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144807== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1248 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/12/valgrind1249 ../src/curl -q --output log/12/curl1249.out --include --trace-ascii log/12/trace1249 --trace-time http://user:secret@127.0.0.1:38023/1249 --proxy http://dummy:47/ --max-time 5 > log/12/stdout1249 2> log/12/stderr1249 1249: 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/ dir 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/12/valgrind1249 ../src/curl -q --output log/12/curl1249.out --include --trace-ascii log/12/trace1249 --trace-time http://user:secret@127.0.0.1:38023/1249 --proxy http://dummy:47/ --max-time 5 > log/12/stdout1249 2> log/12/stderr1249 === End of file commands.log === Start of file http_server.log 07:52:16.649446 ====> Client connect 07:52:16.649480 accept_connection 3 returned 4 07:52:16.649497 accept_connection 3 returned 0 07:52:16.649513 Read 93 bytes 07:52:16.649524 Process 93 bytes request 07:52:16.649537 Got request: GET /verifiedserver HTTP/1.1 07:52:16.649547 Are-we-friendly question received 07:52:16.649576 Wrote request (93 bytes) input to log/12/server.input 07:52:16.649595 Identifying ourselves as friends 07:52:16.649650 Response sent (56 bytes) and written to log/12/server.response 07:52:16.649662 special request received, no persistency 07:52:16.649672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1249 ==144814== ==144814== Process terminating with default action of signal 4 (SIGILL) ==144814== Illegal opcode at address 0x4013DC0 ==144814== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144814== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1249 setenv http_proxy = http://dummy:[not running]/ 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/11/valgrind1251 ../src/curl -q --output log/11/curl1251.out --include --trace-ascii log/11/trace1251 --trace-time http://user:secret@127.0.0.1:38169/1251 --max-time 5 > log/11/stdout1251 2> log/11/stderr1251 1251: 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/ dir 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/11/valgrind1251 ../src/curl -q --output log/11/curl1251.out --include --trace-ascii log/11/trace1251 --trace-time http://user:secret@127.0.0.1:38169/1251 --max-time 5 > log/11/stdout1251 2> log/11/stderr1251 === End of file commands.log === Start of file http_server.log 07:52:16.662581 ====> Client connect 07:52:16.662618 accept_connection 3 returned 4 07:52:16.665872 accept_connection 3 returned 0 07:52:16.665901 Read 93 bytes 07:52:16.665914 Process 93 bytes request 07:52:16.665929 Got request: GET /verifiedserver HTTP/1.1 07:52:16.665939 Are-we-friendly question received 07:52:16.667499 Wrote request (93 bytes) input to log/11/server.input 07:52:16.667527 Identifying ourselves as friends 07:52:16.667600 Response sent (56 bytes) and written to log/11/server.response 07:52:16.667613 special request received, no persistency 07:52:16.667624 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.CMD (33792): ../libtool --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/valgrind1250 ../src/curl -q --output log/6/curl1250.out --include --trace-ascii log/6/trace1250 --trace-time http://user:secret@127.0.0.1:45933/1250 --noproxy 127.0.0.1 --max-time 5 > log/6/stdout1250 2> log/6/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/13/valgrind1255 ../src/curl -q --output log/13/curl1255.out --include --trace-ascii log/13/trace1255 --trace-time http://127.0.0.1:35041/1255 --noproxy 127.0.0.1 > log/13/stdout1255 2> log/13/stderr1255 CMD (33792): ../libtool --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/valgrind1252 ../src/curl -q --output log/22/curl1252.out --include --trace-ascii log/22/trace1252 --trace-time http://127.0.0.1:40377/1252 --proxy http://127.0.0.1:40377 --noproxy 127.0.0.1 > log/22/stdout1252 2> log/22/stderr1252 17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1251 ==144847== ==144847== Process terminating with default action of signal 4 (SIGILL) ==144847== Illegal opcode at address 0x4013DC0 ==144847== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144847== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144847== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144847== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1251 setenv http_proxy = http://dummy:36753/ 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/6/valgrind1250 ../src/curl -q --output log/6/curl1250.out --include --trace-ascii log/6/trace1250 --trace-time http://user:secret@127.0.0.1:45933/1250 --noproxy 127.0.0.1 --max-time 5 > log/6/stdout1250 2> log/6/stderr1250 1250: 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/ dir 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/6/valgrind1250 ../src/curl -q --output log/6/curl1250.out --include --trace-ascii log/6/trace1250 --trace-time http://user:secret@127.0.0.1:45933/1250 --noproxy 127.0.0.1 --max-time 5 > log/6/stdout1250 2> log/6/stderr1250 === End of file commands.log === Start of file http_server.log 07:52:16.670438 ====> Client connect 07:52:16.670551 accept_connection 3 returned 4 07:52:16.670573 accept_connection 3 returned 0 07:52:16.670590 Read 93 bytes 07:52:16.670602 Process 93 bytes request 07:52:16.670617 Got request: GET /verifiedserver HTTP/1.1 07:52:16.670627 Are-we-friendly question received 07:52:16.670700 Wrote request (93 bytes) input to log/6/server.input 07:52:16.670722 Identifying ourselves as friends 07:52:16.670790 Response sent (56 bytes) and written to log/6/server.response 07:52:16.670802 special request received, no persistency 07:52:16.670813 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 48562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1250 ==144858== ==144858== Process terminating with default action of signal 4 (SIGILL) ==144858== Illegal opcode at address 0x4013DC0 ==144858== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144858== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144858== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144858== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1250 setenv http_proxy = http://127.0.0.1:35041 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/13/valgrind1255 ../src/curl -q --output log/13/curl1255.out --include --trace-ascii log/13/trace1255 --trace-time http://127.0.0.1:35041/1255 --noproxy 127.0.0.1 > log/13/stdout1255 2> log/13/stderr1255 1255: 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/ dir 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/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1255 ../src/curl -q --output log/13/curl1255.out --include --trace-ascii log/13/trace1255 --trace-time http://127.0.0.1:35041/1255 --noproxy 127.0.0.1 > log/13/stdout1255 2> log/13/stderr1255 === End of file commands.log === Start of file http_server.log 07:52:16.716797 ====> Client connect 07:52:16.716833 accept_connection 3 returned 4 07:52:16.716850 accept_connection 3 returned 0 07:52:16.716865 Read 93 bytes 07:52:16.716876 Process 93 bytes request 07:52:16.716890 Got request: GET /verifiedserver HTTP/1.1 07:52:16.716900 Are-we-friendly question received 07:52:16.716925 Wrote request (93 bytes) input to log/13/server.input 07:52:16.716942 Identifying ourselves as friends 07:52:16.716996 Response sent (56 bytes) and written to log/13/server.response 07:52:16.717007 special request received, no persistency 07:52:16.717017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 46142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1255 ==144975== ==144975== Process terminating with default action of signal 4 (SIGILL) ==144975== Illegal opcode at address 0x4013DC0 ==144975== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144975== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144975== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144975== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1255 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/22/valgrind1252 ../src/curl -q --output log/22/curl1252.out --include --trace-ascii log/22/trace1252 --trace-time http://127.0.0.1:40377/1252 --proxy http://127.0.0.1:40377 --noproxy 127.0.0.1 > log/22/stdout1252 2> log/22/stderr1252 1252: 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/ dir 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/22/valgrind1252 ../src/curl -q --output log/22/curl1252.out --include --trace-ascii log/22/trace1252 --trace-time http://127.0.0.1:40377/1252 --proxy http://127.0.0.1:40377 --noproxy 127.0.0.1 > log/22/stdout1252 2> log/22/stderr1252 === 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/5/valgrind1256 ../src/curl -q --output log/5/curl1256.out --include --trace-ascii log/5/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/5/stdout1256 2> log/5/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/20/valgrind1254 ../src/curl -q --output log/20/curl1254.out --include --trace-ascii log/20/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:40357 --noproxy "" > log/20/stdout1254 2> log/20/stderr1254 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/5/stdout1275 2> log/5/stderr1275 07:52:16.704215 ====> Client connect 07:52:16.704253 accept_connection 3 returned 4 07:52:16.704271 accept_connection 3 returned 0 07:52:16.704287 Read 93 bytes 07:52:16.704298 Process 93 bytes request 07:52:16.704313 Got request: GET /verifiedserver HTTP/1.1 07:52:16.704324 Are-we-friendly question received 07:52:16.704351 Wrote request (93 bytes) input to log/22/server.input 07:52:16.704369 Identifying ourselves as friends 07:52:16.704428 Response sent (56 bytes) and written to log/22/server.response 07:52:16.704439 special request received, no persistency 07:52:16.704449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 39748 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1252 ==144936== ==144936== Process terminating with default action of signal 4 (SIGILL) ==144936== Illegal opcode at address 0x4013DC0 ==144936== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144936== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144936== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144936== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1252 setenv http_proxy = http://127.0.0.1:42797 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/5/valgrind1256 ../src/curl -q --output log/5/curl1256.out --include --trace-ascii log/5/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/5/stdout1256 2> log/5/stderr1256 1256: 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/ dir 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/5/valgrind1256 ../src/curl -q --output log/5/curl1256.out --include --trace-ascii log/5/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/5/stdout1256 2> log/5/stderr1256 === End of file commands.log === Start of file http_server.log 07:52:16.789145 ====> Client connect 07:52:16.789195 accept_connection 3 returned 4 07:52:16.789215 accept_connection 3 returned 0 07:52:16.789378 Read 93 bytes 07:52:16.789393 Process 93 bytes request 07:52:16.789408 Got request: GET /verifiedserver HTTP/1.1 07:52:16.789419 Are-we-friendly question received 07:52:16.789451 Wrote request (93 bytes) input to log/5/server.input 07:52:16.789470 Identifying ourselves as friends 07:52:16.789527 Response sent (56 bytes) and written to log/5/server.response 07:52:16.789539 special request received, no persistency 07:52:16.789550 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 34194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1256 ==145183== ==145183== Process terminating with default action of signal 4 (SIGILL) ==145183== Illegal opcode at address 0x4013DC0 ==145183== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145183== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145183== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145183== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1256 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/20/valgrind1254 ../src/curl -q --output log/20/curl1254.out --include --trace-ascii log/20/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:40357 --noproxy "" > log/20/stdout1254 2> log/20/stderr1254 1254: 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/ dir 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/20/valgrind1254 ../src/curl -q --output log/20/curl1254.out --include --trace-ascii log/20/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:40357 --noproxy "" > log/20/stdout1254 2> log/20/stderr1254 === End of file commands.log === Start of file http_server.log 07:52:16.726129 ====> Client connect 07:52:16.726164 accept_connection 3 returned 4 07:52:16.726181 accept_connection 3 returned 0 07:52:16.726196 Read 93 bytes 07:52:16.726207 Process 93 bytes request 07:52:16.726219 Got request: GET /verifiedserver HTTP/1.1 07:52:16.726229 Are-we-friendly question received 07:52:16.726255 Wrote request (93 bytes) input to log/20/server.input 07:52:16.726274 Identifying ourselves as friends 07:52:16.726330 Response sent (56 bytes) and written to log/20/server.response 07:52:16.726341 special request received, no persistency 07:52:16.726351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 52808 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1254 ==144970== ==144970== Process terminating with default action of signal 4 (SIGILL) ==144970== Illegal opcode at address 0x4013DC0 ==144970== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144970== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144970== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144970== by 0x40037A4: main (tool_main.c:199) === 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/5/stdout1275 2> log/5/stderr1275 valgrind SKIPPED -------e--- OK (1211 out of 1746, remaining: 00:42, took 0.032sCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/6/stdout1276 2> log/6/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/6/stdout1279 2> log/6/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/21/valgrind1253 ../src/curl -q --output log/21/curl1253.out --include --trace-ascii log/21/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:45761 --noproxy 127.0.0.1 > log/21/stdout1253 2> log/21/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/3/valgrind1257 ../src/curl -q --output log/3/curl1257.out --include --trace-ascii log/3/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/3/stdout1257 2> log/3/stderr1257 CMD (33792): ../libtool --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:36147/we/want/1258 http://127.0.0.1:36147/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/17/valgrind1259 ../src/curl -q --output log/17/curl1259.out --include --trace-ascii log/17/trace1259 --trace-time "http://user:pass;word@127.0.0.1:42601/we/want/1259" > log/17/stdout1259 2> log/17/stderr1259 , duration: 01:36) 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/6/stdout1276 2> log/6/stderr1276 valgrind SKIPPED -------e--- OK (1212 out of 1746, remaining: 00:42, took 0.034s, duration: 01:36) 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/6/stdout1279 2> log/6/stderr1279 valgrind SKIPPED s------e--- OK (1215 out of 1746, remaining: 00:42, took 0.045s, duration: 01:37) 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/21/valgrind1253 ../src/curl -q --output log/21/curl1253.out --include --trace-ascii log/21/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:45761 --noproxy 127.0.0.1 > log/21/stdout1253 2> log/21/stderr1253 1253: 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/ dir 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/21/valgrind1253 ../src/curl -q --output log/21/curl1253.out --include --trace-ascii log/21/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:45761 --noproxy 127.0.0.1 > log/21/stdout1253 2> log/21/stderr1253 === End of file commands.log === Start of file http_server.log 07:52:16.718127 ====> Client connect 07:52:16.718164 accept_connection 3 returned 4 07:52:16.718183 accept_connection 3 returned 0 07:52:16.718199 Read 93 bytes 07:52:16.718210 Process 93 bytes request 07:52:16.718223 Got request: GET /verifiedserver HTTP/1.1 07:52:16.718233 Are-we-friendly question received 07:52:16.718259 Wrote request (93 bytes) input to log/21/server.input 07:52:16.718277 Identifying ourselves as friends 07:52:16.718340 Response sent (56 bytes) and written to log/21/server.response 07:52:16.718351 special request received, no persistency 07:52:16.718362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 53056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1253 ==144965== ==144965== Process terminating with default action of signal 4 (SIGILL) ==144965== Illegal opcode at address 0x4013DC0 ==144965== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144965== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144965== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144965== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1253 setenv http_proxy = http://127.0.0.1:34059 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/3/valgrind1257 ../src/curl -q --output log/3/curl1257.out --include --trace-ascii log/3/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/3/stdout1257 2> log/3/stderr1257 1257: 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/ dir 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/3/valgrind1257 ../src/curl -q --output log/3/curl1257.out --include --trace-ascii log/3/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/3/stdout1257 2> log/3/stderr1257 === End of file commands.log === Start of file http_server.log 07:52:17.847798 ====> Client connect 07:52:17.847836 accept_connection 3 returned 4 07:52:17.847855 accept_connection 3 returned 0 07:52:17.847872 Read 93 bytes 07:52:17.847884 Process 93 bytes request 07:52:17.847900 Got request: GET /verifiedserver HTTP/1.1 07:52:17.847910 Are-we-friendly question received 07:52:17.847939 Wrote request (93 bytes) input to log/3/server.input 07:52:17.847958 Identifying ourselves as friends 07:52:17.848020 Response sent (56 bytes) and written to log/3/server.response 07:52:17.848032 special request received, no persistency 07:52:17.848043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 37562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1257 ==145320== ==145320== Process terminating with default action of signal 4 (SIGILL) ==145320== Illegal opcode at address 0x4013DC0 ==145320== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145320== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145320== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145320== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1257 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:36147/we/want/1258 http://127.0.0.1:36147/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/ dir 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:36147/we/want/1258 http://127.0.0.1:36147/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 07:52:17.022060 ====> Client connect 07:52:17.022098 accept_connection 3 returned 4 07:52:17.022115 accept_connection 3 returned 0 07:52:17.022131 Read 93 bytes 07:52:17.022143 Process 93 bytes request 07:52:17.022157 Got request: GET /verifiedserver HTTP/1.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/4/valgrind1260 ../src/curl -q --output log/4/curl1260.out --include --trace-ascii log/4/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/4/stdout1260 2> log/4/stderr1260 CMD (33792): ../libtool --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/valgrind1242 ../src/curl -q --output log/16/curl1242.out --include --trace-ascii log/16/trace1242 --trace-time tftp://127.0.0.1:43437//1242 --tftp-no-options > log/16/stdout1242 2> log/16/stderr1242 07:52:17.022168 Are-we-friendly question received 07:52:17.022194 Wrote request (93 bytes) input to log/8/server.input 07:52:17.022212 Identifying ourselves as friends 07:52:17.022268 Response sent (56 bytes) and written to log/8/server.response 07:52:17.022279 special request received, no persistency 07:52:17.022289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 56464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1258 ==145402== ==145402== Process terminating with default action of signal 4 (SIGILL) ==145402== Illegal opcode at address 0x4013DC0 ==145402== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145402== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145402== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145402== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1258 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/17/valgrind1259 ../src/curl -q --output log/17/curl1259.out --include --trace-ascii log/17/trace1259 --trace-time "http://user:pass;word@127.0.0.1:42601/we/want/1259" > log/17/stdout1259 2> log/17/stderr1259 1259: 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/ dir 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/17/valgrind1259 ../src/curl -q --output log/17/curl1259.out --include --trace-ascii log/17/trace1259 --trace-time "http://user:pass;word@127.0.0.1:42601/we/want/1259" > log/17/stdout1259 2> log/17/stderr1259 === End of file commands.log === Start of file http_server.log 07:52:18.103142 ====> Client connect 07:52:18.103175 accept_connection 3 returned 4 07:52:18.103193 accept_connection 3 returned 0 07:52:18.103209 Read 93 bytes 07:52:18.103220 Process 93 bytes request 07:52:18.103233 Got request: GET /verifiedserver HTTP/1.1 07:52:18.103243 Are-we-friendly question received 07:52:18.103267 Wrote request (93 bytes) input to log/17/server.input 07:52:18.103285 Identifying ourselves as friends 07:52:18.103339 Response sent (56 bytes) and written to log/17/server.response 07:52:18.103350 special request received, no persistency 07:52:18.103360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 39838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1259 ==145462== ==145462== Process terminating with default action of signal 4 (SIGILL) ==145462== Illegal opcode at address 0x4013DC0 ==145462== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145462== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145462== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145462== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1259 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/4/valgrind1260 ../src/curl -q --output log/4/curl1260.out --include --trace-ascii log/4/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/4/stdout1260 2> log/4/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind1260 ../src/curl -q --output log/4/curl1260.out --include --trace-ascii log/4/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/4/stdout1260 2> log/4/stderr1260 === End of file commands.log === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==145455== ==145455== Process terminating with default action of signal 4 (SIGILL) ==145455== Illegal opcode at address 0x4013DC0 ==145455== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145455== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145455== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145455== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1260 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/16/server/tftp_server.pid" --portfile "log/16/server/tftp_server.port" --logfile "log/16/tftp_server.log" --logdir "log/16" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 144327 port 43437 * pid tftp => 144327 144327 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/16/valgrind1242 ../src/curl -q --output log/16/curl1242.out --include --trace-ascii log/16/trace1242 --trace-time tftp://127.0.0.1:43437//1242 --tftp-no-options > log/16/stdout1242 2> log/16/stderr1242 1242: 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/ dir 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/16/valgrind1242 ../src/curl -q --output log/16/curl1242.out --include --trace-ascii log/16/trace1242 --trace-time tftp://127.0.0.1:43437//1242 --tftp-no-options > log/16/stdout1242 2> log/16/stderr1242 === End of file commands.log === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 07:52:16.138144 Wrote pid 144327 to log/16/server/tftp_server.pid 07:52:16.138207 Wrote port 43437 to log/16/server/tftp_server.port 07:52:16.138222 Running IPv4 version on port UDP/43437 === End of file tftp_server.log === Start of file valgrind1242 ==145456== ==145456== Process terminating with default action of signal 4 (SIGILL) ==145456== Illegal opcode at address 0x4013DC0 ==145456== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145456== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145456== by 0x40037A4:CMD (33792): ../libtool --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/valgrind1261 ../src/curl -q --include --trace-ascii log/19/trace1261 --trace-time http://127.0.0.1:34835/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/19/stdout1261 2> log/19/stderr1261 CMD (33792): ../libtool --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/valgrind1262 ../src/curl -q --output log/24/curl1262.out --include --trace-ascii log/24/trace1262 --trace-time ftp://127.0.0.1:36707/blalbla/1262 -z "-1 jan 2001" > log/24/stdout1262 2> log/24/stderr1262 UnknownInlinedFun (tool_operate.c:2234) ==145456== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1242 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/24/valgrind1262 ../src/curl -q --output log/24/curl1262.out --include --trace-ascii log/24/trace1262 --trace-time ftp://127.0.0.1:36707/blalbla/1262 -z "-1 jan 2001" > log/24/stdout1262 2> log/24/stderr1262 1262: 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/ dir 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/24/valgrind1262 ../src/curl -q --output log/24/curl1262.out --include --trace-ascii log/24/trace1262 --trace-time ftp://127.0.0.1:36707/blalbla/1262 -z "-1 jan 2001" > log/24/stdout1262 2> log/24/stderr1262 === End of file commands.log === Start of file ftp_server.log 07:52:17.429734 ====> Client connect 07:52:17.429892 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:17.430216 < "USER anonymous" 07:52:17.430261 > "331 We are happy you popped in![CR][LF]" 07:52:17.430440 < "PASS ftp@example.com" 07:52:17.430471 > "230 Welcome you silly person[CR][LF]" 07:52:17.430625 < "PWD" 07:52:17.430652 > "257 "/" is current directory[CR][LF]" 07:52:17.430812 < "EPSV" 07:52:17.430836 ====> Passive DATA channel requested by client 07:52:17.430849 DATA sockfilt for passive data channel starting... 07:52:17.436026 DATA sockfilt for passive data channel started (pid 145641) 07:52:17.436166 DATA sockfilt for passive data channel listens on port 36681 07:52:17.436214 > "229 Entering Passive Mode (|||36681|)[CR][LF]" 07:52:17.436232 Client has been notified that DATA conn will be accepted on port 36681 07:52:17.436528 Client connects to port 36681 07:52:17.436563 ====> Client established passive DATA connection on port 36681 07:52:17.436658 < "TYPE I" 07:52:17.436690 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:17.436860 < "SIZE verifiedserver" 07:52:17.436898 > "213 17[CR][LF]" 07:52:17.437046 < "RETR verifiedserver" 07:52:17.437081 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:17.437169 =====> Closing passive DATA connection... 07:52:17.437185 Server disconnects passive DATA connection 07:52:17.437438 Server disconnected passive DATA connection 07:52:17.437465 DATA sockfilt for passive data channel quits (pid 145641) 07:52:17.438423 DATA sockfilt for passive data channel quit (pid 145641) 07:52:17.438452 =====> Closed passive DATA connection 07:52:17.438483 > "226 File transfer complete[CR][LF]" 07:52:17.482346 < "QUIT" 07:52:17.482406 > "221 bye bye baby[CR][LF]" 07:52:17.488939 MAIN sockfilt said DISC 07:52:17.488997 ====> Client disconnected 07:52:17.489081 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:17.257562 ====> Client connect 07:52:17.257849 Received DATA (on stdin) 07:52:17.257865 > 160 bytes data, server => client 07:52:17.257878 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:17.257889 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:17.257900 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:17.258001 < 16 bytes data, client => server 07:52:17.258015 'USER anonymous\r\n' 07:52:17.258206 Received DATA (on stdin) 07:52:17.258219 > 33 bytes data, server => client 07:52:17.258230 '331 We are happy you popped in!\r\n' 07:52:17.258285 < 22 bytes data, client => server 07:52:17.258296 'PASS ftp@example.com\r\n' 07:52:17.258411 Received DATA (on stdin) 07:52:17.258423 > 30 bytes data, server => client 07:52:17.258434 '230 Welcome you silly person\r\n' 07:52:17.258483 < 5 bytes data, client => server 07:52:17.258494 'PWD\r\n' 07:52:17.258592 Received DATA (on stdin) 07:52:17.258604 > 30 bytes data, server => client 07:52:17.258615 '257 "/" is current directory\r\n' 07:52:17.258673 < 6 bytes data, client => server 07:52:17.258685 'EPSV\r\n' 07:52:17.264184 Received DATA (on stdin) 07:52:17.264202 > 39 bytes data, server => client 07:52:17.264214 '229 Entering Passive Mode (|||36681|)\r\n' 07:52:17.264379 < 8 bytes data, client => server 07:52:17.264398 'TYPE I\r\n' 07:52:17.264634 Received DATA (on stdin) 07:52:17.264649 > 33 bytes data, server => client 07:52:17.264661 '200 I modify TYPE as you wanted\r\n' 07:52:17.264716 < 21 bytes data, client => server 07:52:17.264728 'SIZE verifiedserver\r\n' 07:52:17.264838 Received DATA (on stdin) 07:52:17.264850 > 8 bytes data, server => client 07:52:17.264862 '213 17\r\n' 07:52:17.264908 < 21 bytes data, client => server 07:52:17.264920 'RETR verifiedserver\r\n' 07:52:17.265129 Received DATA (on stdin) 07:52:17.265141 > 29 bytes data, server => client 07:52:17.265152 '150 Binary junk (17 bytes).\r\n' 07:52:17.266429 Received DATA (on stdin) 07:52:17.266443 > 28 bytes data, server => client 07:52:17.266455 '226 File transfer complete\r\n' 07:52:17.310072 < 6 bytes data, client => server 07:52:17.310107 'QUIT\r\n' 07:52:17.315850 Received DATA (on stdin) 07:52:17.315873 > 18 bytes data, server => client 07:52:17.315885 '221 bye bye baby\r\n' 07:52:17.316799 ====> Client disconnect 07:52:17.317027 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:17.260888 Running IPv4 version 07:52:17.260973 Listening on port 36681 07:52:17.261010 Wrote pid 145641 to log/24/server/ftp_sockdata.pid 07:52:17.263896 Received PING (on stdin) 07:52:17.264004 Received PORT (on stdin) 07:52:17.264420 ====> Client connect 07:52:17.265207 Received DATA (on stdin) 07:52:17.265222 > 17 bytes data, server => client 07:52:17.265233 'WE ROOLZ: 83461\r\n' 07:52:17.265259 Received DISC (on stdin) 07:52:17.265271 ====> Client forcibly disconnected 07:52:17.265801 Received QUIT (on stdin) 07:52:17.265818 quits 07:52:17.265886 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==145707== ==145707== Process terminating with default action of signal 4 (SIGILL) ==145707== Illegal opcode at address 0x4013DC0 ==145707== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145707== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145707== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145707== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1262 CMD (33792): ../libtool --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/valgrind1230 ../src/curl -q --output log/15/curl1230.out --include --trace-ascii log/15/trace1230 --trace-time http://[1234:1234:1234::4ce]:43789/wanted/page/1230 -p -x 127.0.0.1:43789 > log/15/stdout1230 2> log/15/stderr1230 CMD (33792): ../libtool --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/valgrind1263 ../src/curl -q --output log/2/curl1263.out --include --trace-ascii log/2/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/2/stdout1263 2> log/2/stderr1263 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/19/valgrind1261 ../src/curl -q --include --trace-ascii log/19/trace1261 --trace-time http://127.0.0.1:34835/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/19/stdout1261 2> log/19/stderr1261 1261: stdout FAILED: --- log/19/check-expected 2025-11-07 07:52:18.760707456 +0000 +++ log/19/check-generated 2025-11-07 07:52:18.760707456 +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:34835/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/19/ dir 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:34835/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/19/valgrind1261 ../src/curl -q --include --trace-ascii log/19/trace1261 --trace-time http://127.0.0.1:34835/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/19/stdout1261 2> log/19/stderr1261 === End of file commands.log === Start of file http_server.log 07:52:17.233167 ====> Client connect 07:52:17.233211 accept_connection 3 returned 4 07:52:17.233229 accept_connection 3 returned 0 07:52:17.233244 Read 93 bytes 07:52:17.233255 Process 93 bytes request 07:52:17.233270 Got request: GET /verifiedserver HTTP/1.1 07:52:17.233281 Are-we-friendly question received 07:52:17.233304 Wrote request (93 bytes) input to log/19/server.input 07:52:17.233321 Identifying ourselves as friends 07:52:17.233373 Response sent (56 bytes) and written to log/19/server.response 07:52:17.233384 special request received, no persistency 07:52:17.233394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1261 ==145628== ==145628== Process terminating with default action of signal 4 (SIGILL) ==145628== Illegal opcode at address 0x4013DC0 ==145628== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145628== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145628== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145628== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1261 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 143374 port 39495 * pid http-proxy => 143374 143374 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_ipv6_server.pid" --logfile "log/15/http_ipv6_server.log" --logdir "log/15" --portfile log/15/server/http_ipv6_server.port --config log/15/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 144413 port 35713 * pid http-ipv6 => 144413 144413 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/15/valgrind1230 ../src/curl -q --output log/15/curl1230.out --include --trace-ascii log/15/trace1230 --trace-time http://[1234:1234:1234::4ce]:43789/wanted/page/1230 -p -x 127.0.0.1:43789 > log/15/stdout1230 2> log/15/stderr1230 1230: 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/ dir 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/15/valgrind1230 ../src/curl -q --output log/15/curl1230.out --include --trace-ascii log/15/trace1230 --trace-time http://[1234:1234:1234::4ce]:43789/wanted/page/1230 -p -x 127.0.0.1:43789 > log/15/stdout1230 2> log/15/stderr1230 === End of file commands.log === Start of file http2_server.log 07:52:15.261182 Run as proxy, CONNECT to host 127.0.0.1 07:52:15.261334 Running HTTP IPv4 version on port 39495 07:52:15.261390 Wrote pid 143374 to log/15/server/http2_server.pid 07:52:15.261423 Wrote port 39495 to log/15/server/http2_server.port === End of file http2_server.log === Start of file http_ipv6_server.log 07:52:16.293226 Running HTTP IPv6 version on port 35713 07:52:16.293324 Wrote pid 144413 to log/15/server/http_ipv6_server.pid 07:52:16.293380 Wrote port 35713 to log/15/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 07:52:17.273170 ====> Client connect 07:52:17.273203 accept_connection 3 returned 4 07:52:17.273220 accept_connection 3 returned 0 07:52:17.273235 Read 93 bytes 07:52:17.273245 Process 93 bytes request 07:52:17.273259 Got request: GET /verifiedserver HTTP/1.1 07:52:17.273269 Are-we-friendly question received 07:52:17.273295 Wrote request (93 bytes) input to log/15/server.input 07:52:17.273312 Identifying ourselves as friends 07:52:17.273367 Response sent (56 bytes) and written to log/15/server.response 07:52:17.273378 special request received, no persistency 07:52:17.273388 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 36146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === End of file http_verify.out === 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: 74402 === End of file server.response === Start of file valgrind1230 ==145683== ==145683== Process terminating with default action of signal 4 (SIGILL) ==145683== Illegal opcode at address 0x4013DC0 ==145683== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145683== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145683== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145683== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1230 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=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/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/18/valgrind1266 ../src/curl -q --output log/18/curl1266.out --include --trace-ascii log/18/trace1266 --trace-time http://127.0.0.1:46763/1266 --http0.9 > log/18/stdout1266 2> log/18/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/1/valgrind1267 ../src/curl -q --output log/1/curl1267.out --include --trace-ascii log/1/trace1267 --trace-time http://127.0.0.1:35709/1267 --http0.9 > log/1/stdout1267 2> log/1/stderr1267 /2/valgrind1263 ../src/curl -q --output log/2/curl1263.out --include --trace-ascii log/2/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/2/stdout1263 2> log/2/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/2/ dir 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/2/valgrind1263 ../src/curl -q --output log/2/curl1263.out --include --trace-ascii log/2/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/2/stdout1263 2> log/2/stderr1263 === End of file commands.log === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==145732== ==145732== Process terminating with default action of signal 4 (SIGILL) ==145732== Illegal opcode at address 0x4013DC0 ==145732== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145732== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145732== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145732== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1263 test 1264...[HTTP URL with space in host 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/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/ dir 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 ==145864== ==145864== Process terminating with default action of signal 4 (SIGILL) ==145864== Illegal opcode at address 0x4013DC0 ==145864== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145864== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145864== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145864== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1264 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/18/valgrind1266 ../src/curl -q --output log/18/curl1266.out --include --trace-ascii log/18/trace1266 --trace-time http://127.0.0.1:46763/1266 --http0.9 > log/18/stdout1266 2> log/18/stderr1266 1266: 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/ dir 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/18/valgrind1266 ../src/curl -q --output log/18/curl1266.out --include --trace-ascii log/18/trace1266 --trace-time http://127.0.0.1:46763/1266 --http0.9 > log/18/stdout1266 2> log/18/stderr1266 === End of file commands.log === Start of file http_server.log 07:52:18.721788 ====> Client connect 07:52:18.721827 accept_connection 3 returned 4 07:52:18.721846 accept_connection 3 returned 0 07:52:18.721863 Read 93 bytes 07:52:18.721875 Process 93 bytes request 07:52:18.721890 Got request: GET /verifiedserver HTTP/1.1 07:52:18.721901 Are-we-friendly question received 07:52:18.721930 Wrote request (93 bytes) input to log/18/server.input 07:52:18.721949 Identifying ourselves as friends 07:52:18.722010 Response sent (56 bytes) and written to log/18/server.response 07:52:18.722022 special request received, no persistency 07:52:18.722032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 56662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1266 ==146013== ==146013== Process terminating with default action of signal 4 (SIGILL) ==146013== Illegal opcode at address 0x4013DC0 ==146013== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146013== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146013== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146013== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1266 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/1/valgrind1267 ../src/curl -q --output log/1/curl1267.out --include --trace-ascii log/1/trace1267 --trace-time http://127.0.0.1:35709/1267 --http0.9 > log/1/stdout1267 2> log/1/stderr1267 1267: 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/ dir 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/1/valgrind1267 ../src/curl -q --output log/1/curl1267.out --include --trace-ascii log/1/trace1267 --trace-time http://127.0.0.1:35709/1267 --http0.9 > log/1/stdout1267 2> log/1/stderr1267 === End of file commands.log === Start of file http_server.log 07:52:17.705405 ====> Client connect 07:52:17.705445 accept_connection 3 returned 4 07:52:17.705465 accept_connection 3 returned 0 07:52:17.705482 Read 93 bytes 07:52:17.705494 Process 93 bytes request 07:52:17.705508 Got request: GET /verifiedserver HTTP/1.1 07:52:17.705518 Are-we-friendly question received 07:52:17.705547 Wrote request (93 bytes) input to log/1/server.input 07:52:17.705566 Identifying ourselves as friends 07:52:17.705630 Response sent (56 bytes) and written to log/1/server.response 07:52:17.705642 special request received, no persistency 07:52:17.705652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 35522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1267 === End of file server.cmd === Start of file server.response 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/14/valgrind1268 ../src/curl -q --output log/14/curl1268.out --include --trace-ascii log/14/trace1268 --trace-time --stderr log/14/moo1268 --unix-socket -q hej://moo > log/14/stdout1268 2> log/14/stderr1268 P/1.1 200 OK Content-Length: 17 WE ROOLZ: 74928 === End of file server.response === Start of file valgrind1267 ==146004== ==146004== Process terminating with default action of signal 4 (SIGILL) ==146004== Illegal opcode at address 0x4013DC0 ==146004== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146004== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146004== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146004== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1267 CMD (33792): ../libtool --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/valgrind1269 ../src/curl -q --output log/10/curl1269.out --include --trace-ascii log/10/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/10/stdout1269 2> log/10/stderr1269 CMD (33792): ../libtool --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/valgrind1271 ../src/curl -q --output log/11/curl1271.out --include --trace-ascii log/11/trace1271 --trace-time http://127.0.0.1:38169/we/want/our/1271 -w @log/11/blank1271 > log/11/stdout1271 2> log/11/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/12/valgrind1270 ../src/curl -q --include --trace-ascii log/12/trace1270 --trace-time http://127.0.0.1:38023/we/want/our/1270 -w '%{redirect_url}\n' -s > log/12/stdout1270 2> log/12/stderr1270 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/14/valgrind1268 ../src/curl -q --output log/14/curl1268.out --include --trace-ascii log/14/trace1268 --trace-time --stderr log/14/moo1268 --unix-socket -q hej://moo > log/14/stdout1268 2> log/14/stderr1268 1268: output (log/14/moo1268) FAILED: --- log/14/check-expected 2025-11-07 07:52:19.210707461 +0000 +++ log/14/check-generated 2025-11-07 07:52:19.210707461 +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/14/ dir 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/14/valgrind1268 ../src/curl -q --output log/14/curl1268.out --include --trace-ascii log/14/trace1268 --trace-time --stderr log/14/moo1268 --unix-socket -q hej://moo > log/14/stdout1268 2> log/14/stderr1268 === End of file commands.log === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==145964== ==145964== Process terminating with default action of signal 4 (SIGILL) ==145964== Illegal opcode at address 0x4013DC0 ==145964== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==145964== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145964== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==145964== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1268 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/10/valgrind1269 ../src/curl -q --output log/10/curl1269.out --include --trace-ascii log/10/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/10/stdout1269 2> log/10/stderr1269 curl returned 132, when expecting 2 1269: exit FAILED == Contents of files in the log/10/ dir 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/10/valgrind1269 ../src/curl -q --output log/10/curl1269.out --include --trace-ascii log/10/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/10/stdout1269 2> log/10/stderr1269 === End of file commands.log === Start of file server.cmd Testnum 1269 === End of file server.cmd === Start of file valgrind1269 ==146121== ==146121== Process terminating with default action of signal 4 (SIGILL) ==146121== Illegal opcode at address 0x4013DC0 ==146121== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146121== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146121== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146121== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1269 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/11/valgrind1271 ../src/curl -q --output log/11/curl1271.out --include --trace-ascii log/11/trace1271 --trace-time http://127.0.0.1:38169/we/want/our/1271 -w @log/11/blank1271 > log/11/stdout1271 2> log/11/stderr1271 1271: 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/ dir 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/11/valgrind1271 ../src/curl -q --output log/11/curl1271.out --include --trace-ascii log/11/trace1271 --trace-time http://127.0.0.1:38169/we/want/our/1271 -w @log/11/blank1271 > log/11/stdout1271 2> log/11/stderr1271 === End of file commands.log === Start of file http_server.log 07:52:18.059368 ====> Client connect 07:52:18.059407 accept_connection 3 returned 4 07:52:18.059426 accept_connection 3 returned 0 07:52:18.059443 Read 93 bytes 07:52:18.059455 Process 93 bytes request 07:52:18.059469 Got request: GET /verifiedserver HTTP/1.1 07:52:18.059480 Are-we-friendly question received 07:52:18.059507 Wrote request (93 bytes) input to log/11/server.input 07:52:18.059525 Identifying ourselves as friends 07:52:18.059589 Response sent (56 bytes) and written to log/11/server.response 07:52:18.059603 special request received, no persistency 07:52:18.059614 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1271 ==146259== ==146259== Process terminating with default action of signal 4 (SIGILL) ==146259== Illegal opcode at address 0x4013DC0 ==146259== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146259== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146259== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146259== by 0x40037A4: main (tool_main.c:199) === 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/22/valgrind1274 ../src/curl -q --output log/22/curl1274.out --include --trace-ascii log/22/trace1274 --trace-time http://127.0.0.1:40377/1274 -D log/22/out1274 > log/22/stdout1274 2> log/22/stderr1274 CMD (33792): ../libtool --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/valgrind1278 ../src/curl -q --include --trace-ascii log/5/trace1278 --trace-time http://127.0.0.1:42797/1278 --no-progress-meter -o log/5/out1278 --no-remote-name -w '%{stderr}yes\n' > log/5/stdout1278 2> log/5/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/12/valgrind1270 ../src/curl -q --include --trace-ascii log/12/trace1270 --trace-time http://127.0.0.1:38023/we/want/our/1270 -w '%{redirect_url}\n' -s > log/12/stdout1270 2> log/12/stderr1270 1270: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:19.597374131 +0000 +++ log/12/check-generated 2025-11-07 07:52:19.597374131 +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/12/ dir 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/12/valgrind1270 ../src/curl -q --include --trace-ascii log/12/trace1270 --trace-time http://127.0.0.1:38023/we/want/our/1270 -w '%{redirect_url}\n' -s > log/12/stdout1270 2> log/12/stderr1270 === End of file commands.log === Start of file http_server.log 07:52:18.051034 ====> Client connect 07:52:18.051071 accept_connection 3 returned 4 07:52:18.051089 accept_connection 3 returned 0 07:52:18.051105 Read 93 bytes 07:52:18.051116 Process 93 bytes request 07:52:18.051130 Got request: GET /verifiedserver HTTP/1.1 07:52:18.051141 Are-we-friendly question received 07:52:18.051168 Wrote request (93 bytes) input to log/12/server.input 07:52:18.051185 Identifying ourselves as friends 07:52:18.051244 Response sent (56 bytes) and written to log/12/server.response 07:52:18.051255 special request received, no persistency 07:52:18.051265 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1270 ==146261== ==146261== Process terminating with default action of signal 4 (SIGILL) ==146261== Illegal opcode at address 0x4013DC0 ==146261== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146261== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146261== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146261== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1270 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/22/valgrind1274 ../src/curl -q --output log/22/curl1274.out --include --trace-ascii log/22/trace1274 --trace-time http://127.0.0.1:40377/1274 -D log/22/out1274 > log/22/stdout1274 2> log/22/stderr1274 1274: 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/ dir 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/22/valgrind1274 ../src/curl -q --output log/22/curl1274.out --include --trace-ascii log/22/trace1274 --trace-time http://127.0.0.1:40377/1274 -D log/22/out1274 > log/22/stdout1274 2> log/22/stderr1274 === End of file commands.log === Start of file http_server.log 07:52:18.100170 ====> Client connect 07:52:18.100202 accept_connection 3 returned 4 07:52:18.100219 accept_connection 3 returned 0 07:52:18.100234 Read 93 bytes 07:52:18.100245 Process 93 bytes request 07:52:18.100257 Got request: GET /verifiedserver HTTP/1.1 07:52:18.100267 Are-we-friendly question received 07:52:18.100292 Wrote request (93 bytes) input to log/22/server.input 07:52:18.100310 Identifying ourselves as friends 07:52:18.100363 Response sent (56 bytes) and written to log/22/server.response 07:52:18.100373 special request received, no persistency 07:52:18.100382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 39754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1274 ==146360== ==146360== Process terminating with default action of signal 4 (SIGILL) ==146360== Illegal opcode at address 0x4013DC0 ==146360== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146360== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146360== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146360== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1274 CMD (33792): ../libtool --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/valgrind1273 ../src/curl -q --output log/13/curl1273.out --include --trace-ascii log/13/trace1273 --trace-time http://127.0.0.1:35041/1273 -C - -f > log/13/stdout1273 2> log/13/stderr1273 RUN: Process with pid 74452 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/20/valgrind1277 ../src/curl -q --output log/20/curl1277.out --include --trace-ascii log/20/trace1277 --trace-time http://127.0.0.1:40357/1277 --tr-encoding --compressed > log/20/stdout1277 2> log/20/stderr1277 CMD (33792): ../libtool --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/valgrind1281 ../src/curl -q --output log/21/curl1281.out --include --trace-ascii log/21/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/21/stdout1281 2> log/21/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/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-time http://127.0.0.1:45933/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 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/5/valgrind1278 ../src/curl -q --include --trace-ascii log/5/trace1278 --trace-time http://127.0.0.1:42797/1278 --no-progress-meter -o log/5/out1278 --no-remote-name -w '%{stderr}yes\n' > log/5/stdout1278 2> log/5/stderr1278 1278: stderr FAILED: --- log/5/check-expected 2025-11-07 07:52:19.650707465 +0000 +++ log/5/check-generated 2025-11-07 07:52:19.650707465 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/5/ dir 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/5/valgrind1278 ../src/curl -q --include --trace-ascii log/5/trace1278 --trace-time http://127.0.0.1:42797/1278 --no-progress-meter -o log/5/out1278 --no-remote-name -w '%{stderr}yes\n' > log/5/stdout1278 2> log/5/stderr1278 === End of file commands.log === Start of file http_server.log 07:52:18.143585 ====> Client connect 07:52:18.143620 accept_connection 3 returned 4 07:52:18.143638 accept_connection 3 returned 0 07:52:18.143654 Read 93 bytes 07:52:18.143666 Process 93 bytes request 07:52:18.143682 Got request: GET /verifiedserver HTTP/1.1 07:52:18.143692 Are-we-friendly question received 07:52:18.143721 Wrote request (93 bytes) input to log/5/server.input 07:52:18.143740 Identifying ourselves as friends 07:52:18.143800 Response sent (56 bytes) and written to log/5/server.response 07:52:18.143813 special request received, no persistency 07:52:18.143823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 34210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1278 ==146382== ==146382== Process terminating with default action of signal 4 (SIGILL) ==146382== Illegal opcode at address 0x4013DC0 ==146382== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146382== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146382== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146382== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1278 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/20/valgrind1277 ../src/curl -q --output log/20/curl1277.out --include --trace-ascii log/20/trace1277 --trace-time http://127.0.0.1:40357/1277 --tr-encoding --compressed > log/20/stdout1277 2> log/20/stderr1277 1277: 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/ dir 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/20/valgrind1277 ../src/curl -q --output log/20/curl1277.out --include --trace-ascii log/20/trace1277 --trace-time http://127.0.0.1:40357/1277 --tr-encoding --compressed > log/20/stdout1277 2> log/20/stderr1277 === End of file commands.log === Start of file http_server.log 07:52:18.123621 ====> Client connect 07:52:18.123657 accept_connection 3 returned 4 07:52:18.123674 accept_connection 3 returned 0 07:52:18.123690 Read 93 bytes 07:52:18.123700 Process 93 bytes request 07:52:18.123715 Got request: GET /verifiedserver HTTP/1.1 07:52:18.123725 Are-we-friendly question received 07:52:18.123752 Wrote request (93 bytes) input to log/20/server.input 07:52:18.123769 Identifying ourselves as friends 07:52:18.123828 Response sent (56 bytes) and written to log/20/server.response 07:52:18.123839 special request received, no persistency 07:52:18.123849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 52816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1277 ==146402== ==146402== Process terminating with default action of signal 4 (SIGILL) ==146402== Illegal opcode at address 0x4013DC0 ==146402== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146402== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146402== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146402== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1277 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/21/valgrind1281 ../src/curl -q --output log/21/curl1281.out --include --trace-ascii log/21/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/21/stdout1281 2> log/21/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind1281 ../src/curl -q --output log/21/curl1281.out --include --trace-ascii log/21/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/21/stdout1281 2> log/21/stderr1281 === End of file commands.log === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==146380== ==146380== Process terminating with default action of signal 4 (SIGILL) ==146380== Illegal opcode at address 0x4013DC0 ==146380== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146380== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146380== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146380== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1281 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/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-time http://127.0.0.1:45933/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 1280: 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/ dir after test 1280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/sRUN: Process with pid 74452 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/3/valgrind1282 ../src/curl -q --output log/3/curl1282.out --include --trace-ascii log/3/trace1282 --trace-time ftp://127.0.0.1:41643/1282 > log/3/stdout1282 2> log/3/stderr1282 tartdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-time http://127.0.0.1:45933/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 === End of file commands.log === Start of file http_server.log 07:52:18.195904 ====> Client connect 07:52:18.195946 accept_connection 3 returned 4 07:52:18.195969 accept_connection 3 returned 0 07:52:18.195989 Read 93 bytes 07:52:18.196001 Process 93 bytes request 07:52:18.196017 Got request: GET /verifiedserver HTTP/1.1 07:52:18.196028 Are-we-friendly question received 07:52:18.196056 Wrote request (93 bytes) input to log/6/server.input 07:52:18.196074 Identifying ourselves as friends 07:52:18.196161 Response sent (56 bytes) and written to log/6/server.response 07:52:18.196173 special request received, no persistency 07:52:18.196184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 48572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1280 ==146549== ==146549== Process terminating with default action of signal 4 (SIGILL) ==146549== Illegal opcode at address 0x4013DC0 ==146549== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146549== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146549== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146549== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1280 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/13/valgrind1273 ../src/curl -q --output log/13/curl1273.out --include --trace-ascii log/13/trace1273 --trace-time http://127.0.0.1:35041/1273 -C - -f > log/13/stdout1273 2> log/13/stderr1273 1273: 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/ dir 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/13/valgrind1273 ../src/curl -q --output log/13/curl1273.out --include --trace-ascii log/13/trace1273 --trace-time http://127.0.0.1:35041/1273 -C - -f > log/13/stdout1273 2> log/13/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 07:52:18.086371 ====> Client connect 07:52:18.086406 accept_connection 3 returned 4 07:52:18.086422 accept_connection 3 returned 0 07:52:18.086437 Read 93 bytes 07:52:18.086447 Process 93 bytes request 07:52:18.086461 Got request: GET /verifiedserver HTTP/1.1 07:52:18.086470 Are-we-friendly question received 07:52:18.086493 Wrote request (93 bytes) input to log/13/server.input 07:52:18.086510 Identifying ourselves as friends 07:52:18.086563 Response sent (56 bytes) and written to log/13/server.response 07:52:18.086574 special request received, no persistency 07:52:18.086583 ====> Client disconnect 0 exit_signal_handler: called 07:52:19.488928 signalled to die 07:52:19.489042 ========> IPv4 sws (port 35041 pid: 74452) exits with signal (15) 07:52:19.489070 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35041... * Established connection to 127.0.0.1 (127.0.0.1 port 35041) from 127.0.0.1 port 46158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74452 === 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: 74452 === End of file server.response === Start of file valgrind1273 ==146330== ==146330== Process terminating with default action of signal 4 (SIGILL) ==146330== Illegal opcode at address 0x4013DC0 ==146330== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146330== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146330== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146330== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1273 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/3/valgrind1282 ../src/curl -q --output log/3/curl1282.out --include --trace-ascii log/3/trace1282 --trace-time ftp://127.0.0.1:41643/1282 > log/3/stdout1282 2> log/3/stderr1282 1282: 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/ dir 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/3/valgrind1282 ../src/curl -q --output log/3/curl1282.out --include --trace-ascii log/3/trace1282 --trace-time ftp://127.0.0.1:41643/1282 > log/3/stdout1282 2> log/3/stderr1282 === End of file commands.log === Start of file ftp_server.log 07:52:18.448826 ====> Client connect 07:52:18.449015 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:18.450082 < "USER anonymous" 07:52:18.450125 > "331 We are happy you popped in![CR][LF]" 07:52:18.450313 < "PASS ftp@example.com" 07:52:18.450342 > "230 Welcome you silly person[CR][LF]" 07:52:18.450501 < "PWD" 07:52:18.450533 > "257 "/" is current directory[CR][LF]" 07:52:18.450706 < "EPSV" 07:52:18.450732 ====> Passive DATA channel requested by client 07:52:18.450746 DATA sockfilt for passive data channel starting... 07:52:18.466691 DATA sockfilt for passive data channel started (pid 146689) 07:52:18.467478 DATA sockfilt for passive data channel listens on port 38619 07:52:18.467534 > "229 Entering Passive Mode (|||38619|)[CR][LF]" 07:52:18.467557 Client has been notified that DATA conn will be accepted on port 38619 07:52:18.467861 Client connects to port 38619 07:52:18.467892 ====> Client established passive DATA connection on port 38619 07:52:18.467999 < "TYPE I" 07:52:18.468035 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:18.468200 < "SIZE verifiedserver" 07:52:18.468242 > "213 17[CR][LF]" 07:52:18.468601 < "RETR verifiedserver" 07:52:18.468635 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:18.468715 =====> Closing passive DATA connection... 07:52:18.468731 Server disconnects passive DATA connection 07:52:18.468887 Server disconnected passive DATA connection 07:52:18.468910 DATA sockfilt for passive data channel quits (pid 146689) 07:52:18.469112 DATA sockfilt for passive data channel quit (pid 146689) 07:52:18.469134 =====> Closed passivCMD (33792): ../libtool --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/valgrind1283 ../src/curl -q --include --trace-ascii log/17/trace1283 --trace-time http://127.0.0.1:42601/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/17/outfile1283_#1#2#3#4.dump" > log/17/stdout1283 2> log/17/stderr1283 CMD (33792): ../libtool --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/valgrind1285 ../src/curl -q --output log/4/curl1285.out --include --trace-ascii log/4/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/4/put1285 http://127.0.0.1:43573/1285 > log/4/stdout1285 2> log/4/stderr1285 e DATA connection 07:52:18.469159 > "226 File transfer complete[CR][LF]" 07:52:18.514176 < "QUIT" 07:52:18.514231 > "221 bye bye baby[CR][LF]" 07:52:18.515506 MAIN sockfilt said DISC 07:52:18.515553 ====> Client disconnected 07:52:18.515629 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:18.276630 ====> Client connect 07:52:18.276978 Received DATA (on stdin) 07:52:18.276996 > 160 bytes data, server => client 07:52:18.277010 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:18.277021 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:18.277033 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:18.277843 < 16 bytes data, client => server 07:52:18.277867 'USER anonymous\r\n' 07:52:18.278070 Received DATA (on stdin) 07:52:18.278084 > 33 bytes data, server => client 07:52:18.278096 '331 We are happy you popped in!\r\n' 07:52:18.278155 < 22 bytes data, client => server 07:52:18.278168 'PASS ftp@example.com\r\n' 07:52:18.278284 Received DATA (on stdin) 07:52:18.278296 > 30 bytes data, server => client 07:52:18.278308 '230 Welcome you silly person\r\n' 07:52:18.278356 < 5 bytes data, client => server 07:52:18.278368 'PWD\r\n' 07:52:18.278473 Received DATA (on stdin) 07:52:18.278486 > 30 bytes data, server => client 07:52:18.278497 '257 "/" is current directory\r\n' 07:52:18.278557 < 6 bytes data, client => server 07:52:18.278570 'EPSV\r\n' 07:52:18.295513 Received DATA (on stdin) 07:52:18.295532 > 39 bytes data, server => client 07:52:18.295544 '229 Entering Passive Mode (|||38619|)\r\n' 07:52:18.295719 < 8 bytes data, client => server 07:52:18.295736 'TYPE I\r\n' 07:52:18.295979 Received DATA (on stdin) 07:52:18.295992 > 33 bytes data, server => client 07:52:18.296003 '200 I modify TYPE as you wanted\r\n' 07:52:18.296057 < 21 bytes data, client => server 07:52:18.296069 'SIZE verifiedserver\r\n' 07:52:18.296182 Received DATA (on stdin) 07:52:18.296195 > 8 bytes data, server => client 07:52:18.296206 '213 17\r\n' 07:52:18.296453 < 21 bytes data, client => server 07:52:18.296469 'RETR verifiedserver\r\n' 07:52:18.296675 Received DATA (on stdin) 07:52:18.296687 > 29 bytes data, server => client 07:52:18.296698 '150 Binary junk (17 bytes).\r\n' 07:52:18.297099 Received DATA (on stdin) 07:52:18.297113 > 28 bytes data, server => client 07:52:18.297124 '226 File transfer complete\r\n' 07:52:18.341944 < 6 bytes data, client => server 07:52:18.341970 'QUIT\r\n' 07:52:18.342179 Received DATA (on stdin) 07:52:18.342195 > 18 bytes data, server => client 07:52:18.342208 '221 bye bye baby\r\n' 07:52:18.343235 ====> Client disconnect 07:52:18.343573 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:18.293951 Running IPv4 version 07:52:18.294074 Listening on port 38619 07:52:18.294110 Wrote pid 146689 to log/3/server/ftp_sockdata.pid 07:52:18.294567 Received PING (on stdin) 07:52:18.295306 Received PORT (on stdin) 07:52:18.295757 ====> Client connect 07:52:18.296722 Received DATA (on stdin) 07:52:18.296736 > 17 bytes data, server => client 07:52:18.296747 'WE ROOLZ: 80340\r\n' 07:52:18.296768 Received DISC (on stdin) 07:52:18.296779 ====> Client forcibly disconnected 07:52:18.296857 Received QUIT (on stdin) 07:52:18.296868 quits 07:52:18.296922 ============> 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 ==146737== ==146737== Process terminating with default action of signal 4 (SIGILL) ==146737== Illegal opcode at address 0x4013DC0 ==146737== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146737== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146737== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146737== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1282 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/17/valgrind1283 ../src/curl -q --include --trace-ascii log/17/trace1283 --trace-time http://127.0.0.1:42601/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/17/outfile1283_#1#2#3#4.dump" > log/17/stdout1283 2> log/17/stderr1283 1283: 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/ dir 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/17/valgrind1283 ../src/curl -q --include --trace-ascii log/17/trace1283 --trace-time http://127.0.0.1:42601/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/17/outfile1283_#1#2#3#4.dump" > log/17/stdout1283 2> log/17/stderr1283 === End of file commands.log === Start of file http_server.log 07:52:19.390454 ====> Client connect 07:52:19.390492 accept_connection 3 returned 4 07:52:19.390511 accept_connection 3 returned 0 07:52:19.390528 Read 93 bytes 07:52:19.390540 Process 93 bytes request 07:52:19.390553 Got request: GET /verifiedserver HTTP/1.1 07:52:19.390564 Are-we-friendly question received 07:52:19.390590 Wrote request (93 bytes) input to log/17/server.input 07:52:19.390609 Identifying ourselves as friends 07:52:19.390667 Response sent (56 bytes) and written to log/17/server.response 07:52:19.390680 special request received, no persistency 07:52:19.390690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 39846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1283 ==146779== ==146779== Process terminating with default action of signal 4 (SIGILL) ==146779== Illegal opcode at address 0x4013DC0 ==146779== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146779== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146779== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146779== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1283 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/4/valgrind1285 ../src/curl -q --output log/4/curl1285.out --include --trace-ascii log/4/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/4/put1285 http://127.0.0.1:43573/1285 > log/4/stdout1285 2> log/4/stderr1285 1285: 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/ dir 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/4/valgrind1285 ../src/curl -q --output log/4/curl1285.out --include --trace-ascii log/4/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/4/put1285 http://127.0.0.1:43573/1285 > log/4/stdout1285 2> log/4/stderr1285 === End of file commands.log === Start of file http_server.log 07:52:19.441463 ====> Client connect 07:CMD (33792): ../libtool --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/valgrind1284 ../src/curl -q --output log/8/curl1284.out --include --trace-ascii log/8/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36147/1284 > log/8/stdout1284 2> log/8/stderr1284 CMD (33792): ../libtool --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/valgrind1286 ../src/curl -q --output log/16/curl1286.out --include --trace-ascii log/16/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:44351/1286 > log/16/stdout1286 2> log/16/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/15/valgrind1289 ../src/curl -q --output log/15/curl1289.out --include --trace-ascii log/15/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/15/stdout1289 2> log/15/stderr1289 52:19.441502 accept_connection 3 returned 4 07:52:19.441521 accept_connection 3 returned 0 07:52:19.441538 Read 93 bytes 07:52:19.441550 Process 93 bytes request 07:52:19.441563 Got request: GET /verifiedserver HTTP/1.1 07:52:19.441574 Are-we-friendly question received 07:52:19.441601 Wrote request (93 bytes) input to log/4/server.input 07:52:19.441619 Identifying ourselves as friends 07:52:19.441686 Response sent (56 bytes) and written to log/4/server.response 07:52:19.441699 special request received, no persistency 07:52:19.441710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 36120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind1285 ==146834== ==146834== Process terminating with default action of signal 4 (SIGILL) ==146834== Illegal opcode at address 0x4013DC0 ==146834== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146834== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146834== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146834== by 0x40037A4: main (tool_main.c:199) === 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/8/valgrind1284 ../src/curl -q --output log/8/curl1284.out --include --trace-ascii log/8/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36147/1284 > log/8/stdout1284 2> log/8/stderr1284 1284: 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/ dir 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/8/valgrind1284 ../src/curl -q --output log/8/curl1284.out --include --trace-ascii log/8/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36147/1284 > log/8/stdout1284 2> log/8/stderr1284 === End of file commands.log === Start of file http_server.log 07:52:18.432649 ====> Client connect 07:52:18.432694 accept_connection 3 returned 4 07:52:18.432714 accept_connection 3 returned 0 07:52:18.432733 Read 93 bytes 07:52:18.432745 Process 93 bytes request 07:52:18.432759 Got request: GET /verifiedserver HTTP/1.1 07:52:18.432770 Are-we-friendly question received 07:52:18.432797 Wrote request (93 bytes) input to log/8/server.input 07:52:18.432816 Identifying ourselves as friends 07:52:18.433005 Response sent (56 bytes) and written to log/8/server.response 07:52:18.433020 special request received, no persistency 07:52:18.433031 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 56476 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1284 ==146811== ==146811== Process terminating with default action of signal 4 (SIGILL) ==146811== Illegal opcode at address 0x4013DC0 ==146811== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146811== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146811== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146811== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1284 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/16/valgrind1286 ../src/curl -q --output log/16/curl1286.out --include --trace-ascii log/16/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:44351/1286 > log/16/stdout1286 2> log/16/stderr1286 1286: 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/ dir 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/16/valgrind1286 ../src/curl -q --output log/16/curl1286.out --include --trace-ascii log/16/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:44351/1286 > log/16/stdout1286 2> log/16/stderr1286 === End of file commands.log === Start of file http_server.log 07:52:18.557542 ====> Client connect 07:52:18.557579 accept_connection 3 returned 4 07:52:18.557597 accept_connection 3 returned 0 07:52:18.557613 Read 93 bytes 07:52:18.557625 Process 93 bytes request 07:52:18.557641 Got request: GET /verifiedserver HTTP/1.1 07:52:18.557652 Are-we-friendly question received 07:52:18.557678 Wrote request (93 bytes) input to log/16/server.input 07:52:18.557697 Identifying ourselves as friends 07:52:18.557753 Response sent (56 bytes) and written to log/16/server.response 07:52:18.557765 special request received, no persistency 07:52:18.557776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 34074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1286 ==146978== ==146978== Process terminating with default action of signal 4 (SIGILL) ==146978== Illegal opcode at address 0x4013DC0 ==146978== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==146978== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146978== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==146978== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1286 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/15/valgrind1289 ../src/curl -q --output log/15/curl1289.out --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/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:41231/1265 > log/9/stdout1265 2> log/9/stderr1265 CMD (33792): ../libtool --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/valgrind1290 ../src/curl -q --output log/2/curl1290.out --include --trace-ascii log/2/trace1290 --trace-time "http://127.0.0.1:43955/we/want/[]/page/1290" > log/2/stdout1290 2> log/2/stderr1290 CMD (33792): ../libtool --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/valgrind1300 ./unit/units unit1300 - > log/22/stdout1300 2> log/22/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/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 nclude --trace-ascii log/15/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/15/stdout1289 2> log/15/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind1289 ../src/curl -q --output log/15/curl1289.out --include --trace-ascii log/15/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/15/stdout1289 2> log/15/stderr1289 === End of file commands.log === Start of file http_server.log 07:52:18.659625 ====> Client connect 07:52:18.659658 accept_connection 3 returned 4 07:52:18.659676 accept_connection 3 returned 0 07:52:18.659691 Read 93 bytes 07:52:18.659701 Process 93 bytes request 07:52:18.659715 Got request: GET /verifiedserver HTTP/1.1 07:52:18.659725 Are-we-friendly question received 07:52:18.659752 Wrote request (93 bytes) input to log/15/server.input 07:52:18.659769 Identifying ourselves as friends 07:52:18.659822 Response sent (56 bytes) and written to log/15/server.response 07:52:18.659833 special request received, no persistency 07:52:18.659842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 36148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1289 ==147086== ==147086== Process terminating with default action of signal 4 (SIGILL) ==147086== Illegal opcode at address 0x4013DC0 ==147086== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147086== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147086== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147086== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1289 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 145934 port 41231 * pid http-ipv6 => 145934 145934 setenv http_proxy = http://127.0.0.1:42717 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]:41231/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/ dir 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]:41231/1265 > log/9/stdout1265 2> log/9/stderr1265 === End of file commands.log === Start of file http_ipv6_server.log 07:52:17.673169 Running HTTP IPv6 version on port 41231 07:52:17.673255 Wrote pid 145934 to log/9/server/http_ipv6_server.pid 07:52:17.673287 Wrote port 41231 to log/9/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1265 === End of file server.cmd === Start of file valgrind1265 ==147077== ==147077== Process terminating with default action of signal 4 (SIGILL) ==147077== Illegal opcode at address 0x4013DC0 ==147077== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147077== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147077== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147077== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1265 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/2/valgrind1290 ../src/curl -q --output log/2/curl1290.out --include --trace-ascii log/2/trace1290 --trace-time "http://127.0.0.1:43955/we/want/[]/page/1290" > log/2/stdout1290 2> log/2/stderr1290 1290: 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/ dir 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/2/valgrind1290 ../src/curl -q --output log/2/curl1290.out --include --trace-ascii log/2/trace1290 --trace-time "http://127.0.0.1:43955/we/want/[]/page/1290" > log/2/stdout1290 2> log/2/stderr1290 === End of file commands.log === Start of file http_server.log 07:52:19.710540 ====> Client connect 07:52:19.710574 accept_connection 3 returned 4 07:52:19.710592 accept_connection 3 returned 0 07:52:19.710607 Read 93 bytes 07:52:19.710618 Process 93 bytes request 07:52:19.710633 Got request: GET /verifiedserver HTTP/1.1 07:52:19.710644 Are-we-friendly question received 07:52:19.710668 Wrote request (93 bytes) input to log/2/server.input 07:52:19.710685 Identifying ourselves as friends 07:52:19.710736 Response sent (56 bytes) and written to log/2/server.response 07:52:19.710746 special request received, no persistency 07:52:19.710756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 46374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1290 ==147145== ==147145== Process terminating with default action of signal 4 (SIGILL) ==147145== Illegal opcode at address 0x4013DC0 ==147145== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147145== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147145== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147145== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1290 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/ dir 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.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-fiCMD (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/valgrind1301 ./libtest/libtests lib1301 - > log/5/stdout1301 2> log/5/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/20/valgrind1302 ./unit/units unit1302 - > log/20/stdout1302 2> log/20/stderr1302 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/valgrind1304 ./unit/units unit1304 log/6/netrc1304 > log/6/stdout1304 2> log/6/stderr1304 CMD (33792): ../libtool --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/valgrind1293 ../src/curl -q --output log/1/curl1293.out --include --trace-ascii log/1/trace1293 --trace-time http://0 http://127.0.0.1:35709/1293 -F= > log/1/stdout1293 2> log/1/stderr1293 le=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this 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 ==147275== ==147275== Process terminating with default action of signal 4 (SIGILL) ==147275== Illegal opcode at address 0x4013DC0 ==147275== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147275== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147275== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147275== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1291 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/22/valgrind1300 ./unit/units unit1300 - > log/22/stdout1300 2> log/22/stderr1300 units returned 132, when expecting 0 1300: exit FAILED == Contents of files in the log/22/ dir 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/22/valgrind1300 ./unit/units unit1300 - > log/22/stdout1300 2> log/22/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 ==147617== ==147617== Process terminating with default action of signal 4 (SIGILL) ==147617== Illegal opcode at address 0x400A45E ==147617== at 0x400A45E: UnknownInlinedFun (llist.c:89) ==147617== by 0x400A45E: test_unit1300.lto_priv.0 (unit1300.c:125) ==147617== by 0x400A12F: main (first.c:280) === End of file valgrind1300 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/5/valgrind1301 ./libtest/libtests lib1301 - > log/5/stdout1301 2> log/5/stderr1301 -------e-v- OK (1235 out of 1746, remaining: 00:41, took 0.756s, duration: 01:39) 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/20/valgrind1302 ./unit/units unit1302 - > log/20/stdout1302 2> log/20/stderr1302 units returned 132, when expecting 0 1302: exit FAILED == Contents of files in the log/20/ dir 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/20/valgrind1302 ./unit/units unit1302 - > log/20/stdout1302 2> log/20/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 ==147661== ==147661== Process terminating with default action of signal 4 (SIGILL) ==147661== Illegal opcode at address 0x40A9A63 ==147661== at 0x40A9A63: UnknownInlinedFun (string_fortified.h:59) ==147661== by 0x40A9A63: curlx_base64_decode (base64.c:112) ==147661== by 0x400B309: test_unit1302.lto_priv.0 (unit1302.c:146) ==147661== by 0x400A12F: main (first.c:280) ==147661== 2 bytes in 1 blocks are definitely lost in loss record 1 of 14 ==147661== at 0x49937A8: malloc (vg_replace_malloc.c:446) ==147661== by 0x40A9A48: curlx_base64_decode (base64.c:106) ==147661== by 0x400B309: test_unit1302.lto_priv.0 (unit1302.c:146) ==147661== by 0x400A12F: main (first.c:280) ==147661== === End of file valgrind1302 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/6/valgrind1304 ./unit/units unit1304 log/6/netrc1304 > log/6/stdout1304 2> log/6/stderr1304 -------e-v- OK (1238 out of 1746, remaining: 00:40, took 0.875s, duration: 01:39) 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/1/valgrind1293 ../src/curl -q --output log/1/curl1293.out --include --trace-ascii log/1/trace1293 --trace-time http://0 http://127.0.0.1:35709/1293 -F= > log/1/stdout1293 2> log/1/stderr1293 1293: 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/ dir 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/1/valgrind1293 ../src/curl -q --output log/1/curl1293.out --include --trace-ascii log/1/trace1293 --trace-time http://0 http://127.0.0.1:35709/1293 -F= > log/1/stdout1293 2> log/1/stderr1293 === End of file commands.log === Start of file http_server.log 07:52:19.095895 ====> Client connect 07:52:19.095932 accept_connection 3 returned 4 07:52:19.095951 accept_connection 3 returned 0 07:52:19.095967 Read 93 bytes 07:52:19.095978 Process 93 bytes request 07:52:19.095991 Got request: GET /verifiedserver HTTP/1.1 07:52:19.096001 Are-we-friendly question received 07:52:19.096114 Wrote request (93 bytes) input to log/1/server.input 07:52:19.096134 Identifying ourselves as friends 07:52:19.096198 Response sent (56 bytes) and written to log/1/server.response 07:52:19.096209 special request received, no persistency 07:52:19.096220 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * EstablisCMD (33792): ../libtool --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/valgrind1292 ../src/curl -q --output log/18/curl1292.out --include --trace-ascii log/18/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:46763/1292 > log/18/stdout1292 2> log/18/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/14/valgrind1296 ../src/curl -q --output log/14/curl1296.out --include --trace-ascii log/14/trace1296 --trace-time http://user%0aname:password@127.0.0.1:34115/1296 > log/14/stdout1296 2> log/14/stderr1296 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/3/valgrind1306 ./unit/units unit1305 - > log/3/stdout1306 2> log/3/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/13/valgrind1305 ./unit/units unit1305 1305 > log/13/stdout1305 2> log/13/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/11/valgrind1298 ../src/curl -q --output log/11/curl1298.out --include --trace-ascii log/11/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:38169/" -H "Testno: 1298" > log/11/stdout1298 2> log/11/stderr1298 hed connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 35532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1293 ==147391== ==147391== Process terminating with default action of signal 4 (SIGILL) ==147391== Illegal opcode at address 0x4013DC0 ==147391== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147391== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147391== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147391== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1293 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/18/valgrind1292 ../src/curl -q --output log/18/curl1292.out --include --trace-ascii log/18/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:46763/1292 > log/18/stdout1292 2> log/18/stderr1292 1292: 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/ dir 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/18/valgrind1292 ../src/curl -q --output log/18/curl1292.out --include --trace-ascii log/18/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:46763/1292 > log/18/stdout1292 2> log/18/stderr1292 === End of file commands.log === Start of file http_server.log 07:52:20.093855 ====> Client connect 07:52:20.093894 accept_connection 3 returned 4 07:52:20.093913 accept_connection 3 returned 0 07:52:20.093931 Read 93 bytes 07:52:20.093943 Process 93 bytes request 07:52:20.093958 Got request: GET /verifiedserver HTTP/1.1 07:52:20.093969 Are-we-friendly question received 07:52:20.093998 Wrote request (93 bytes) input to log/18/server.input 07:52:20.094017 Identifying ourselves as friends 07:52:20.094083 Response sent (56 bytes) and written to log/18/server.response 07:52:20.094096 special request received, no persistency 07:52:20.094107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 56676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1292 ==147387== ==147387== Process terminating with default action of signal 4 (SIGILL) ==147387== Illegal opcode at address 0x4013DC0 ==147387== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147387== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147387== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147387== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1292 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/14/valgrind1296 ../src/curl -q --output log/14/curl1296.out --include --trace-ascii log/14/trace1296 --trace-time http://user%0aname:password@127.0.0.1:34115/1296 > log/14/stdout1296 2> log/14/stderr1296 1296: 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/ dir 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/14/valgrind1296 ../src/curl -q --output log/14/curl1296.out --include --trace-ascii log/14/trace1296 --trace-time http://user%0aname:password@127.0.0.1:34115/1296 > log/14/stdout1296 2> log/14/stderr1296 === End of file commands.log === Start of file http_server.log 07:52:19.113805 ====> Client connect 07:52:19.113840 accept_connection 3 returned 4 07:52:19.113856 accept_connection 3 returned 0 07:52:19.113871 Read 93 bytes 07:52:19.113882 Process 93 bytes request 07:52:19.113895 Got request: GET /verifiedserver HTTP/1.1 07:52:19.113905 Are-we-friendly question received 07:52:19.113927 Wrote request (93 bytes) input to log/14/server.input 07:52:19.113946 Identifying ourselves as friends 07:52:19.114000 Response sent (56 bytes) and written to log/14/server.response 07:52:19.114010 special request received, no persistency 07:52:19.114020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 46314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1296 ==147423== ==147423== Process terminating with default action of signal 4 (SIGILL) ==147423== Illegal opcode at address 0x4013DC0 ==147423== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147423== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147423== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147423== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1296 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/3/valgrind1306 ./unit/units unit1305 - > log/3/stdout1306 2> log/3/stderr1306 -------e-v- OK (1240 out of 1746, remaining: 00:40, took 0.846s, duration: 01:39) 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/13/valgrind1305 ./unit/units unit1305 1305 > log/13/stdout1305 2> log/13/stderr1305 -------e-v- OK (1239 out of 1746, remaining: 00:40, took 0.849s, duration: 01:39) 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/11/valgrind1298 ../src/curl -q --output log/11/curl1298.out --include --trace-ascii log/11/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:38169/" -H "Testno: 1298" > log/11/stdout1298 2> log/11/stderr1298 1298: protoCMD (33792): ../libtool --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/valgrind1309 ./unit/units unit1309 - > log/4/stdout1309 2> log/4/stderr1309 col 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/ dir 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/11/valgrind1298 ../src/curl -q --output log/11/curl1298.out --include --trace-ascii log/11/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:38169/" -H "Testno: 1298" > log/11/stdout1298 2> log/11/stderr1298 === End of file commands.log === Start of file http_server.log 07:52:19.442099 ====> Client connect 07:52:19.442173 accept_connection 3 returned 4 07:52:19.442190 accept_connection 3 returned 0 07:52:19.442299 Read 93 bytes 07:52:19.442313 Process 93 bytes request 07:52:19.442326 Got request: GET /verifiedserver HTTP/1.1 07:52:19.442336 Are-we-friendly question received 07:52:19.442363 Wrote request (93 bytes) input to log/11/server.input 07:52:19.442379 Identifying ourselves as friends 07:52:19.442435 Response sent (56 bytes) and written to log/11/server.response 07:52:19.442446 special request received, no persistency 07:52:19.442455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 37538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1298 ==147598== ==147598== Process terminating with default action of signal 4 (SIGILL) ==147598== Illegal opcode at address 0x4013DC0 ==147598== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147598== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147598== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147598== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1298 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/4/valgrind1309 ./unit/units unit1309 - > log/4/stdout1309 2> log/4/stderr1309 1309: stdout FAILED: --- log/4/check-expected 2025-11-07 07:52:20.917374144 +0000 +++ log/4/check-generated 2025-11-07 07:52:20.914040810 +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]CMD (33792): ../libtool --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/valgrind1303 ./unit/units unit1303 - > log/21/stdout1303 2> log/21/stderr1303 [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/4/ dir 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[0][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/12/valgrind1299 ../src/curl -q --output log/12/curl1299.out --include --trace-ascii log/12/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:38023/ -H "Testno: 1299" > log/12/stdout1299 2> log/12/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/17/valgrind1308 ./libtest/libtests lib1308 log/17/test-1308 > log/17/stdout1308 2> log/17/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/19/valgrind1288 ../src/curl -q --include --trace-ascii log/19/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:36399 http://127.0.0.1:34835/we/want/that/page/1288 > log/19/stdout1288 2> log/19/stderr1288 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/4/valgrind1309 ./unit/units unit1309 - > log/4/stdout1309 2> log/4/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 ==148161== ==148161== Process terminating with default action of signal 4 (SIGILL) ==148161== Illegal opcode at address 0x400CFC7 ==148161== at 0x400CFC7: test_unit1309.lto_priv.0 (unit1309.c:80) ==148161== by 0x400A12F: main (first.c:280) === End of file valgrind1309 test 1303...[Curl_timeleft 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/21/valgrind1303 ./unit/units unit1303 - > log/21/stdout1303 2> log/21/stderr1303 units returned 132, when expecting 0 1303: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind1303 ./unit/units unit1303 - > log/21/stdout1303 2> log/21/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 ==147676== ==147676== Process terminating with default action of signal 4 (SIGILL) ==147676== Illegal opcode at address 0x407C5FF ==147676== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==147676== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==147676== by 0x407C5FF: Curl_open (url.c:525) ==147676== by 0x403E625: curl_easy_init (easy.c:371) ==147676== by 0x400B70B: UnknownInlinedFun (unit1303.c:35) ==147676== by 0x400B70B: test_unit1303.lto_priv.0 (unit1303.c:72) ==147676== by 0x400A12F: main (first.c:280) ==147676== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==147676== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==147676== by 0x407C59D: Curl_open (url.c:504) ==147676== by 0x403E625: curl_easy_init (easy.c:371) ==147676== by 0x400B70B: UnknownInlinedFun (unit1303.c:35) ==147676== by 0x400B70B: test_unit1303.lto_priv.0 (unit1303.c:72) ==147676== by 0x400A12F: main (first.c:280) ==147676== === End of file valgrind1303 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/12/valgrind1299 ../src/curl -q --output log/12/curl1299.out --include --trace-ascii log/12/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:38023/ -H "Testno: 1299" > log/12/stdout1299 2> log/12/stderr1299 1299: 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/ dir 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/12/valgrind1299 ../src/curl -q --output log/12/curl1299.out --include --trace-ascii log/12/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:38023/ -H "Testno: 1299" > log/12/stdout1299 2> log/12/stderr1299 === End of file commands.log === Start of file http_server.log 07:52:19.473754 ====> Client connect 07:52:19.473786 accept_connection 3 returned 4 07:52:19.473803 accept_connection 3 returned 0 07:52:19.473817 Read 93 bytes 07:52:19.473828 Process 93 bytes request 07:52:19.473842 Got request: GET /verifiedserver HTTP/1.1 07:52:19.473851 Are-we-friendly question received 07:52:19.473877 Wrote request (93 bytes) input to log/12/server.input 07:52:19.473894 Identifying ourselves as friends 07:52:19.473945 Response sent (56 bytes) and written to log/12/server.response 07:52:19.473956 special request received, no persistency 07:52:19.473966 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1299 ==147648== ==147648== Process terminating with default action of signal 4 (SIGILL) ==147648== Illegal opcode at address 0x4013DC0 ==147648== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147648== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147648== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147648== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1299 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/17/valgrind1308 ./libtest/libtests lib1308 log/17/test-1308 > log/17/stdout1308 2> log/17/stderr1308 libtests returned 132, when expecting 0 1308: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind1308 ./libtest/libtests lib1308 log/17/test-1308 > log/17/stdout1308 2> log/17/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file stderr1308 URL: log/17/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 ==147955== ==147955== Process terminating with default action of signal 4 (SIGILL) ==147955== Illegal opcode at address 0x518AE15 ==147955== at 0x518AE15: UnknownInlinedFun (string_fortified.h:59) ==147955== by 0x518AE15: curl_mime_init (mime.c:1292) ==147955== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==147955== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==147955== by 0x5158549: curl_formget (formdata.c:704) ==147955== by 0x40242A4: test_lib1308.lto_priv.0 (lib1308.c:72) ==147955== by 0x400347F: main (first.c:280) ==147955== 96 bytes in 1 blocks are definitely lost in loss record 584 of 654 ==147955== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==147955== by 0x518ADEF: curl_mime_init (mime.c:1285) ==147955== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==147955== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==147955== by 0x5158549: curl_formget (formdata.c:704) ==147955== by 0x40242A4: test_lib1308.lto_priv.0 (lib1308.c:72) ==147955== by 0x400347F: main (first.c:280) ==147955== === 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/24/valgrind1287 ../src/curl -q --output log/24/curl1287.out --include --trace-ascii log/24/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:35703 http://test.1287:41843/we/want/that/page/1287 > log/24/stdout1287 2> log/24/stderr1287 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 147058 port 36399 * pid http-proxy => 147058 147058 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/19/valgrind1288 ../src/curl -q --include --trace-ascii log/19/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:36399 http://127.0.0.1:34835/we/want/that/page/1288 > log/19/stdout1288 2> log/19/stderr1288 1288: stdout FAILED: --- log/19/check-expected 2025-11-07 07:52:21.117374145 +0000 +++ log/19/check-generated 2025-11-07 07:52:21.117374145 +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/19/ dir 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/19/valgrind1288 ../src/curl -q --include --trace-ascii log/19/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:36399 http://127.0.0.1:34835/we/want/that/page/1288 > log/19/stdout1288 2> log/19/stderr1288 === End of file commands.log === Start of file http2_server.log 07:52:18.689622 Run as proxy, CONNECT to host 127.0.0.1 07:52:18.689763 Running HTTP IPv4 version on port 36399 07:52:18.689816 Wrote pid 147058 to log/19/server/http2_server.pid 07:52:18.689850 Wrote port 36399 to log/19/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:18.635903 ====> Client connect 07:52:18.635941 accept_connection 3 returned 4 07:52:18.635958 accept_connection 3 returned 0 07:52:18.635975 Read 93 bytes 07:52:18.635985 Process 93 bytes request 07:52:18.635999 Got request: GET /verifiedserver HTTP/1.1 07:52:18.636009 Are-we-friendly question received 07:52:18.636034 Wrote request (93 bytes) input to log/19/server.input 07:52:18.636050 Identifying ourselves as friends 07:52:18.636113 Response sent (56 bytes) and written to log/19/server.response 07:52:18.636123 special request received, no persistency 07:52:18.636133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 39496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1288 ==147950== ==147950== Process terminating with default action of signal 4 (SIGILL) ==147950== Illegal opcode at address 0x4013DC0 ==147950== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147950== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147950== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147950== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1288 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/24/server/http2_server.pid" --logfile "log/24/http2_server.log" --logdir "log/24" --portfile log/24/server/http2_server.port --config log/24/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 147059 port 35703 * pid http-proxy => 147059 147059 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/24/valgrind1287 ../src/curl -q --output log/24/curl1287.out --include --trace-ascii log/24/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:35703 http://test.1287:41843/we/want/that/page/1287 > log/24/stdout1287 2> log/24/stderr1287 1287: 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/ dir 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/24/valgrind1287 ../src/curl -q --output log/24/curl1287.out --include --trace-ascii log/24/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:35703 http://test.1287:41843/we/want/that/page/1287 > log/24/stdout1287 2> log/24/stderr1287 === End of file commands.log === Start of file http2_server.log 07:52:18.669516 Run as proxy, CONNECT to host 127.0.0.1 07:52:18.669638 Running HTTP IPv4 version on port 35703 07:52:18.669684 Wrote pid 147059 to log/24/server/http2_server.pid 07:52:18.669717 Wrote port 35703 to log/24/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:18.635896 ====> Client connect 07:52:18.635937 accept_connection 3 returned 4 07:52:18.635956 accept_connection 3 returned 0 07:52:18.639262 Read 93 bytes 07:52:18.639283 Process 93 bytes request 07:52:18.639296 Got request: GET /verifiedserver HTTP/1.1 07:52:18.639307 Are-we-friendly question received 07:52:18.639342 Wrote request (93 bytes) input to log/24/server.input 07:52:18.639362 Identifying ourselves as friends 07:52:18.639423 Response sent (56 bytes) and written to log/24/server.response 07:52:18.639434 special request received, no persistency 07:52:18.639445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 39706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of 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/valgrind1323 ./unit/units unit1323 - > log/14/stdout1323 2> log/14/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/8/valgrind1310 ../src/curl -q --trace-ascii log/8/trace1310 --trace-time http://127.0.0.1:36147/junk -J -O --show-headers --output-dir log/8 > log/8/stdout1310 2> log/8/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/16/valgrind1311 ../src/curl -q --trace-ascii log/16/trace1311 --trace-time http://127.0.0.1:44351/1311 -J -O --output-dir log/16 > log/16/stdout1311 2> log/16/stderr1311 CMD (33792): ../libtool --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/valgrind1312 ../src/curl -q --trace-ascii log/15/trace1312 --trace-time 127.0.0.1:43789/1312 -J -O --output-dir log/15 > log/15/stdout1312 2> log/15/stderr1312 file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1287 ==147924== ==147924== Process terminating with default action of signal 4 (SIGILL) ==147924== Illegal opcode at address 0x4013DC0 ==147924== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==147924== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147924== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==147924== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1287 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/14/valgrind1323 ./unit/units unit1323 - > log/14/stdout1323 2> log/14/stderr1323 -------e-v- OK (1255 out of 1746, remaining: 00:39, took 0.728s, duration: 01:39) 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/8/valgrind1310 ../src/curl -q --trace-ascii log/8/trace1310 --trace-time http://127.0.0.1:36147/junk -J -O --show-headers --output-dir log/8 > log/8/stdout1310 2> log/8/stderr1310 1310: 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/ dir 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/8/valgrind1310 ../src/curl -q --trace-ascii log/8/trace1310 --trace-time http://127.0.0.1:36147/junk -J -O --show-headers --output-dir log/8 > log/8/stdout1310 2> log/8/stderr1310 === End of file commands.log === Start of file http_server.log 07:52:19.877706 ====> Client connect 07:52:19.877753 accept_connection 3 returned 4 07:52:19.877771 accept_connection 3 returned 0 07:52:19.877788 Read 93 bytes 07:52:19.877799 Process 93 bytes request 07:52:19.877814 Got request: GET /verifiedserver HTTP/1.1 07:52:19.877824 Are-we-friendly question received 07:52:19.877850 Wrote request (93 bytes) input to log/8/server.input 07:52:19.877867 Identifying ourselves as friends 07:52:19.877921 Response sent (56 bytes) and written to log/8/server.response 07:52:19.877932 special request received, no persistency 07:52:19.877941 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 48388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1310 ==148165== ==148165== Process terminating with default action of signal 4 (SIGILL) ==148165== Illegal opcode at address 0x4013DC0 ==148165== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148165== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148165== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148165== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1310 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/16/valgrind1311 ../src/curl -q --trace-ascii log/16/trace1311 --trace-time http://127.0.0.1:44351/1311 -J -O --output-dir log/16 > log/16/stdout1311 2> log/16/stderr1311 1311: 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/ dir 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/16/valgrind1311 ../src/curl -q --trace-ascii log/16/trace1311 --trace-time http://127.0.0.1:44351/1311 -J -O --output-dir log/16 > log/16/stdout1311 2> log/16/stderr1311 === End of file commands.log === Start of file http_server.log 07:52:19.905396 ====> Client connect 07:52:19.905436 accept_connection 3 returned 4 07:52:19.905456 accept_connection 3 returned 0 07:52:19.905472 Read 93 bytes 07:52:19.905484 Process 93 bytes request 07:52:19.905498 Got request: GET /verifiedserver HTTP/1.1 07:52:19.905509 Are-we-friendly question received 07:52:19.905536 Wrote request (93 bytes) input to log/16/server.input 07:52:19.905554 Identifying ourselves as friends 07:52:19.905615 Response sent (56 bytes) and written to log/16/server.response 07:52:19.905627 special request received, no persistency 07:52:19.905637 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 35074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1311 ==148194== ==148194== Process terminating with default action of signal 4 (SIGILL) ==148194== Illegal opcode at address 0x4013DC0 ==148194== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148194== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148194== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148194== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1311 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/15/valgrind1312 ../src/curl -q --trace-ascii log/15/trace1312 --trace-time 127.0.0.1:43789/1312 -J -O --output-dir log/15 > log/15/stdout1312 2> log/15/stderr1312 1312: 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/ dir 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/15/valgrind1312 ../src/curl -q --trace-ascii log/15/trace1312 --trace-time 127.0.0.1:43789/1312 -J -O --output-dir log/15 > log/15/stdout1312 2> log/15/stderr1312 === End of file commands.log === Start of file http_server.log 07:52:19.912046 ====> Client connect 07:52:19.912082 accept_connection 3 returned 4 07:52:19.912099 accept_connection 3 returned 0 07:52:19.912115 Read 93 bytes 07:52:19.912126 Process 93 bytes request 07:52:19.912138 Got request: GET /verifiedserver HTTP/1.1 07:52:19.912149 Are-we-friendly question received 07:52:19.912174 Wrote 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/9/valgrind1313 ../src/curl -q --trace-ascii log/9/trace1313 --trace-time http://127.0.0.1:42717/1313 -J -O --output-dir log/9 > log/9/stdout1313 2> log/9/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/2/valgrind1314 ../src/curl -q --output log/2/curl1314.out --include --trace-ascii log/2/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:43955 > log/2/stdout1314 2> log/2/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/22/valgrind1315 ../src/curl -q --output log/22/curl1315.out --include --trace-ascii log/22/trace1315 --trace-time http://127.0.0.1:40377/we/want/1315 -F name=value -F 'file=@log/22/test1315.txt,log/22/test1315.txt;type=magic/content,log/22/test1315.txt' > log/22/stdout1315 2> log/22/stderr1315 equest (93 bytes) input to log/15/server.input 07:52:19.912192 Identifying ourselves as friends 07:52:19.912255 Response sent (56 bytes) and written to log/15/server.response 07:52:19.912267 special request received, no persistency 07:52:19.912277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 46026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1312 ==148184== ==148184== Process terminating with default action of signal 4 (SIGILL) ==148184== Illegal opcode at address 0x4013DC0 ==148184== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148184== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148184== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148184== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1312 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/9/valgrind1313 ../src/curl -q --trace-ascii log/9/trace1313 --trace-time http://127.0.0.1:42717/1313 -J -O --output-dir log/9 > log/9/stdout1313 2> log/9/stderr1313 1313: 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/ dir 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/9/valgrind1313 ../src/curl -q --trace-ascii log/9/trace1313 --trace-time http://127.0.0.1:42717/1313 -J -O --output-dir log/9 > log/9/stdout1313 2> log/9/stderr1313 === End of file commands.log === Start of file http_server.log 07:52:19.989249 ====> Client connect 07:52:19.989287 accept_connection 3 returned 4 07:52:19.989306 accept_connection 3 returned 0 07:52:19.989323 Read 93 bytes 07:52:19.989336 Process 93 bytes request 07:52:19.989352 Got request: GET /verifiedserver HTTP/1.1 07:52:19.989363 Are-we-friendly question received 07:52:19.989391 Wrote request (93 bytes) input to log/9/server.input 07:52:19.989411 Identifying ourselves as friends 07:52:19.989481 Response sent (56 bytes) and written to log/9/server.response 07:52:19.989495 special request received, no persistency 07:52:19.989506 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 42094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1313 ==148289== ==148289== Process terminating with default action of signal 4 (SIGILL) ==148289== Illegal opcode at address 0x4013DC0 ==148289== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148289== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148289== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148289== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1313 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/2/valgrind1314 ../src/curl -q --output log/2/curl1314.out --include --trace-ascii log/2/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:43955 > log/2/stdout1314 2> log/2/stderr1314 1314: 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/ dir 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/2/valgrind1314 ../src/curl -q --output log/2/curl1314.out --include --trace-ascii log/2/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:43955 > log/2/stdout1314 2> log/2/stderr1314 === End of file commands.log === Start of file http_server.log 07:52:21.017068 ====> Client connect 07:52:21.017105 accept_connection 3 returned 4 07:52:21.017124 accept_connection 3 returned 0 07:52:21.017141 Read 93 bytes 07:52:21.017153 Process 93 bytes request 07:52:21.017169 Got request: GET /verifiedserver HTTP/1.1 07:52:21.017181 Are-we-friendly question received 07:52:21.017207 Wrote request (93 bytes) input to log/2/server.input 07:52:21.017225 Identifying ourselves as friends 07:52:21.017283 Response sent (56 bytes) and written to log/2/server.response 07:52:21.017295 special request received, no persistency 07:52:21.017306 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 56414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1314 ==148337== ==148337== Process terminating with default action of signal 4 (SIGILL) ==148337== Illegal opcode at address 0x4013DC0 ==148337== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148337== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1314 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/22/valgrind1315 ../src/curl -q --output log/22/curl1315.out --include --trace-ascii log/22/trace1315 --trace-time http://127.0.0.1:40377/we/want/1315 -F name=value -F 'file=@log/22/test1315.txt,log/22/test1315.txt;type=magic/content,log/22/test1315.txt' > log/22/stdout1315 2> log/22/stderr1315 1315: 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/ dir after test 1315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/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/5/valgrind1317 ../src/curl -q --output log/5/curl1317.out --include --trace-ascii log/5/trace1317 --trace-time --resolve example.com:42797:127.0.0.1 http://example.com:42797/1317 > log/5/stdout1317 2> log/5/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/10/valgrind1297 ../src/curl -q --output log/10/curl1297.out --include --trace-ascii log/10/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:44583 http://127.0.0.1:34041/we/want/that/page/1297 > log/10/stdout1297 2> log/10/stderr1297 url/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1315 ../src/curl -q --output log/22/curl1315.out --include --trace-ascii log/22/trace1315 --trace-time http://127.0.0.1:40377/we/want/1315 -F name=value -F 'file=@log/22/test1315.txt,log/22/test1315.txt;type=magic/content,log/22/test1315.txt' > log/22/stdout1315 2> log/22/stderr1315 === End of file commands.log === Start of file http_server.log 07:52:20.319246 ====> Client connect 07:52:20.319288 accept_connection 3 returned 4 07:52:20.319307 accept_connection 3 returned 0 07:52:20.319324 Read 93 bytes 07:52:20.319336 Process 93 bytes request 07:52:20.319350 Got request: GET /verifiedserver HTTP/1.1 07:52:20.319361 Are-we-friendly question received 07:52:20.319388 Wrote request (93 bytes) input to log/22/server.input 07:52:20.319407 Identifying ourselves as friends 07:52:20.319509 Response sent (56 bytes) and written to log/22/server.response 07:52:20.319521 special request received, no persistency 07:52:20.319532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 52334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==148582== ==148582== Process terminating with default action of signal 4 (SIGILL) ==148582== Illegal opcode at address 0x4013DC0 ==148582== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148582== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148582== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148582== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1315 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/5/valgrind1317 ../src/curl -q --output log/5/curl1317.out --include --trace-ascii log/5/trace1317 --trace-time --resolve example.com:42797:127.0.0.1 http://example.com:42797/1317 > log/5/stdout1317 2> log/5/stderr1317 1317: 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/ dir 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/5/valgrind1317 ../src/curl -q --output log/5/curl1317.out --include --trace-ascii log/5/trace1317 --trace-time --resolve example.com:42797:127.0.0.1 http://example.com:42797/1317 > log/5/stdout1317 2> log/5/stderr1317 === End of file commands.log === Start of file http_server.log 07:52:20.309440 ====> Client connect 07:52:20.309483 accept_connection 3 returned 4 07:52:20.309501 accept_connection 3 returned 0 07:52:20.309667 Read 93 bytes 07:52:20.309683 Process 93 bytes request 07:52:20.309696 Got request: GET /verifiedserver HTTP/1.1 07:52:20.309706 Are-we-friendly question received 07:52:20.309737 Wrote request (93 bytes) input to log/5/server.input 07:52:20.309756 Identifying ourselves as friends 07:52:20.309809 Response sent (56 bytes) and written to log/5/server.response 07:52:20.309820 special request received, no persistency 07:52:20.309830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1317 ==148555== ==148555== Process terminating with default action of signal 4 (SIGILL) ==148555== Illegal opcode at address 0x4013DC0 ==148555== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148555== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148555== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148555== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1317 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 147482 port 44583 * pid http-proxy => 147482 147482 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/10/valgrind1297 ../src/curl -q --output log/10/curl1297.out --include --trace-ascii log/10/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:44583 http://127.0.0.1:34041/we/want/that/page/1297 > log/10/stdout1297 2> log/10/stderr1297 1297: 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/ dir 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/10/valgrind1297 ../src/curl -q --output log/10/curl1297.out --include --trace-ascii log/10/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:44583 http://127.0.0.1:34041/we/want/that/page/1297 > log/10/stdout1297 2> log/10/stderr1297 === End of file commands.log === Start of file http2_server.log 07:52:19.264844 Run as proxy, CONNECT to host 127.0.0.1 07:52:19.264968 Running HTTP IPv4 version on port 44583 07:52:19.265008 Wrote pid 147482 to log/10/server/http2_server.pid 07:52:19.265038 Wrote port 44583 to log/10/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:19.233359 ====> Client connect 07:52:19.233399 accept_connection 3 returned 4 07:52:19.233417 accept_connection 3 returned 0 07:52:19.233569 Read 93 bytes 07:52:19.233583 Process 93 bytes request 07:52:19.233599 Got request: GET /verifiedserver HTTP/1.1 07:52:19.233610 Are-we-friendly question received 07:52:19.233643 Wrote request (93 bytes) input to log/10/server.input 07:52:19.233662 Identifying ourselves as friends 07:52:19.233716 Response sent (56 bytes) and written to log/10/server.response 07:52:19.233727 special request received, no persistency 07:52:19.233738 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 59988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * ConnectCMD (33792): ../libtool --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/valgrind1318 ../src/curl -q --output log/7/curl1318.out --include --trace-ascii log/7/trace1318 --trace-time --resolve MiXeDcAsE.cOm:39661:127.0.0.1 http://MiXeDcAsE.cOm:39661/1318 http://mixedcase.com:39661/13180001 > log/7/stdout1318 2> log/7/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/18/valgrind1322 ../src/curl -q --output log/18/curl1322.out --include --trace-ascii log/18/trace1322 --trace-time --ipv4 --resolve example.com.:46763:127.0.0.1 http://example.com.:46763/1322 > log/18/stdout1322 2> log/18/stderr1322 CMD (33792): ../libtool --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/valgrind1320 ../src/curl -q --output log/6/curl1320.out --include --trace-ascii log/6/trace1320 --trace-time smtp://smtp.1320:37407/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:36753 log/6/stdout1320 2> log/6/stderr1320 ion #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1297 ==148480== ==148480== Process terminating with default action of signal 4 (SIGILL) ==148480== Illegal opcode at address 0x4013DC0 ==148480== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148480== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148480== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148480== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1297 test 1318...[HTTP with --resolve and same host name 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/7/valgrind1318 ../src/curl -q --output log/7/curl1318.out --include --trace-ascii log/7/trace1318 --trace-time --resolve MiXeDcAsE.cOm:39661:127.0.0.1 http://MiXeDcAsE.cOm:39661/1318 http://mixedcase.com:39661/13180001 > log/7/stdout1318 2> log/7/stderr1318 1318: 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/ dir 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/7/valgrind1318 ../src/curl -q --output log/7/curl1318.out --include --trace-ascii log/7/trace1318 --trace-time --resolve MiXeDcAsE.cOm:39661:127.0.0.1 http://MiXeDcAsE.cOm:39661/1318 http://mixedcase.com:39661/13180001 > log/7/stdout1318 2> log/7/stderr1318 === End of file commands.log === Start of file http_server.log 07:52:21.312777 ====> Client connect 07:52:21.312808 accept_connection 3 returned 4 07:52:21.312824 accept_connection 3 returned 0 07:52:21.312838 Read 93 bytes 07:52:21.312849 Process 93 bytes request 07:52:21.312860 Got request: GET /verifiedserver HTTP/1.1 07:52:21.312870 Are-we-friendly question received 07:52:21.312933 Wrote request (93 bytes) input to log/7/server.input 07:52:21.312949 Identifying ourselves as friends 07:52:21.313000 Response sent (56 bytes) and written to log/7/server.response 07:52:21.313009 special request received, no persistency 07:52:21.313019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 54688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1318 ==148562== ==148562== Process terminating with default action of signal 4 (SIGILL) ==148562== Illegal opcode at address 0x4013DC0 ==148562== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148562== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148562== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148562== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1318 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/18/valgrind1322 ../src/curl -q --output log/18/curl1322.out --include --trace-ascii log/18/trace1322 --trace-time --ipv4 --resolve example.com.:46763:127.0.0.1 http://example.com.:46763/1322 > log/18/stdout1322 2> log/18/stderr1322 1322: 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/ dir 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/18/valgrind1322 ../src/curl -q --output log/18/curl1322.out --include --trace-ascii log/18/trace1322 --trace-time --ipv4 --resolve example.com.:46763:127.0.0.1 http://example.com.:46763/1322 > log/18/stdout1322 2> log/18/stderr1322 === End of file commands.log === Start of file http_server.log 07:52:21.453483 ====> Client connect 07:52:21.453516 accept_connection 3 returned 4 07:52:21.453534 accept_connection 3 returned 0 07:52:21.453548 Read 93 bytes 07:52:21.453559 Process 93 bytes request 07:52:21.453573 Got request: GET /verifiedserver HTTP/1.1 07:52:21.453583 Are-we-friendly question received 07:52:21.453608 Wrote request (93 bytes) input to log/18/server.input 07:52:21.453625 Identifying ourselves as friends 07:52:21.453679 Response sent (56 bytes) and written to log/18/server.response 07:52:21.453689 special request received, no persistency 07:52:21.453699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1322 ==148836== ==148836== Process terminating with default action of signal 4 (SIGILL) ==148836== Illegal opcode at address 0x4013DC0 ==148836== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148836== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1322 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/6/valgrind1320 ../src/curl -q --output log/6/curl1320.out --include --trace-ascii log/6/trace1320 --trace-time smtp://smtp.1320:37407/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:36753 log/6/stdout1320 2> log/6/stderr1320 1320: 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/ dir 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/6/valgrind1320 ../src/curl -q --output log/6/curl1320.out --include --trace-ascii log/6/trace1320 --trace-time smtp://smtp.1320:37407/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:36753 log/6/stdout1320 2> log/6/stderr1320 === End of file commands.log === Start of file http2_server.log 07:52:20.473865 ====> Client connect 07:52:20.473899 accept_connection 3 returned 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/20/valgrind1319 ../src/curl -q --output log/20/curl1319.out --include --trace-ascii log/20/trace1319 --trace-time pop3://pop.1319:46815/1319 -p -x 127.0.0.1:45837 -u user:secret > log/20/stdout1319 2> log/20/stderr1319 07:52:20.473916 accept_connection 3 returned 0 07:52:20.473930 Read 93 bytes 07:52:20.473945 Process 93 bytes request 07:52:20.473959 Got request: GET /verifiedserver HTTP/1.1 07:52:20.473969 Are-we-friendly question received 07:52:20.473993 Wrote request (93 bytes) input to log/6/proxy.input 07:52:20.474015 Identifying ourselves as friends 07:52:20.474081 Response sent (57 bytes) and written to log/6/proxy.response 07:52:20.474095 special request received, no persistency 07:52:20.474105 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36753... * Established connection to 127.0.0.1 (127.0.0.1 port 36753) from 127.0.0.1 port 60632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36753 > User-Agent: curl/8.17.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:36753 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 113127 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 113127 === End of file proxy.response === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 07:52:20.604183 ====> Client connect 07:52:20.604312 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:20.605328 < "EHLO verifiedserver" 07:52:20.605392 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:20.606241 < "HELP" 07:52:20.606291 > "214 WE ROOLZ: 124405[CR][LF]" 07:52:20.606309 return proof we are we 07:52:20.606578 < "QUIT" 07:52:20.606612 > "221 curl ESMTP server signing off[CR][LF]" 07:52:20.612831 MAIN sockfilt said DISC 07:52:20.612874 ====> Client disconnected 07:52:20.612948 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:20.432025 ====> Client connect 07:52:20.432263 Received DATA (on stdin) 07:52:20.432278 > 160 bytes data, server => client 07:52:20.432291 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:20.432303 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:20.432314 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:20.433055 < 21 bytes data, client => server 07:52:20.433083 'EHLO verifiedserver\r\n' 07:52:20.433344 Received DATA (on stdin) 07:52:20.433360 > 53 bytes data, server => client 07:52:20.433373 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:20.434044 < 6 bytes data, client => server 07:52:20.434066 'HELP\r\n' 07:52:20.434253 Received DATA (on stdin) 07:52:20.434268 > 22 bytes data, server => client 07:52:20.434280 '214 WE ROOLZ: 124405\r\n' 07:52:20.434391 < 6 bytes data, client => server 07:52:20.434408 'QUIT\r\n' 07:52:20.434555 Received DATA (on stdin) 07:52:20.434568 > 35 bytes data, server => client 07:52:20.434580 '221 curl ESMTP server signing off\r\n' 07:52:20.440337 ====> Client disconnect 07:52:20.440891 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 ==148845== ==148845== Process terminating with default action of signal 4 (SIGILL) ==148845== Illegal opcode at address 0x4013DC0 ==148845== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148845== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148845== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148845== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1320 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/20/valgrind1319 ../src/curl -q --output log/20/curl1319.out --include --trace-ascii log/20/trace1319 --trace-time pop3://pop.1319:46815/1319 -p -x 127.0.0.1:45837 -u user:secret > log/20/stdout1319 2> log/20/stderr1319 1319: 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/ dir 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/20/valgrind1319 ../src/curl -q --output log/20/curl1319.out --include --trace-ascii log/20/trace1319 --trace-time pop3://pop.1319:46815/1319 -p -x 127.0.0.1:45837 -u user:secret > log/20/stdout1319 2> log/20/stderr1319 === End of file commands.log === Start of file http2_server.log 07:52:20.529317 ====> Client connect 07:52:20.529358 accept_connection 3 returned 4 07:52:20.529378 accept_connection 3 returned 0 07:52:20.534069 Read 93 bytes 07:52:20.534102 Process 93 bytes request 07:52:20.534117 Got request: GET /verifiedserver HTTP/1.1 07:52:20.534128 Are-we-friendly question received 07:52:20.534198 Wrote request (93 bytes) input to log/20/proxy.input 07:52:20.534223 Identifying ourselves as friends 07:52:20.534294 Response sent (56 bytes) and written to log/20/proxy.response 07:52:20.534309 special request received, no persistency 07:52:20.534319 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45837... * Established connection to 127.0.0.1 (127.0.0.1 port 45837) from 127.0.0.1 port 56174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45837 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45837 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 91698 === End of file http2_verify.out === Start of file pop3_server.log 07:52:20.596403 ====> Client connect 07:52:20.596529 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:52:20.596815 < "CAPA" 07:52:20.596853 > "-ERR Unrecognized command[CR][LF]" 07:52:20.597026 < "RETR verifiedserver" 07:52:20.597052 return proof we are we 07:52:20.597072 > "+OK Mail transfer starts[CR][LF]" 07:52:20.597089 > "WE ROOLZ: 121498[CR][LF]" 07:52:20.597105 > ".[CR][LF]" 07:52:20.638401 < "QUIT" 07:52:20.638454 > "+OK curl POP3 server signing off[CR][LF]" 07:52:20.640832 MAIN sockfilt said DISC 07:52:20.640878 ====> Client disconnected 07:52:20.646521 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:52:20.424246 ====> Client connect 07:52:20.424482 Received DATA (on stdin) 07:52:20.424498 > 178 bytes data, server => client 07:52:20.424511 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:20.424523 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:20.424533 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:52:20.424543 've \r\n' 07:52:20.424618 < 6 bytes data, client => server 07:52:20.424630 'CAPA\r\n' 07:52:20.424795 Received DATA (on stdin) 07:52:20.424808 > 27 bytes data, server => client 07:52:20.424819 '-ERR Unrecognized command\r\n' 07:52:20.424870 < 21 bytes data, client => server 07:52:20.424882 'RETR verifiedserver\r\n' 07:52:20.425046 Received DATA (on stdin) 07:52:20.425058 > 26 bytes data, server => client 07:52:20.425068 '+OK Mail transfer starts\r\n' 07:52:20.425089 Received DATA (on stdin) 07:52:20.425099 > 18 bytes data, server => client 07:52:20.425109 'WE ROOLZ: 121498\r\n' 07:52:20.425122 Received DATA (on stdin) 07:52:20.425132 > 3 bytes data, server => client 07:52:20.425142 '.\r\n' 07:52:20.466165 < 6 bytes data, client => server 07:52:20.466198 'QUITCMD (33792): ../libtool --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/valgrind1325 ../src/curl -q --output log/3/curl1325.out --include --trace-ascii log/3/trace1325 --trace-time http://127.0.0.1:34059/we/1325 -L -d "moo" > log/3/stdout1325 2> log/3/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/11/valgrind1326 ../src/curl -q --output log/11/curl1326.out --include --trace-ascii log/11/trace1326 --trace-time telnet://127.0.0.1:38169 --upload-file - log/11/stdout1326 2> log/11/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/21/valgrind1328 ../src/curl -q --output log/21/curl1328.out --include --trace-ascii log/21/trace1328 --trace-time -f 'http://127.0.0.1:45761/[13280000-13280001]' -o log/21/#1 > log/21/stdout1328 2> log/21/stderr1328 \r\n' 07:52:20.466399 Received DATA (on stdin) 07:52:20.466412 > 34 bytes data, server => client 07:52:20.466424 '+OK curl POP3 server signing off\r\n' 07:52:20.468707 ====> Client disconnect 07:52:20.469320 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 91698 === End of file proxy.response === Start of file server.cmd Testnum 1319 === End of file server.cmd === Start of file valgrind1319 ==148936== ==148936== Process terminating with default action of signal 4 (SIGILL) ==148936== Illegal opcode at address 0x4013DC0 ==148936== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148936== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148936== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148936== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1319 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/3/valgrind1325 ../src/curl -q --output log/3/curl1325.out --include --trace-ascii log/3/trace1325 --trace-time http://127.0.0.1:34059/we/1325 -L -d "moo" > log/3/stdout1325 2> log/3/stderr1325 1325: 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/ dir 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/3/valgrind1325 ../src/curl -q --output log/3/curl1325.out --include --trace-ascii log/3/trace1325 --trace-time http://127.0.0.1:34059/we/1325 -L -d "moo" > log/3/stdout1325 2> log/3/stderr1325 === End of file commands.log === Start of file http_server.log 07:52:21.552554 ====> Client connect 07:52:21.552589 accept_connection 3 returned 4 07:52:21.552607 accept_connection 3 returned 0 07:52:21.552623 Read 93 bytes 07:52:21.552634 Process 93 bytes request 07:52:21.552646 Got request: GET /verifiedserver HTTP/1.1 07:52:21.552656 Are-we-friendly question received 07:52:21.552680 Wrote request (93 bytes) input to log/3/server.input 07:52:21.552696 Identifying ourselves as friends 07:52:21.552754 Response sent (56 bytes) and written to log/3/server.response 07:52:21.552764 special request received, no persistency 07:52:21.552774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 46198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1325 ==148951== ==148951== Process terminating with default action of signal 4 (SIGILL) ==148951== Illegal opcode at address 0x4013DC0 ==148951== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==148951== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148951== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==148951== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1325 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/11/valgrind1326 ../src/curl -q --output log/11/curl1326.out --include --trace-ascii log/11/trace1326 --trace-time telnet://127.0.0.1:38169 --upload-file - log/11/stdout1326 2> log/11/stderr1326 1326: 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/ dir 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/11/valgrind1326 ../src/curl -q --output log/11/curl1326.out --include --trace-ascii log/11/trace1326 --trace-time telnet://127.0.0.1:38169 --upload-file - log/11/stdout1326 2> log/11/stderr1326 === End of file commands.log === Start of file http_server.log 07:52:20.748091 ====> Client connect 07:52:20.748133 accept_connection 3 returned 4 07:52:20.748152 accept_connection 3 returned 0 07:52:20.748169 Read 93 bytes 07:52:20.748181 Process 93 bytes request 07:52:20.748196 Got request: GET /verifiedserver HTTP/1.1 07:52:20.748206 Are-we-friendly question received 07:52:20.748234 Wrote request (93 bytes) input to log/11/server.input 07:52:20.748252 Identifying ourselves as friends 07:52:20.748318 Response sent (56 bytes) and written to log/11/server.response 07:52:20.748330 special request received, no persistency 07:52:20.748341 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 59122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === End of file http_verify.out === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74504 === End of file server.response === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==149111== ==149111== Process terminating with default action of signal 4 (SIGILL) ==149111== Illegal opcode at address 0x4013DC0 ==149111== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149111== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149111== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149111== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1326 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/21/valgrind1328 ../src/curl -q --output log/21/curl1328.out --include --trace-ascii log/21/trace1328 --trace-time -f 'http://127.0.0.1:45761/[13280000-13280001]' -o log/21/#1 > log/21/stdout1328 2> log/21/stderr1328 1328: 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/ dir 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/21/valgrind1328 ../src/curl -q --output log/21/curl1328.out --include --trace-ascii log/21/trace1328 --trace-time -f 'http://127.0.0.1:45761/[13280000-13280001]' -o log/21/#1 > log/21/stdout1328 2> log/21/stderr1328 === End of file commands.log === Start of file http_server.log 07:52:20.806394 ====> Client connect 07:52:20.806430 accept_connection 3 returned 4 07:52:20.806448 accept_connection 3 returned 0 07:52:20.806464 Read 93 bytes 07:52:20.806475 Process 93 bytes request 07:52:20.806489 Got request: GET /verifiedserverCMD (33792): ../libtool --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/valgrind1327 ../src/curl -q --include --trace-ascii log/4/trace1327 --trace-time telnet://127.0.0.1:43573 -T log/4/1327.txt log/4/stdout1327 2> log/4/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/12/valgrind1329 ../src/curl -q --output log/12/curl1329.out --include --trace-ascii log/12/trace1329 --trace-time http://127.0.0.1:38023/we/want/that/page/1329 -x "/server" > log/12/stdout1329 2> log/12/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/19/valgrind1332 ../src/curl -q --output log/19/curl1332.out --include --trace-ascii log/19/trace1332 --trace-time http://127.0.0.1:34835/blah/1332 -L -d "moo" --post303 > log/19/stdout1332 2> log/19/stderr1332 HTTP/1.1 07:52:20.806499 Are-we-friendly question received 07:52:20.806526 Wrote request (93 bytes) input to log/21/server.input 07:52:20.806544 Identifying ourselves as friends 07:52:20.806609 Response sent (56 bytes) and written to log/21/server.response 07:52:20.806621 special request received, no persistency 07:52:20.806630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 45954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1328 ==149161== ==149161== Process terminating with default action of signal 4 (SIGILL) ==149161== Illegal opcode at address 0x4013DC0 ==149161== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149161== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149161== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149161== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1328 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/4/valgrind1327 ../src/curl -q --include --trace-ascii log/4/trace1327 --trace-time telnet://127.0.0.1:43573 -T log/4/1327.txt log/4/stdout1327 2> log/4/stderr1327 1327: 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/ dir 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/4/valgrind1327 ../src/curl -q --include --trace-ascii log/4/trace1327 --trace-time telnet://127.0.0.1:43573 -T log/4/1327.txt log/4/stdout1327 2> log/4/stderr1327 === End of file commands.log === Start of file http_server.log 07:52:21.845422 ====> Client connect 07:52:21.845459 accept_connection 3 returned 4 07:52:21.845478 accept_connection 3 returned 0 07:52:21.845494 Read 93 bytes 07:52:21.845506 Process 93 bytes request 07:52:21.845519 Got request: GET /verifiedserver HTTP/1.1 07:52:21.845530 Are-we-friendly question received 07:52:21.845556 Wrote request (93 bytes) input to log/4/server.input 07:52:21.845574 Identifying ourselves as friends 07:52:21.845632 Response sent (56 bytes) and written to log/4/server.response 07:52:21.845645 special request received, no persistency 07:52:21.845655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 33842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === 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 ==149207== ==149207== Process terminating with default action of signal 4 (SIGILL) ==149207== Illegal opcode at address 0x4013DC0 ==149207== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149207== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149207== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149207== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1327 test 1329...[/-prefixed 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/12/valgrind1329 ../src/curl -q --output log/12/curl1329.out --include --trace-ascii log/12/trace1329 --trace-time http://127.0.0.1:38023/we/want/that/page/1329 -x "/server" > log/12/stdout1329 2> log/12/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/12/ dir 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/12/valgrind1329 ../src/curl -q --output log/12/curl1329.out --include --trace-ascii log/12/trace1329 --trace-time http://127.0.0.1:38023/we/want/that/page/1329 -x "/server" > log/12/stdout1329 2> log/12/stderr1329 === End of file commands.log === Start of file http_server.log 07:52:20.869556 ====> Client connect 07:52:20.869589 accept_connection 3 returned 4 07:52:20.869608 accept_connection 3 returned 0 07:52:20.869623 Read 93 bytes 07:52:20.869635 Process 93 bytes request 07:52:20.869650 Got request: GET /verifiedserver HTTP/1.1 07:52:20.869661 Are-we-friendly question received 07:52:20.869687 Wrote request (93 bytes) input to log/12/server.input 07:52:20.869705 Identifying ourselves as friends 07:52:20.869759 Response sent (56 bytes) and written to log/12/server.response 07:52:20.869770 special request received, no persistency 07:52:20.869780 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1329 ==149239== ==149239== Process terminating with default action of signal 4 (SIGILL) ==149239== Illegal opcode at address 0x4013DC0 ==149239== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149239== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149239== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149239== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1329 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/19/valgrind1332 ../src/curl -q --output log/19/curl1332.out --include --trace-ascii log/19/trace1332 --trace-time http://127.0.0.1:34835/blah/1332 -L -d "moo" --post303 > log/19/stdout1332 2> log/19/stderr1332 1332: 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/ dir after test 1332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind -CMD (33792): ../libtool --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/valgrind1331 ../src/curl -q --output log/17/curl1331.out --include --trace-ascii log/17/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:42601 http://z.x.com/1331 --proxy-anyauth -c log/17/dump1331 > log/17/stdout1331 2> log/17/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/24/valgrind1333 ../src/curl -q --output log/24/curl1333.out --include --trace-ascii log/24/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:41843/1333 > log/24/stdout1333 2> log/24/stderr1333 -tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1332 ../src/curl -q --output log/19/curl1332.out --include --trace-ascii log/19/trace1332 --trace-time http://127.0.0.1:34835/blah/1332 -L -d "moo" --post303 > log/19/stdout1332 2> log/19/stderr1332 === End of file commands.log === Start of file http_server.log 07:52:20.992581 ====> Client connect 07:52:20.992622 accept_connection 3 returned 4 07:52:20.992639 accept_connection 3 returned 0 07:52:20.992656 Read 93 bytes 07:52:20.992666 Process 93 bytes request 07:52:20.992680 Got request: GET /verifiedserver HTTP/1.1 07:52:20.992691 Are-we-friendly question received 07:52:20.992802 Wrote request (93 bytes) input to log/19/server.input 07:52:20.992822 Identifying ourselves as friends 07:52:20.992886 Response sent (56 bytes) and written to log/19/server.response 07:52:20.992897 special request received, no persistency 07:52:20.992907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 57532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1332 ==149397== ==149397== Process terminating with default action of signal 4 (SIGILL) ==149397== Illegal opcode at address 0x4013DC0 ==149397== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149397== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149397== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149397== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1332 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/17/valgrind1331 ../src/curl -q --output log/17/curl1331.out --include --trace-ascii log/17/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:42601 http://z.x.com/1331 --proxy-anyauth -c log/17/dump1331 > log/17/stdout1331 2> log/17/stderr1331 1331: 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/ dir 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/17/valgrind1331 ../src/curl -q --output log/17/curl1331.out --include --trace-ascii log/17/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:42601 http://z.x.com/1331 --proxy-anyauth -c log/17/dump1331 > log/17/stdout1331 2> log/17/stderr1331 === End of file commands.log === Start of file http_server.log 07:52:21.973035 ====> Client connect 07:52:21.973071 accept_connection 3 returned 4 07:52:21.973088 accept_connection 3 returned 0 07:52:21.973104 Read 93 bytes 07:52:21.973115 Process 93 bytes request 07:52:21.973128 Got request: GET /verifiedserver HTTP/1.1 07:52:21.973138 Are-we-friendly question received 07:52:21.973161 Wrote request (93 bytes) input to log/17/server.input 07:52:21.973178 Identifying ourselves as friends 07:52:21.973236 Response sent (56 bytes) and written to log/17/server.response 07:52:21.973247 special request received, no persistency 07:52:21.973257 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 34928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1331 ==149360== ==149360== Process terminating with default action of signal 4 (SIGILL) ==149360== Illegal opcode at address 0x4013DC0 ==149360== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149360== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149360== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149360== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1331 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/24/valgrind1333 ../src/curl -q --output log/24/curl1333.out --include --trace-ascii log/24/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:41843/1333 > log/24/stdout1333 2> log/24/stderr1333 1333: 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/ dir 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/24/valgrind1333 ../src/curl -q --output log/24/curl1333.out --include --trace-ascii log/24/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:41843/1333 > log/24/stdout1333 2> log/24/stderr1333 === End of file commands.log === Start of file http_server.log 07:52:21.004221 ====> Client connect 07:52:21.004257 accept_connection 3 returned 4 07:52:21.004275 accept_connection 3 returned 0 07:52:21.004291 Read 93 bytes 07:52:21.004303 Process 93 bytes request 07:52:21.004317 Got request: GET /verifiedserver HTTP/1.1 07:52:21.004328 Are-we-friendly question received 07:52:21.004357 Wrote request (93 bytes) input to log/24/server.input 07:52:21.004375 Identifying ourselves as friends 07:52:21.004436 Response sent (56 bytes) and written to log/24/server.response 07:52:21.004449 special request received, no persistency 07:52:21.004460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 33410 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1333 ==149399== ==149399== Process terminating with default action of signal 4 (SIGILL) ==149399== Illegal opcode at address 0x4013DC0 ==149399== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149399== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149399== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149399== by 0x40037A4: main (tool_main.c:199) === RUN: Process with pid 136142 forced to die with SIGKILL CMD (33792): ../libtool --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/valgrind1335 ../src/curl -q --trace-ascii log/8/trace1335 --trace-time http://127.0.0.1:36147/1335 -O -D - --output-dir="log/8" > log/8/stdout1335 2> log/8/stderr1335 CMD (33792): ../libtool --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/valgrind1334 ../src/curl -q --trace-ascii log/14/trace1334 --trace-time http://127.0.0.1:34115/1334 -O -D log/14/heads1334 --output-dir log/14 > log/14/stdout1334 2> log/14/stderr1334 CMD (33792): ../libtool --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/valgrind1337 ../src/curl -q --trace-ascii log/15/trace1337 --trace-time http://127.0.0.1:43789/1337 -O -D - --output-dir log/15 > log/15/stdout1337 2> log/15/stderr1337 End of file valgrind1333 test 1238...[slow TFTP retrieve cancel due to -Y and -y] ../libtool --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/valgrind1238 ../src/curl -q --output log/23/curl1238.out --include --trace-ascii log/23/trace1238 --trace-time tftp://127.0.0.1:43347//1238 -Y1000 -y2 > log/23/stdout1238 2> log/23/stderr1238 1238: 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/ dir 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/23/valgrind1238 ../src/curl -q --output log/23/curl1238.out --include --trace-ascii log/23/trace1238 --trace-time tftp://127.0.0.1:43347//1238 -Y1000 -y2 > log/23/stdout1238 2> log/23/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 07:52:15.849697 trying to get file: verifiedserver mode 1 07:52:15.849726 Are-we-friendly question received 07:52:15.849742 write 07:52:15.849763 read 07:52:15.850350 read: 4 07:52:15.850406 end of one transfer exit_signal_handler: called === End of file tftp_server.log === Start of file valgrind1238 ==144110== ==144110== Process terminating with default action of signal 4 (SIGILL) ==144110== Illegal opcode at address 0x4013DC0 ==144110== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==144110== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144110== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==144110== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1238 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/8/valgrind1335 ../src/curl -q --trace-ascii log/8/trace1335 --trace-time http://127.0.0.1:36147/1335 -O -D - --output-dir="log/8" > log/8/stdout1335 2> log/8/stderr1335 1335: 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/ dir 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/8/valgrind1335 ../src/curl -q --trace-ascii log/8/trace1335 --trace-time http://127.0.0.1:36147/1335 -O -D - --output-dir="log/8" > log/8/stdout1335 2> log/8/stderr1335 === End of file commands.log === Start of file http_server.log 07:52:21.206562 ====> Client connect 07:52:21.206597 accept_connection 3 returned 4 07:52:21.206614 accept_connection 3 returned 0 07:52:21.212671 Read 93 bytes 07:52:21.212696 Process 93 bytes request 07:52:21.212714 Got request: GET /verifiedserver HTTP/1.1 07:52:21.212725 Are-we-friendly question received 07:52:21.212762 Wrote request (93 bytes) input to log/8/server.input 07:52:21.212782 Identifying ourselves as friends 07:52:21.212842 Response sent (56 bytes) and written to log/8/server.response 07:52:21.212854 special request received, no persistency 07:52:21.212864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 48390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1335 ==149647== ==149647== Process terminating with default action of signal 4 (SIGILL) ==149647== Illegal opcode at address 0x4013DC0 ==149647== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149647== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149647== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149647== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1335 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/14/valgrind1334 ../src/curl -q --trace-ascii log/14/trace1334 --trace-time http://127.0.0.1:34115/1334 -O -D log/14/heads1334 --output-dir log/14 > log/14/stdout1334 2> log/14/stderr1334 1334: 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/ dir 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/14/valgrind1334 ../src/curl -q --trace-ascii log/14/trace1334 --trace-time http://127.0.0.1:34115/1334 -O -D log/14/heads1334 --output-dir log/14 > log/14/stdout1334 2> log/14/stderr1334 === End of file commands.log === Start of file http_server.log 07:52:21.205003 ====> Client connect 07:52:21.205040 accept_connection 3 returned 4 07:52:21.205059 accept_connection 3 returned 0 07:52:21.205077 Read 93 bytes 07:52:21.205089 Process 93 bytes request 07:52:21.205104 Got request: GET /verifiedserver HTTP/1.1 07:52:21.205115 Are-we-friendly question received 07:52:21.205141 Wrote request (93 bytes) input to log/14/server.input 07:52:21.205161 Identifying ourselves as friends 07:52:21.205221 Response sent (56 bytes) and written to log/14/server.response 07:52:21.205234 special request received, no persistency 07:52:21.205245 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 50078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1334 ==149611== ==149611== Process terminating with default action of signal 4 (SIGILL) ==149611== Illegal opcode at address 0x4013DC0 ==149611== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149611== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149611== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149611== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1334 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/15/valgrind1337 ../src/curl -q --trace-ascii log/15/trace1337 --trace-time http://127.0.0.1:43789/1337 -O -D - --output-dir log/15 > log/15/stdout1337 2> log/15/stderr1337 1337: protocol FAILED! There was no content at all in the file log/15/server.input. Server 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/9/valgrind1338 ../src/curl -q --trace-ascii log/9/trace1338 --trace-time http://127.0.0.1:42717/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/16/valgrind1336 ../src/curl -q --trace-ascii log/16/trace1336 --trace-time http://127.0.0.1:44351/1336 -O -D log/16/heads1336 --output-dir log/16 > log/16/stdout1336 2> log/16/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/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:43587/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:35577 > log/1/stdout1321 2> log/1/stderr1321 litch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir 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/15/valgrind1337 ../src/curl -q --trace-ascii log/15/trace1337 --trace-time http://127.0.0.1:43789/1337 -O -D - --output-dir log/15 > log/15/stdout1337 2> log/15/stderr1337 === End of file commands.log === Start of file http_server.log 07:52:21.237974 ====> Client connect 07:52:21.238009 accept_connection 3 returned 4 07:52:21.238027 accept_connection 3 returned 0 07:52:21.238043 Read 93 bytes 07:52:21.238055 Process 93 bytes request 07:52:21.238069 Got request: GET /verifiedserver HTTP/1.1 07:52:21.238080 Are-we-friendly question received 07:52:21.238108 Wrote request (93 bytes) input to log/15/server.input 07:52:21.238126 Identifying ourselves as friends 07:52:21.238188 Response sent (56 bytes) and written to log/15/server.response 07:52:21.238200 special request received, no persistency 07:52:21.238210 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 46042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1337 ==149666== ==149666== Process terminating with default action of signal 4 (SIGILL) ==149666== Illegal opcode at address 0x4013DC0 ==149666== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149666== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149666== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149666== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1337 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:42717/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/ dir 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:42717/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 07:52:21.272581 ====> Client connect 07:52:21.272624 accept_connection 3 returned 4 07:52:21.272645 accept_connection 3 returned 0 07:52:21.272663 Read 93 bytes 07:52:21.272675 Process 93 bytes request 07:52:21.272691 Got request: GET /verifiedserver HTTP/1.1 07:52:21.272702 Are-we-friendly question received 07:52:21.272731 Wrote request (93 bytes) input to log/9/server.input 07:52:21.272750 Identifying ourselves as friends 07:52:21.272851 Response sent (56 bytes) and written to log/9/server.response 07:52:21.272866 special request received, no persistency 07:52:21.272877 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 42100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1338 ==149705== ==149705== Process terminating with default action of signal 4 (SIGILL) ==149705== Illegal opcode at address 0x4013DC0 ==149705== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149705== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149705== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149705== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1338 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/16/valgrind1336 ../src/curl -q --trace-ascii log/16/trace1336 --trace-time http://127.0.0.1:44351/1336 -O -D log/16/heads1336 --output-dir log/16 > log/16/stdout1336 2> log/16/stderr1336 1336: 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/ dir 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/16/valgrind1336 ../src/curl -q --trace-ascii log/16/trace1336 --trace-time http://127.0.0.1:44351/1336 -O -D log/16/heads1336 --output-dir log/16 > log/16/stdout1336 2> log/16/stderr1336 === End of file commands.log === Start of file http_server.log 07:52:21.253324 ====> Client connect 07:52:21.253364 accept_connection 3 returned 4 07:52:21.253383 accept_connection 3 returned 0 07:52:21.259474 Read 93 bytes 07:52:21.259499 Process 93 bytes request 07:52:21.259516 Got request: GET /verifiedserver HTTP/1.1 07:52:21.259527 Are-we-friendly question received 07:52:21.259566 Wrote request (93 bytes) input to log/16/server.input 07:52:21.259587 Identifying ourselves as friends 07:52:21.259651 Response sent (56 bytes) and written to log/16/server.response 07:52:21.259664 special request received, no persistency 07:52:21.259674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 35088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1336 ==149694== ==149694== Process terminating with default action of signal 4 (SIGILL) ==149694== Illegal opcode at address 0x4013DC0 ==149694== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149694== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149694== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149694== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1336 startnew: /usr/bin/perl -I. -I/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/2/valgrind1339 ../src/curl -q --trace-ascii log/2/trace1339 --trace-time http://127.0.0.1:43955/1339 -J -O -D - --output-dir log/2 > log/2/stdout1339 2> log/2/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/13/valgrind1324 ../src/curl -q --output log/13/curl1324.out --include --trace-ascii log/13/trace1324 --trace-time --resolve example.com:38925:[::1] http://example.com:38925/1324 > log/13/stdout1324 2> log/13/stderr1324 rtdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/1/server/http2_server.pid" --logfile "log/1/http2_server.log" --logdir "log/1" --portfile log/1/server/http2_server.port --config log/1/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 148819 port 35577 * pid http-proxy => 148819 148819 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/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:43587/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:35577 > log/1/stdout1321 2> log/1/stderr1321 1321: 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/ dir 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/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:43587/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:35577 > log/1/stdout1321 2> log/1/stderr1321 === End of file commands.log === Start of file http2_server.log 07:52:20.503181 Run as proxy, CONNECT to host 127.0.0.1 07:52:20.503297 Running HTTP IPv4 version on port 35577 07:52:20.503336 Wrote pid 148819 to log/1/server/http2_server.pid 07:52:20.503364 Wrote port 35577 to log/1/server/http2_server.port === End of file http2_server.log === Start of file imap_server.log 07:52:20.599104 ====> Client connect 07:52:20.599353 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:20.599701 < "A001 CAPABILITY" 07:52:20.599750 > "A001 BAD Command[CR][LF]" 07:52:20.599954 < "A002 LIST "verifiedserver" *" 07:52:20.599986 LIST_imap got "verifiedserver" * 07:52:20.600014 > "* LIST () "/" "WE ROOLZ: 118640"[CR][LF]" 07:52:20.600032 > "A002 OK LIST Completed[CR][LF]" 07:52:20.600046 return proof we are we 07:52:20.641819 < "A003 LOGOUT" 07:52:20.641870 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:20.641889 > "A003 OK LOGOUT completed[CR][LF]" 07:52:20.642899 MAIN sockfilt said DISC 07:52:20.642940 ====> Client disconnected 07:52:20.646616 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:20.426924 ====> Client connect 07:52:20.427308 Received DATA (on stdin) 07:52:20.427325 > 178 bytes data, server => client 07:52:20.427338 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:20.427349 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:20.427360 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:20.427370 'rve\r\n' 07:52:20.427460 < 17 bytes data, client => server 07:52:20.427486 'A001 CAPABILITY\r\n' 07:52:20.427697 Received DATA (on stdin) 07:52:20.427713 > 18 bytes data, server => client 07:52:20.427725 'A001 BAD Command\r\n' 07:52:20.427786 < 30 bytes data, client => server 07:52:20.427801 'A002 LIST "verifiedserver" *\r\n' 07:52:20.427988 Received DATA (on stdin) 07:52:20.428001 > 34 bytes data, server => client 07:52:20.428013 '* LIST () "/" "WE ROOLZ: 118640"\r\n' 07:52:20.428035 Received DATA (on stdin) 07:52:20.428045 > 24 bytes data, server => client 07:52:20.428057 'A002 OK LIST Completed\r\n' 07:52:20.469594 < 13 bytes data, client => server 07:52:20.469617 'A003 LOGOUT\r\n' 07:52:20.469832 Received DATA (on stdin) 07:52:20.469846 > 36 bytes data, server => client 07:52:20.469858 '* BYE curl IMAP server signing off\r\n' 07:52:20.469881 Received DATA (on stdin) 07:52:20.469891 > 26 bytes data, server => client 07:52:20.469902 'A003 OK LOGOUT completed\r\n' 07:52:20.470778 ====> Client disconnect 07:52:20.470889 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 ==149926== ==149926== Process terminating with default action of signal 4 (SIGILL) ==149926== Illegal opcode at address 0x4013DC0 ==149926== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149926== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149926== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149926== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1321 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/2/valgrind1339 ../src/curl -q --trace-ascii log/2/trace1339 --trace-time http://127.0.0.1:43955/1339 -J -O -D - --output-dir log/2 > log/2/stdout1339 2> log/2/stderr1339 1339: 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/ dir 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/2/valgrind1339 ../src/curl -q --trace-ascii log/2/trace1339 --trace-time http://127.0.0.1:43955/1339 -J -O -D - --output-dir log/2 > log/2/stdout1339 2> log/2/stderr1339 === End of file commands.log === Start of file http_server.log 07:52:22.419338 ====> Client connect 07:52:22.419380 accept_connection 3 returned 4 07:52:22.419399 accept_connection 3 returned 0 07:52:22.419416 Read 93 bytes 07:52:22.419427 Process 93 bytes request 07:52:22.419442 Got request: GET /verifiedserver HTTP/1.1 07:52:22.419453 Are-we-friendly question received 07:52:22.419479 Wrote request (93 bytes) input to log/2/server.input 07:52:22.419497 Identifying ourselves as friends 07:52:22.419565 Response sent (56 bytes) and written to log/2/server.response 07:52:22.419577 special request received, no persistency 07:52:22.419587 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 56426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1339 ==149905== ==149905== Process terminating with default action of signal 4 (SIGILL) ==149905== Illegal opcode at address 0x4013DC0 ==149905== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149905== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149905== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149905== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1339 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_server.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 148773 port 38925 * pid http-ipv6 => 148773 148773 test 1324...[HTTP with --resolve and [ipv6address]] ../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/22/valgrind1340 ../src/curl -q --trace-ascii log/22/trace1340 --trace-time http://127.0.0.1:40377/1340 -J -O -D log/22/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/22 > log/22/stdout1340 2> log/22/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/valgrind1343 ../src/curl -q --trace-ascii log/7/trace1343 --trace-time http://127.0.0.1:39661/1343 -i -O -D - --output-dir log/7 > log/7/stdout1343 2> log/7/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/10/valgrind1342 ../src/curl -q --trace-ascii log/10/trace1342 --trace-time http://127.0.0.1:34041/1342 -i -O -D log/10/heads1342 --output-dir log/10 > log/10/stdout1342 2> log/10/stderr1342 -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:38925:[::1] http://example.com:38925/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/ dir 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:38925:[::1] http://example.com:38925/1324 > log/13/stdout1324 2> log/13/stderr1324 === End of file commands.log === Start of file http_ipv6_server.log 07:52:20.468711 Running HTTP IPv6 version on port 38925 07:52:20.468799 Wrote pid 148773 to log/13/server/http_ipv6_server.pid 07:52:20.472473 Wrote port 38925 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 ==149915== ==149915== Process terminating with default action of signal 4 (SIGILL) ==149915== Illegal opcode at address 0x4013DC0 ==149915== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==149915== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149915== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==149915== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1324 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/22/valgrind1340 ../src/curl -q --trace-ascii log/22/trace1340 --trace-time http://127.0.0.1:40377/1340 -J -O -D log/22/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/22 > log/22/stdout1340 2> log/22/stderr1340 1340: 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/ dir 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/22/valgrind1340 ../src/curl -q --trace-ascii log/22/trace1340 --trace-time http://127.0.0.1:40377/1340 -J -O -D log/22/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/22 > log/22/stdout1340 2> log/22/stderr1340 === End of file commands.log === Start of file http_server.log 07:52:21.577168 ====> Client connect 07:52:21.577209 accept_connection 3 returned 4 07:52:21.577228 accept_connection 3 returned 0 07:52:21.577245 Read 93 bytes 07:52:21.577255 Process 93 bytes request 07:52:21.577268 Got request: GET /verifiedserver HTTP/1.1 07:52:21.577278 Are-we-friendly question received 07:52:21.577302 Wrote request (93 bytes) input to log/22/server.input 07:52:21.577319 Identifying ourselves as friends 07:52:21.577386 Response sent (56 bytes) and written to log/22/server.response 07:52:21.577399 special request received, no persistency 07:52:21.577409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 52342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.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:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1340 ==150084== ==150084== Process terminating with default action of signal 4 (SIGILL) ==150084== Illegal opcode at address 0x4013DC0 ==150084== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150084== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150084== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150084== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1340 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/7/valgrind1343 ../src/curl -q --trace-ascii log/7/trace1343 --trace-time http://127.0.0.1:39661/1343 -i -O -D - --output-dir log/7 > log/7/stdout1343 2> log/7/stderr1343 1343: 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/ dir 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/7/valgrind1343 ../src/curl -q --trace-ascii log/7/trace1343 --trace-time http://127.0.0.1:39661/1343 -i -O -D - --output-dir log/7 > log/7/stdout1343 2> log/7/stderr1343 === End of file commands.log === Start of file http_server.log 07:52:22.601657 ====> Client connect 07:52:22.601695 accept_connection 3 returned 4 07:52:22.601712 accept_connection 3 returned 0 07:52:22.601861 Read 93 bytes 07:52:22.601875 Process 93 bytes request 07:52:22.601890 Got request: GET /verifiedserver HTTP/1.1 07:52:22.601900 Are-we-friendly question received 07:52:22.601927 Wrote request (93 bytes) input to log/7/server.input 07:52:22.601944 Identifying ourselves as friends 07:52:22.601992 Response sent (56 bytes) and written to log/7/server.response 07:52:22.602002 special request received, no persistency 07:52:22.602012 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 54702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1343 ==150136== ==150136== Process terminating with default action of signal 4 (SIGILL) ==150136== Illegal opcode at address 0x4013DC0 ==150136== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150136== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150136== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150136== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1343 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/10/valgrind1342 ../src/curl -q --trace-ascii log/10/trace1342 --trace-time http://127.0.0.1:34041/1342 -i -O -D log/10/heads1342 --output-dir log/10 > log/10/stdout1342 2> log/10/stderr1342 1342: protocol FAILED! There was no content at all in 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/5/valgrind1341 ../src/curl -q --trace-ascii log/5/trace1341 --trace-time http://127.0.0.1:42797/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/5 > log/5/stdout1341 2> log/5/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/18/valgrind1344 ../src/curl -q --trace-ascii log/18/trace1344 --trace-time http://127.0.0.1:46763/1344 -i -O -D log/18/heads1344 --output-dir log/18 > log/18/stdout1344 2> log/18/stderr1344 he file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir 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/10/valgrind1342 ../src/curl -q --trace-ascii log/10/trace1342 --trace-time http://127.0.0.1:34041/1342 -i -O -D log/10/heads1342 --output-dir log/10 > log/10/stdout1342 2> log/10/stderr1342 === End of file commands.log === Start of file http_server.log 07:52:21.612564 ====> Client connect 07:52:21.612602 accept_connection 3 returned 4 07:52:21.612621 accept_connection 3 returned 0 07:52:21.612637 Read 93 bytes 07:52:21.612649 Process 93 bytes request 07:52:21.612663 Got request: GET /verifiedserver HTTP/1.1 07:52:21.612673 Are-we-friendly question received 07:52:21.612701 Wrote request (93 bytes) input to log/10/server.input 07:52:21.612719 Identifying ourselves as friends 07:52:21.612785 Response sent (56 bytes) and written to log/10/server.response 07:52:21.612798 special request received, no persistency 07:52:21.612808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 37200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1342 ==150156== ==150156== Process terminating with default action of signal 4 (SIGILL) ==150156== Illegal opcode at address 0x4013DC0 ==150156== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150156== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150156== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150156== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1342 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/5/valgrind1341 ../src/curl -q --trace-ascii log/5/trace1341 --trace-time http://127.0.0.1:42797/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/5 > log/5/stdout1341 2> log/5/stderr1341 1341: 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/ dir 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/5/valgrind1341 ../src/curl -q --trace-ascii log/5/trace1341 --trace-time http://127.0.0.1:42797/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/5 > log/5/stdout1341 2> log/5/stderr1341 === End of file commands.log === Start of file http_server.log 07:52:21.615414 ====> Client connect 07:52:21.615459 accept_connection 3 returned 4 07:52:21.615480 accept_connection 3 returned 0 07:52:21.615497 Read 93 bytes 07:52:21.615509 Process 93 bytes request 07:52:21.615523 Got request: GET /verifiedserver HTTP/1.1 07:52:21.615533 Are-we-friendly question received 07:52:21.615562 Wrote request (93 bytes) input to log/5/server.input 07:52:21.615581 Identifying ourselves as friends 07:52:21.615659 Response sent (56 bytes) and written to log/5/server.response 07:52:21.615669 special request received, no persistency 07:52:21.615678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1341 ==150157== ==150157== Process terminating with default action of signal 4 (SIGILL) ==150157== Illegal opcode at address 0x4013DC0 ==150157== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150157== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150157== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150157== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1341 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/18/valgrind1344 ../src/curl -q --trace-ascii log/18/trace1344 --trace-time http://127.0.0.1:46763/1344 -i -O -D log/18/heads1344 --output-dir log/18 > log/18/stdout1344 2> log/18/stderr1344 1344: 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/ dir 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/18/valgrind1344 ../src/curl -q --trace-ascii log/18/trace1344 --trace-time http://127.0.0.1:46763/1344 -i -O -D log/18/heads1344 --output-dir log/18 > log/18/stdout1344 2> log/18/stderr1344 === End of file commands.log === Start of file http_server.log 07:52:22.675935 ====> Client connect 07:52:22.676067 accept_connection 3 returned 4 07:52:22.676085 accept_connection 3 returned 0 07:52:22.676101 Read 93 bytes 07:52:22.676111 Process 93 bytes request 07:52:22.676125 Got request: GET /verifiedserver HTTP/1.1 07:52:22.676134 Are-we-friendly question received 07:52:22.676159 Wrote request (93 bytes) input to log/18/server.input 07:52:22.676176 Identifying ourselves as friends 07:52:22.676235 Response sent (56 bytes) and written to log/18/server.response 07:52:22.676245 special request received, no persistency 07:52:22.676254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1344 ==150246== ==150246== Process terminating with default action of signal 4 (SIGILL) ==150246== Illegal opcode at address 0x4013DC0 ==150246== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150246== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150246== by 0x40037A4: 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/20/valgrind1346 ../src/curl -q --trace-ascii log/20/trace1346 --trace-time http://127.0.0.1:40357/1346 -i -O --output-dir log/20 > log/20/stdout1346 2> log/20/stderr1346 CMD (33792): ../libtool --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/valgrind1345 ../src/curl -q --trace-ascii log/6/trace1345 --trace-time http://127.0.0.1:45933/1345 -i -O -D - --output-dir log/6 > log/6/stdout1345 2> log/6/stderr1345 CMD (33792): ../libtool --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/valgrind1347 ../src/curl -q --trace-ascii log/3/trace1347 --trace-time http://127.0.0.1:34059/1347 -i -O --output-dir log/3 > log/3/stdout1347 2> log/3/stderr1347 n (tool_operate.c:2234) ==150246== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1344 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/20/valgrind1346 ../src/curl -q --trace-ascii log/20/trace1346 --trace-time http://127.0.0.1:40357/1346 -i -O --output-dir log/20 > log/20/stdout1346 2> log/20/stderr1346 1346: 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/ dir 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/20/valgrind1346 ../src/curl -q --trace-ascii log/20/trace1346 --trace-time http://127.0.0.1:40357/1346 -i -O --output-dir log/20 > log/20/stdout1346 2> log/20/stderr1346 === End of file commands.log === Start of file http_server.log 07:52:21.910803 ====> Client connect 07:52:21.910845 accept_connection 3 returned 4 07:52:21.910863 accept_connection 3 returned 0 07:52:21.910879 Read 93 bytes 07:52:21.910890 Process 93 bytes request 07:52:21.910906 Got request: GET /verifiedserver HTTP/1.1 07:52:21.910916 Are-we-friendly question received 07:52:21.910944 Wrote request (93 bytes) input to log/20/server.input 07:52:21.910963 Identifying ourselves as friends 07:52:21.911024 Response sent (56 bytes) and written to log/20/server.response 07:52:21.911036 special request received, no persistency 07:52:21.911046 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 59192 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1346 ==150449== ==150449== Process terminating with default action of signal 4 (SIGILL) ==150449== Illegal opcode at address 0x4013DC0 ==150449== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150449== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150449== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150449== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1346 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/6/valgrind1345 ../src/curl -q --trace-ascii log/6/trace1345 --trace-time http://127.0.0.1:45933/1345 -i -O -D - --output-dir log/6 > log/6/stdout1345 2> log/6/stderr1345 1345: 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/ dir 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/6/valgrind1345 ../src/curl -q --trace-ascii log/6/trace1345 --trace-time http://127.0.0.1:45933/1345 -i -O -D - --output-dir log/6 > log/6/stdout1345 2> log/6/stderr1345 === End of file commands.log === Start of file http_server.log 07:52:21.887030 ====> Client connect 07:52:21.887067 accept_connection 3 returned 4 07:52:21.887086 accept_connection 3 returned 0 07:52:21.887101 Read 93 bytes 07:52:21.887112 Process 93 bytes request 07:52:21.887127 Got request: GET /verifiedserver HTTP/1.1 07:52:21.887137 Are-we-friendly question received 07:52:21.887165 Wrote request (93 bytes) input to log/6/server.input 07:52:21.887184 Identifying ourselves as friends 07:52:21.887245 Response sent (56 bytes) and written to log/6/server.response 07:52:21.887257 special request received, no persistency 07:52:21.887267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 52570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1345 ==150430== ==150430== Process terminating with default action of signal 4 (SIGILL) ==150430== Illegal opcode at address 0x4013DC0 ==150430== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150430== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150430== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150430== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1345 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/3/valgrind1347 ../src/curl -q --trace-ascii log/3/trace1347 --trace-time http://127.0.0.1:34059/1347 -i -O --output-dir log/3 > log/3/stdout1347 2> log/3/stderr1347 1347: 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/ dir 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/3/valgrind1347 ../src/curl -q --trace-ascii log/3/trace1347 --trace-time http://127.0.0.1:34059/1347 -i -O --output-dir log/3 > log/3/stdout1347 2> log/3/stderr1347 === End of file commands.log === Start of file http_server.log 07:52:22.936157 ====> Client connect 07:52:22.936192 accept_connection 3 returned 4 07:52:22.936209 accept_connection 3 returned 0 07:52:22.936224 Read 93 bytes 07:52:22.936234 Process 93 bytes request 07:52:22.936248 Got request: GET /verifiedserver HTTP/1.1 07:52:22.936257 Are-we-friendly question received 07:52:22.936282 Wrote request (93 bytes) input to log/3/server.input 07:52:22.936299 Identifying ourselves as friends 07:52:22.936353 Response sent (56 bytes) and written to log/3/server.response 07:52:22.936363 special request received, no persistency 07:52:22.936373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 46208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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-LenCMD (33792): ../libtool --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/valgrind1351 ../src/curl -q --trace-ascii log/12/trace1351 --trace-time ftp://127.0.0.1:46141/path/file1351 -O -J -D log/12/heads1351 --output-dir log/12 > log/12/stdout1351 2> log/12/stderr1351 CMD (33792): ../libtool --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/valgrind1348 ../src/curl -q --trace-ascii log/11/trace1348 --trace-time ftp://127.0.0.1:46223/path/file1348 -O --output-dir log/11 > log/11/stdout1348 2> log/11/stderr1348 gth: 17 WE ROOLZ: 74873 === End of file server.response === Start of file valgrind1347 ==150467== ==150467== Process terminating with default action of signal 4 (SIGILL) ==150467== Illegal opcode at address 0x4013DC0 ==150467== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150467== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150467== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150467== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1347 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/12/valgrind1351 ../src/curl -q --trace-ascii log/12/trace1351 --trace-time ftp://127.0.0.1:46141/path/file1351 -O -J -D log/12/heads1351 --output-dir log/12 > log/12/stdout1351 2> log/12/stderr1351 1351: 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/ dir 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/12/valgrind1351 ../src/curl -q --trace-ascii log/12/trace1351 --trace-time ftp://127.0.0.1:46141/path/file1351 -O -J -D log/12/heads1351 --output-dir log/12 > log/12/stdout1351 2> log/12/stderr1351 === End of file commands.log === Start of file ftp_server.log 07:52:22.443916 ====> Client connect 07:52:22.444082 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.444406 < "USER anonymous" 07:52:22.444450 > "331 We are happy you popped in![CR][LF]" 07:52:22.445013 < "PASS ftp@example.com" 07:52:22.445055 > "230 Welcome you silly person[CR][LF]" 07:52:22.445289 < "PWD" 07:52:22.445327 > "257 "/" is current directory[CR][LF]" 07:52:22.445582 < "EPSV" 07:52:22.445609 ====> Passive DATA channel requested by client 07:52:22.445624 DATA sockfilt for passive data channel starting... 07:52:22.448424 DATA sockfilt for passive data channel started (pid 150683) 07:52:22.448565 DATA sockfilt for passive data channel listens on port 43899 07:52:22.448613 > "229 Entering Passive Mode (|||43899|)[CR][LF]" 07:52:22.448633 Client has been notified that DATA conn will be accepted on port 43899 07:52:22.448987 Client connects to port 43899 07:52:22.449018 ====> Client established passive DATA connection on port 43899 07:52:22.449103 < "TYPE I" 07:52:22.449137 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.449361 < "SIZE verifiedserver" 07:52:22.449403 > "213 17[CR][LF]" 07:52:22.449572 < "RETR verifiedserver" 07:52:22.449611 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.449697 =====> Closing passive DATA connection... 07:52:22.449716 Server disconnects passive DATA connection 07:52:22.449985 Server disconnected passive DATA connection 07:52:22.450014 DATA sockfilt for passive data channel quits (pid 150683) 07:52:22.450285 DATA sockfilt for passive data channel quit (pid 150683) 07:52:22.450312 =====> Closed passive DATA connection 07:52:22.450341 > "226 File transfer complete[CR][LF]" 07:52:22.496523 < "QUIT" 07:52:22.496571 > "221 bye bye baby[CR][LF]" 07:52:22.497529 MAIN sockfilt said DISC 07:52:22.497584 ====> Client disconnected 07:52:22.497657 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.271732 ====> Client connect 07:52:22.272045 Received DATA (on stdin) 07:52:22.272064 > 160 bytes data, server => client 07:52:22.272078 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.272091 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.272102 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.272186 < 16 bytes data, client => server 07:52:22.272203 'USER anonymous\r\n' 07:52:22.272398 Received DATA (on stdin) 07:52:22.272414 > 33 bytes data, server => client 07:52:22.272426 '331 We are happy you popped in!\r\n' 07:52:22.272482 < 22 bytes data, client => server 07:52:22.272511 'PASS ftp@example.com\r\n' 07:52:22.273001 Received DATA (on stdin) 07:52:22.273016 > 30 bytes data, server => client 07:52:22.273029 '230 Welcome you silly person\r\n' 07:52:22.273087 < 5 bytes data, client => server 07:52:22.273273 'PWD\r\n' 07:52:22.273290 Received DATA (on stdin) 07:52:22.273302 > 30 bytes data, server => client 07:52:22.273314 '257 "/" is current directory\r\n' 07:52:22.273378 < 6 bytes data, client => server 07:52:22.273392 'EPSV\r\n' 07:52:22.276587 Received DATA (on stdin) 07:52:22.276612 > 39 bytes data, server => client 07:52:22.276650 '229 Entering Passive Mode (|||43899|)\r\n' 07:52:22.276793 < 8 bytes data, client => server 07:52:22.276810 'TYPE I\r\n' 07:52:22.277082 Received DATA (on stdin) 07:52:22.277096 > 33 bytes data, server => client 07:52:22.277108 '200 I modify TYPE as you wanted\r\n' 07:52:22.277205 < 21 bytes data, client => server 07:52:22.277221 'SIZE verifiedserver\r\n' 07:52:22.277346 Received DATA (on stdin) 07:52:22.277360 > 8 bytes data, server => client 07:52:22.277371 '213 17\r\n' 07:52:22.277423 < 21 bytes data, client => server 07:52:22.277436 'RETR verifiedserver\r\n' 07:52:22.277763 Received DATA (on stdin) 07:52:22.277777 > 29 bytes data, server => client 07:52:22.277791 '150 Binary junk (17 bytes).\r\n' 07:52:22.278285 Received DATA (on stdin) 07:52:22.278300 > 28 bytes data, server => client 07:52:22.278312 '226 File transfer complete\r\n' 07:52:22.324294 < 6 bytes data, client => server 07:52:22.324322 'QUIT\r\n' 07:52:22.324517 Received DATA (on stdin) 07:52:22.324532 > 18 bytes data, server => client 07:52:22.324544 '221 bye bye baby\r\n' 07:52:22.325397 ====> Client disconnect 07:52:22.325600 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.276146 Running IPv4 version 07:52:22.276219 Listening on port 43899 07:52:22.276258 Wrote pid 150683 to log/12/server/ftp_sockdata.pid 07:52:22.276298 Received PING (on stdin) 07:52:22.276415 Received PORT (on stdin) 07:52:22.276833 ====> Client connect 07:52:22.277664 Received DATA (on stdin) 07:52:22.277679 > 17 bytes data, server => client 07:52:22.277691 'WE ROOLZ: 80617\r\n' 07:52:22.277719 Received DISC (on stdin) 07:52:22.277732 ====> Client forcibly disconnected 07:52:22.277965 Received QUIT (on stdin) 07:52:22.277979 quits 07:52:22.278040 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==150743== ==150743== Process terminating with default action of signal 4 (SIGILL) ==150743== Illegal opcode at address 0x4013DC0 ==150743== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150743== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150743== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150743== by 0x40037A4: main (tool_main.c:199) === 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/11/valgrind1348 ../src/curl -q --trace-ascii log/11/trace1348 --trace-time ftp://127.0.0.1:46223/path/file1348 -O --output-dir log/11 > log/11/stdout1348 2> log/11/stderr1348 1348: 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/ dir 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/11/valgrind1348 ../src/curl -q --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/21/valgrind1349 ../src/curl -q --trace-ascii log/21/trace1349 --trace-time ftp://127.0.0.1:32857/path/file1349 -O -D log/21/heads1349 --output-dir log/21 > log/21/stdout1349 2> log/21/stderr1349 i log/11/trace1348 --trace-time ftp://127.0.0.1:46223/path/file1348 -O --output-dir log/11 > log/11/stdout1348 2> log/11/stderr1348 === End of file commands.log === Start of file ftp_server.log 07:52:22.329293 ====> Client connect 07:52:22.329464 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.329794 < "USER anonymous" 07:52:22.329830 > "331 We are happy you popped in![CR][LF]" 07:52:22.330009 < "PASS ftp@example.com" 07:52:22.330038 > "230 Welcome you silly person[CR][LF]" 07:52:22.330208 < "PWD" 07:52:22.330247 > "257 "/" is current directory[CR][LF]" 07:52:22.330433 < "EPSV" 07:52:22.330458 ====> Passive DATA channel requested by client 07:52:22.330473 DATA sockfilt for passive data channel starting... 07:52:22.332555 DATA sockfilt for passive data channel started (pid 150621) 07:52:22.332674 DATA sockfilt for passive data channel listens on port 41037 07:52:22.332727 > "229 Entering Passive Mode (|||41037|)[CR][LF]" 07:52:22.332748 Client has been notified that DATA conn will be accepted on port 41037 07:52:22.333322 Client connects to port 41037 07:52:22.333359 ====> Client established passive DATA connection on port 41037 07:52:22.333436 < "TYPE I" 07:52:22.333467 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.333643 < "SIZE verifiedserver" 07:52:22.333683 > "213 17[CR][LF]" 07:52:22.333854 < "RETR verifiedserver" 07:52:22.333889 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.333972 =====> Closing passive DATA connection... 07:52:22.333989 Server disconnects passive DATA connection 07:52:22.335142 Server disconnected passive DATA connection 07:52:22.335174 DATA sockfilt for passive data channel quits (pid 150621) 07:52:22.335433 DATA sockfilt for passive data channel quit (pid 150621) 07:52:22.335462 =====> Closed passive DATA connection 07:52:22.335490 > "226 File transfer complete[CR][LF]" 07:52:22.384794 < "QUIT" 07:52:22.384851 > "221 bye bye baby[CR][LF]" 07:52:22.385990 MAIN sockfilt said DISC 07:52:22.386032 ====> Client disconnected 07:52:22.386103 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.157093 ====> Client connect 07:52:22.157421 Received DATA (on stdin) 07:52:22.157438 > 160 bytes data, server => client 07:52:22.157452 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.157465 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.157476 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.157576 < 16 bytes data, client => server 07:52:22.157592 'USER anonymous\r\n' 07:52:22.157776 Received DATA (on stdin) 07:52:22.157790 > 33 bytes data, server => client 07:52:22.157803 '331 We are happy you popped in!\r\n' 07:52:22.157857 < 22 bytes data, client => server 07:52:22.157870 'PASS ftp@example.com\r\n' 07:52:22.157979 Received DATA (on stdin) 07:52:22.157993 > 30 bytes data, server => client 07:52:22.158005 '230 Welcome you silly person\r\n' 07:52:22.158057 < 5 bytes data, client => server 07:52:22.158071 'PWD\r\n' 07:52:22.158191 Received DATA (on stdin) 07:52:22.158205 > 30 bytes data, server => client 07:52:22.158218 '257 "/" is current directory\r\n' 07:52:22.158282 < 6 bytes data, client => server 07:52:22.158297 'EPSV\r\n' 07:52:22.160695 Received DATA (on stdin) 07:52:22.160709 > 39 bytes data, server => client 07:52:22.160722 '229 Entering Passive Mode (|||41037|)\r\n' 07:52:22.160841 < 8 bytes data, client => server 07:52:22.160858 'TYPE I\r\n' 07:52:22.161410 Received DATA (on stdin) 07:52:22.161424 > 33 bytes data, server => client 07:52:22.161437 '200 I modify TYPE as you wanted\r\n' 07:52:22.161491 < 21 bytes data, client => server 07:52:22.161506 'SIZE verifiedserver\r\n' 07:52:22.161626 Received DATA (on stdin) 07:52:22.161640 > 8 bytes data, server => client 07:52:22.161651 '213 17\r\n' 07:52:22.161703 < 21 bytes data, client => server 07:52:22.161718 'RETR verifiedserver\r\n' 07:52:22.161933 Received DATA (on stdin) 07:52:22.161947 > 29 bytes data, server => client 07:52:22.161959 '150 Binary junk (17 bytes).\r\n' 07:52:22.163434 Received DATA (on stdin) 07:52:22.163448 > 28 bytes data, server => client 07:52:22.163461 '226 File transfer complete\r\n' 07:52:22.212524 < 6 bytes data, client => server 07:52:22.212577 'QUIT\r\n' 07:52:22.212798 Received DATA (on stdin) 07:52:22.212813 > 18 bytes data, server => client 07:52:22.212826 '221 bye bye baby\r\n' 07:52:22.213868 ====> Client disconnect 07:52:22.214043 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.160174 Running IPv4 version 07:52:22.160244 Listening on port 41037 07:52:22.160285 Wrote pid 150621 to log/11/server/ftp_sockdata.pid 07:52:22.160433 Received PING (on stdin) 07:52:22.160523 Received PORT (on stdin) 07:52:22.160896 ====> Client connect 07:52:22.162883 Received DATA (on stdin) 07:52:22.162903 > 17 bytes data, server => client 07:52:22.162916 'WE ROOLZ: 83264\r\n' 07:52:22.162949 Received DISC (on stdin) 07:52:22.162964 ====> Client forcibly disconnected 07:52:22.163125 Received QUIT (on stdin) 07:52:22.163140 quits 07:52:22.163208 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==150654== ==150654== Process terminating with default action of signal 4 (SIGILL) ==150654== Illegal opcode at address 0x4013DC0 ==150654== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150654== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150654== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150654== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1348 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/21/valgrind1349 ../src/curl -q --trace-ascii log/21/trace1349 --trace-time ftp://127.0.0.1:32857/path/file1349 -O -D log/21/heads1349 --output-dir log/21 > log/21/stdout1349 2> log/21/stderr1349 1349: 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/ dir 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/21/valgrind1349 ../src/curl -q --trace-ascii log/21/trace1349 --trace-time ftp://127.0.0.1:32857/path/file1349 -O -D log/21/heads1349 --output-dir log/21 > log/21/stdout1349 2> log/21/stderr1349 === End of file commands.log === Start of file ftp_server.log 07:52:22.358043 ====> Client connect 07:52:22.358222 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.358661 < "USER anonymous" 07:52:22.358706 > "331 We are happy you popped in![CR][LF]" 07:52:22.359203 < "PASS ftp@example.com" 07:52:22.359248 > "230 Welcome you silly person[CR][LF]" 07:52:22.359555 < "PWD" 07:52:22.359595 > "257 "/" is current directory[CR][LF]" 07:52:22.359793 < "EPSV" 07:52:22.359820 ====> Passive DATA channel requested by client 07:52:22.359834 DATA sockfilt for passive data channel starting... 07:52:22.368462 DATA sockfilt for passive data channel started (pid 150631) 07:52:22.368609 DATA sockfilt for passive data channel listens on port 33727 07:52:22.368669 > "229 Entering Passive Mode (|||33727|)[CR][LF]" 07:52:22.368694 Client has been notified that DATA conn will be accepted on port 33727 07:52:22.369019 Client connects to port 33727 07:52:22.369055 ====> Client established passive DATA connection on port 33727 07:52:22.369159 < "TYPE I" 07:52:22.369202 > "200 I modify CMD (33792): ../libtool --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/valgrind1350 ../src/curl -q --trace-ascii log/4/trace1350 --trace-time ftp://127.0.0.1:37071/path/file1350 -O -D - --output-dir log/4 > log/4/stdout1350 2> log/4/stderr1350 TYPE as you wanted[CR][LF]" 07:52:22.369395 < "SIZE verifiedserver" 07:52:22.369440 > "213 17[CR][LF]" 07:52:22.369610 < "RETR verifiedserver" 07:52:22.369646 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.369737 =====> Closing passive DATA connection... 07:52:22.369756 Server disconnects passive DATA connection 07:52:22.370023 Server disconnected passive DATA connection 07:52:22.370056 DATA sockfilt for passive data channel quits (pid 150631) 07:52:22.370299 DATA sockfilt for passive data channel quit (pid 150631) 07:52:22.370327 =====> Closed passive DATA connection 07:52:22.370356 > "226 File transfer complete[CR][LF]" 07:52:22.419429 < "QUIT" 07:52:22.419489 > "221 bye bye baby[CR][LF]" 07:52:22.420624 MAIN sockfilt said DISC 07:52:22.420670 ====> Client disconnected 07:52:22.420752 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.185858 ====> Client connect 07:52:22.186180 Received DATA (on stdin) 07:52:22.186199 > 160 bytes data, server => client 07:52:22.186213 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.186225 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.186237 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.186435 < 16 bytes data, client => server 07:52:22.186452 'USER anonymous\r\n' 07:52:22.186650 Received DATA (on stdin) 07:52:22.186664 > 33 bytes data, server => client 07:52:22.186675 '331 We are happy you popped in!\r\n' 07:52:22.186732 < 22 bytes data, client => server 07:52:22.186858 'PASS ftp@example.com\r\n' 07:52:22.187192 Received DATA (on stdin) 07:52:22.187234 > 30 bytes data, server => client 07:52:22.187247 '230 Welcome you silly person\r\n' 07:52:22.187317 < 5 bytes data, client => server 07:52:22.187334 'PWD\r\n' 07:52:22.187538 Received DATA (on stdin) 07:52:22.187552 > 30 bytes data, server => client 07:52:22.187564 '257 "/" is current directory\r\n' 07:52:22.187634 < 6 bytes data, client => server 07:52:22.187648 'EPSV\r\n' 07:52:22.196647 Received DATA (on stdin) 07:52:22.196666 > 39 bytes data, server => client 07:52:22.196679 '229 Entering Passive Mode (|||33727|)\r\n' 07:52:22.196866 < 8 bytes data, client => server 07:52:22.196885 'TYPE I\r\n' 07:52:22.197148 Received DATA (on stdin) 07:52:22.197162 > 33 bytes data, server => client 07:52:22.197175 '200 I modify TYPE as you wanted\r\n' 07:52:22.197236 < 21 bytes data, client => server 07:52:22.197250 'SIZE verifiedserver\r\n' 07:52:22.197383 Received DATA (on stdin) 07:52:22.197396 > 8 bytes data, server => client 07:52:22.197408 '213 17\r\n' 07:52:22.197461 < 21 bytes data, client => server 07:52:22.197474 'RETR verifiedserver\r\n' 07:52:22.197702 Received DATA (on stdin) 07:52:22.197716 > 29 bytes data, server => client 07:52:22.197728 '150 Binary junk (17 bytes).\r\n' 07:52:22.198300 Received DATA (on stdin) 07:52:22.198314 > 28 bytes data, server => client 07:52:22.198326 '226 File transfer complete\r\n' 07:52:22.246801 < 6 bytes data, client => server 07:52:22.247182 'QUIT\r\n' 07:52:22.247435 Received DATA (on stdin) 07:52:22.247449 > 18 bytes data, server => client 07:52:22.247462 '221 bye bye baby\r\n' 07:52:22.248503 ====> Client disconnect 07:52:22.248694 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.196181 Running IPv4 version 07:52:22.196263 Listening on port 33727 07:52:22.196305 Wrote pid 150631 to log/21/server/ftp_sockdata.pid 07:52:22.196331 Received PING (on stdin) 07:52:22.196450 Received PORT (on stdin) 07:52:22.196910 ====> Client connect 07:52:22.197757 Received DATA (on stdin) 07:52:22.197772 > 17 bytes data, server => client 07:52:22.197784 'WE ROOLZ: 83057\r\n' 07:52:22.197810 Received DISC (on stdin) 07:52:22.197822 ====> Client forcibly disconnected 07:52:22.198009 Received QUIT (on stdin) 07:52:22.198023 quits 07:52:22.198083 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==150685== ==150685== Process terminating with default action of signal 4 (SIGILL) ==150685== Illegal opcode at address 0x4013DC0 ==150685== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150685== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150685== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150685== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1349 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/4/valgrind1350 ../src/curl -q --trace-ascii log/4/trace1350 --trace-time ftp://127.0.0.1:37071/path/file1350 -O -D - --output-dir log/4 > log/4/stdout1350 2> log/4/stderr1350 1350: 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/ dir 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/4/valgrind1350 ../src/curl -q --trace-ascii log/4/trace1350 --trace-time ftp://127.0.0.1:37071/path/file1350 -O -D - --output-dir log/4 > log/4/stdout1350 2> log/4/stderr1350 === End of file commands.log === Start of file ftp_server.log 07:52:22.474755 ====> Client connect 07:52:22.474937 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.482377 < "USER anonymous" 07:52:22.482425 > "331 We are happy you popped in![CR][LF]" 07:52:22.482629 < "PASS ftp@example.com" 07:52:22.482665 > "230 Welcome you silly person[CR][LF]" 07:52:22.483333 < "PWD" 07:52:22.483374 > "257 "/" is current directory[CR][LF]" 07:52:22.483621 < "EPSV" 07:52:22.483650 ====> Passive DATA channel requested by client 07:52:22.483665 DATA sockfilt for passive data channel starting... 07:52:22.488704 DATA sockfilt for passive data channel started (pid 150695) 07:52:22.488832 DATA sockfilt for passive data channel listens on port 37333 07:52:22.488886 > "229 Entering Passive Mode (|||37333|)[CR][LF]" 07:52:22.488914 Client has been notified that DATA conn will be accepted on port 37333 07:52:22.489194 Client connects to port 37333 07:52:22.489228 ====> Client established passive DATA connection on port 37333 07:52:22.489322 < "TYPE I" 07:52:22.489356 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.489545 < "SIZE verifiedserver" 07:52:22.489591 > "213 17[CR][LF]" 07:52:22.489774 < "RETR verifiedserver" 07:52:22.489813 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.489908 =====> Closing passive DATA connection... 07:52:22.489927 Server disconnects passive DATA connection 07:52:22.490214 Server disconnected passive DATA connection 07:52:22.490246 DATA sockfilt for passive data channel quits (pid 150695) 07:52:22.490470 DATA sockfilt for passive data channel quit (pid 150695) 07:52:22.490495 =====> Closed passive DATA connection 07:52:22.490526 > "226 File transfer complete[CR][LF]" 07:52:22.533302 < "QUIT" 07:52:22.533354 > "221 bye bye baby[CR][LF]" 07:52:22.534848 MAIN sockfilt said DISC 07:52:22.534894 ====> Client disconnected 07:52:22.534958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.302564 ====> Client connect 07:52:22.302898 Received DATA (on stdin) 07:52:22.302917 > 160 bytes data, server => client 07:52:22.302931 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.302943 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.302955 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.310124 < 16 bytes data, client => server 07:52:22.310150 'USER anonymous\r\n' 07:52:22.310373 Received DATA (on stdin) 07:52:22.310388 > 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/17/valgrind1353 ../src/curl -q --trace-ascii log/17/trace1353 --trace-time ftp://127.0.0.1:44771/path/file1353 -O -i -D log/17/heads1353 --output-dir log/17 > log/17/stdout1353 2> log/17/stderr1353 ta, server => client 07:52:22.310401 '331 We are happy you popped in!\r\n' 07:52:22.310460 < 22 bytes data, client => server 07:52:22.310474 'PASS ftp@example.com\r\n' 07:52:22.310607 Received DATA (on stdin) 07:52:22.310620 > 30 bytes data, server => client 07:52:22.310632 '230 Welcome you silly person\r\n' 07:52:22.311155 < 5 bytes data, client => server 07:52:22.311175 'PWD\r\n' 07:52:22.311301 Received DATA (on stdin) 07:52:22.311315 > 30 bytes data, server => client 07:52:22.311328 '257 "/" is current directory\r\n' 07:52:22.311461 < 6 bytes data, client => server 07:52:22.311476 'EPSV\r\n' 07:52:22.316863 Received DATA (on stdin) 07:52:22.316878 > 39 bytes data, server => client 07:52:22.316891 '229 Entering Passive Mode (|||37333|)\r\n' 07:52:22.317044 < 8 bytes data, client => server 07:52:22.317064 'TYPE I\r\n' 07:52:22.317302 Received DATA (on stdin) 07:52:22.317317 > 33 bytes data, server => client 07:52:22.317330 '200 I modify TYPE as you wanted\r\n' 07:52:22.317388 < 21 bytes data, client => server 07:52:22.317402 'SIZE verifiedserver\r\n' 07:52:22.317536 Received DATA (on stdin) 07:52:22.317550 > 8 bytes data, server => client 07:52:22.317562 '213 17\r\n' 07:52:22.317618 < 21 bytes data, client => server 07:52:22.317633 'RETR verifiedserver\r\n' 07:52:22.317871 Received DATA (on stdin) 07:52:22.317886 > 29 bytes data, server => client 07:52:22.317898 '150 Binary junk (17 bytes).\r\n' 07:52:22.318470 Received DATA (on stdin) 07:52:22.318484 > 28 bytes data, server => client 07:52:22.318497 '226 File transfer complete\r\n' 07:52:22.361034 < 6 bytes data, client => server 07:52:22.361065 'QUIT\r\n' 07:52:22.361300 Received DATA (on stdin) 07:52:22.361315 > 18 bytes data, server => client 07:52:22.361327 '221 bye bye baby\r\n' 07:52:22.362311 ====> Client disconnect 07:52:22.362899 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.315769 Running IPv4 version 07:52:22.315857 Listening on port 37333 07:52:22.315899 Wrote pid 150695 to log/4/server/ftp_sockdata.pid 07:52:22.316567 Received PING (on stdin) 07:52:22.316678 Received PORT (on stdin) 07:52:22.317088 ====> Client connect 07:52:22.317962 Received DATA (on stdin) 07:52:22.317980 > 17 bytes data, server => client 07:52:22.317992 'WE ROOLZ: 80637\r\n' 07:52:22.318025 Received DISC (on stdin) 07:52:22.318039 ====> Client forcibly disconnected 07:52:22.318196 Received QUIT (on stdin) 07:52:22.318209 quits 07:52:22.318275 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==150863== ==150863== Process terminating with default action of signal 4 (SIGILL) ==150863== Illegal opcode at address 0x4013DC0 ==150863== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150863== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150863== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150863== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1350 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/17/valgrind1353 ../src/curl -q --trace-ascii log/17/trace1353 --trace-time ftp://127.0.0.1:44771/path/file1353 -O -i -D log/17/heads1353 --output-dir log/17 > log/17/stdout1353 2> log/17/stderr1353 1353: 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/ dir 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/17/valgrind1353 ../src/curl -q --trace-ascii log/17/trace1353 --trace-time ftp://127.0.0.1:44771/path/file1353 -O -i -D log/17/heads1353 --output-dir log/17 > log/17/stdout1353 2> log/17/stderr1353 === End of file commands.log === Start of file ftp_server.log 07:52:22.586461 ====> Client connect 07:52:22.586616 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.586913 < "USER anonymous" 07:52:22.586956 > "331 We are happy you popped in![CR][LF]" 07:52:22.587142 < "PASS ftp@example.com" 07:52:22.587173 > "230 Welcome you silly person[CR][LF]" 07:52:22.587329 < "PWD" 07:52:22.587358 > "257 "/" is current directory[CR][LF]" 07:52:22.587518 < "EPSV" 07:52:22.587542 ====> Passive DATA channel requested by client 07:52:22.587556 DATA sockfilt for passive data channel starting... 07:52:22.597412 DATA sockfilt for passive data channel started (pid 150844) 07:52:22.597545 DATA sockfilt for passive data channel listens on port 45249 07:52:22.597589 > "229 Entering Passive Mode (|||45249|)[CR][LF]" 07:52:22.597610 Client has been notified that DATA conn will be accepted on port 45249 07:52:22.597864 Client connects to port 45249 07:52:22.597900 ====> Client established passive DATA connection on port 45249 07:52:22.598018 < "TYPE I" 07:52:22.598055 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.598401 < "SIZE verifiedserver" 07:52:22.598442 > "213 17[CR][LF]" 07:52:22.600566 < "RETR verifiedserver" 07:52:22.600612 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.600705 =====> Closing passive DATA connection... 07:52:22.600724 Server disconnects passive DATA connection 07:52:22.600970 Server disconnected passive DATA connection 07:52:22.600999 DATA sockfilt for passive data channel quits (pid 150844) 07:52:22.601223 DATA sockfilt for passive data channel quit (pid 150844) 07:52:22.601256 =====> Closed passive DATA connection 07:52:22.601287 > "226 File transfer complete[CR][LF]" 07:52:22.641590 < "QUIT" 07:52:22.641645 > "221 bye bye baby[CR][LF]" 07:52:22.642902 MAIN sockfilt said DISC 07:52:22.642952 ====> Client disconnected 07:52:22.643033 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.414294 ====> Client connect 07:52:22.414570 Received DATA (on stdin) 07:52:22.414587 > 160 bytes data, server => client 07:52:22.414601 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.414614 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.414625 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.414704 < 16 bytes data, client => server 07:52:22.414717 'USER anonymous\r\n' 07:52:22.414901 Received DATA (on stdin) 07:52:22.414915 > 33 bytes data, server => client 07:52:22.414928 '331 We are happy you popped in!\r\n' 07:52:22.414981 < 22 bytes data, client => server 07:52:22.414994 'PASS ftp@example.com\r\n' 07:52:22.415114 Received DATA (on stdin) 07:52:22.415127 > 30 bytes data, server => client 07:52:22.415139 '230 Welcome you silly person\r\n' 07:52:22.415186 < 5 bytes data, client => server 07:52:22.415198 'PWD\r\n' 07:52:22.415297 Received DATA (on stdin) 07:52:22.415310 > 30 bytes data, server => client 07:52:22.415322 '257 "/" is current directory\r\n' 07:52:22.415377 < 6 bytes data, client => server 07:52:22.415389 'EPSV\r\n' 07:52:22.425561 Received DATA (on stdin) 07:52:22.425577 > 39 bytes data, server => client 07:52:22.425588 '229 Entering Passive Mode (|||45249|)\r\n' 07:52:22.425720 < 8 bytes data, client => server 07:52:22.425737 'TYPE I\r\n' 07:52:22.425998 Received DATA (on stdin) 07:52:22.426012 > 33 bytes data, server => client 07:52:22.426024 '200 I modify TYPE as you wanted\r\n' 07:52:22.426239 < 21 bytes data, client => server 07:52:22.426255 'SIZE verifiedserver\r\n' 07:52:22.427410 Received DATA (on stdin) 07:52:22.427431 > 8 bytes data, server => client 07:52:22.427443 '213 17\r\n' 07:52:22.428401 < 21 bytes data, client => server 07:52:22.428418 'RETR verifiedserver\r\n' 07:52:22.428668 Received DATA (on stdin) 07:52:22.428682 > 29 CMD (33792): ../libtool --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/valgrind1355 ../src/curl -q --trace-ascii log/23/trace1355 --trace-time ftp://127.0.0.1:39237/path/file1355 -O -i --output-dir log/23 > log/23/stdout1355 2> log/23/stderr1355 bytes data, server => client 07:52:22.428694 '150 Binary junk (17 bytes).\r\n' 07:52:22.429229 Received DATA (on stdin) 07:52:22.429244 > 28 bytes data, server => client 07:52:22.429255 '226 File transfer complete\r\n' 07:52:22.469330 < 6 bytes data, client => server 07:52:22.469368 'QUIT\r\n' 07:52:22.469592 Received DATA (on stdin) 07:52:22.469610 > 18 bytes data, server => client 07:52:22.469622 '221 bye bye baby\r\n' 07:52:22.470775 ====> Client disconnect 07:52:22.470979 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.420566 Running IPv4 version 07:52:22.420623 Listening on port 45249 07:52:22.420660 Wrote pid 150844 to log/17/server/ftp_sockdata.pid 07:52:22.425281 Received PING (on stdin) 07:52:22.425386 Received PORT (on stdin) 07:52:22.425758 ====> Client connect 07:52:22.428719 Received DATA (on stdin) 07:52:22.428735 > 17 bytes data, server => client 07:52:22.428747 'WE ROOLZ: 80557\r\n' 07:52:22.428775 Received DISC (on stdin) 07:52:22.428789 ====> Client forcibly disconnected 07:52:22.428950 Received QUIT (on stdin) 07:52:22.428963 quits 07:52:22.429021 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==150914== ==150914== Process terminating with default action of signal 4 (SIGILL) ==150914== Illegal opcode at address 0x4013DC0 ==150914== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150914== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150914== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150914== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1353 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/23/valgrind1355 ../src/curl -q --trace-ascii log/23/trace1355 --trace-time ftp://127.0.0.1:39237/path/file1355 -O -i --output-dir log/23 > log/23/stdout1355 2> log/23/stderr1355 1355: 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/ dir 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/23/valgrind1355 ../src/curl -q --trace-ascii log/23/trace1355 --trace-time ftp://127.0.0.1:39237/path/file1355 -O -i --output-dir log/23 > log/23/stdout1355 2> log/23/stderr1355 === End of file commands.log === Start of file ftp_server.log 07:52:22.600172 ====> Client connect 07:52:22.600328 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.600610 < "USER anonymous" 07:52:22.600648 > "331 We are happy you popped in![CR][LF]" 07:52:22.600829 < "PASS ftp@example.com" 07:52:22.600860 > "230 Welcome you silly person[CR][LF]" 07:52:22.601199 < "PWD" 07:52:22.601233 > "257 "/" is current directory[CR][LF]" 07:52:22.601401 < "EPSV" 07:52:22.601430 ====> Passive DATA channel requested by client 07:52:22.601444 DATA sockfilt for passive data channel starting... 07:52:22.603410 DATA sockfilt for passive data channel started (pid 150860) 07:52:22.603511 DATA sockfilt for passive data channel listens on port 33313 07:52:22.603546 > "229 Entering Passive Mode (|||33313|)[CR][LF]" 07:52:22.603563 Client has been notified that DATA conn will be accepted on port 33313 07:52:22.603774 Client connects to port 33313 07:52:22.603802 ====> Client established passive DATA connection on port 33313 07:52:22.603875 < "TYPE I" 07:52:22.603901 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.604049 < "SIZE verifiedserver" 07:52:22.604082 > "213 17[CR][LF]" 07:52:22.608082 < "RETR verifiedserver" 07:52:22.608121 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.608216 =====> Closing passive DATA connection... 07:52:22.608233 Server disconnects passive DATA connection 07:52:22.609446 Server disconnected passive DATA connection 07:52:22.609478 DATA sockfilt for passive data channel quits (pid 150860) 07:52:22.609707 DATA sockfilt for passive data channel quit (pid 150860) 07:52:22.609729 =====> Closed passive DATA connection 07:52:22.609757 > "226 File transfer complete[CR][LF]" 07:52:22.662593 < "QUIT" 07:52:22.662659 > "221 bye bye baby[CR][LF]" 07:52:22.663679 MAIN sockfilt said DISC 07:52:22.663723 ====> Client disconnected 07:52:22.663792 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.428010 ====> Client connect 07:52:22.428285 Received DATA (on stdin) 07:52:22.428302 > 160 bytes data, server => client 07:52:22.428315 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.428327 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.428337 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.428406 < 16 bytes data, client => server 07:52:22.428418 'USER anonymous\r\n' 07:52:22.428592 Received DATA (on stdin) 07:52:22.428605 > 33 bytes data, server => client 07:52:22.428616 '331 We are happy you popped in!\r\n' 07:52:22.428670 < 22 bytes data, client => server 07:52:22.428682 'PASS ftp@example.com\r\n' 07:52:22.428968 Received DATA (on stdin) 07:52:22.428982 > 30 bytes data, server => client 07:52:22.428993 '230 Welcome you silly person\r\n' 07:52:22.429045 < 5 bytes data, client => server 07:52:22.429056 'PWD\r\n' 07:52:22.429189 Received DATA (on stdin) 07:52:22.429202 > 30 bytes data, server => client 07:52:22.429214 '257 "/" is current directory\r\n' 07:52:22.429274 < 6 bytes data, client => server 07:52:22.429286 'EPSV\r\n' 07:52:22.431507 Received DATA (on stdin) 07:52:22.431520 > 39 bytes data, server => client 07:52:22.431531 '229 Entering Passive Mode (|||33313|)\r\n' 07:52:22.431635 < 8 bytes data, client => server 07:52:22.431649 'TYPE I\r\n' 07:52:22.431841 Received DATA (on stdin) 07:52:22.431852 > 33 bytes data, server => client 07:52:22.431863 '200 I modify TYPE as you wanted\r\n' 07:52:22.431910 < 21 bytes data, client => server 07:52:22.431922 'SIZE verifiedserver\r\n' 07:52:22.435840 Received DATA (on stdin) 07:52:22.435858 > 8 bytes data, server => client 07:52:22.435870 '213 17\r\n' 07:52:22.435927 < 21 bytes data, client => server 07:52:22.435940 'RETR verifiedserver\r\n' 07:52:22.436178 Received DATA (on stdin) 07:52:22.436192 > 29 bytes data, server => client 07:52:22.436204 '150 Binary junk (17 bytes).\r\n' 07:52:22.437699 Received DATA (on stdin) 07:52:22.437713 > 28 bytes data, server => client 07:52:22.437724 '226 File transfer complete\r\n' 07:52:22.480717 < 6 bytes data, client => server 07:52:22.480743 'QUIT\r\n' 07:52:22.490617 Received DATA (on stdin) 07:52:22.490637 > 18 bytes data, server => client 07:52:22.490650 '221 bye bye baby\r\n' 07:52:22.491558 ====> Client disconnect 07:52:22.491736 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.431061 Running IPv4 version 07:52:22.431121 Listening on port 33313 07:52:22.431155 Wrote pid 150860 to log/23/server/ftp_sockdata.pid 07:52:22.431296 Received PING (on stdin) 07:52:22.431370 Received PORT (on stdin) 07:52:22.431668 ====> Client connect 07:52:22.436229 Received DATA (on stdin) 07:52:22.436243 > 17 bytes data, server => client 07:52:22.436254 'WE ROOLZ: 82431\r\n' 07:52:22.436277 Received DISC (on stdin) 07:52:22.436290 ====> Client forcibly disconnected 07:52:22.437430 Received QUIT (on stdin) 07:52:22.437443 quits 07:52:22.437499 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==150963== ==150963== Process terminating with default action of signal 4 (SIGICMD (33792): ../libtool --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/valgrind1352 ../src/curl -q --trace-ascii log/19/trace1352 --trace-time ftp://127.0.0.1:44991/path/file1352 -O -J -D - --output-dir log/19 > log/19/stdout1352 2> log/19/stderr1352 CMD (33792): ../libtool --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/valgrind1354 ../src/curl -q --trace-ascii log/24/trace1354 --trace-time ftp://127.0.0.1:36707/path/file1354 -O -i -D - --output-dir log/24 > log/24/stdout1354 2> log/24/stderr1354 LL) ==150963== Illegal opcode at address 0x4013DC0 ==150963== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150963== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150963== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150963== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1355 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/19/valgrind1352 ../src/curl -q --trace-ascii log/19/trace1352 --trace-time ftp://127.0.0.1:44991/path/file1352 -O -J -D - --output-dir log/19 > log/19/stdout1352 2> log/19/stderr1352 1352: 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/ dir 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/19/valgrind1352 ../src/curl -q --trace-ascii log/19/trace1352 --trace-time ftp://127.0.0.1:44991/path/file1352 -O -J -D - --output-dir log/19 > log/19/stdout1352 2> log/19/stderr1352 === End of file commands.log === Start of file ftp_server.log 07:52:22.559037 ====> Client connect 07:52:22.559203 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.559511 < "USER anonymous" 07:52:22.559548 > "331 We are happy you popped in![CR][LF]" 07:52:22.559717 < "PASS ftp@example.com" 07:52:22.559742 > "230 Welcome you silly person[CR][LF]" 07:52:22.559887 < "PWD" 07:52:22.559918 > "257 "/" is current directory[CR][LF]" 07:52:22.560070 < "EPSV" 07:52:22.560091 ====> Passive DATA channel requested by client 07:52:22.560105 DATA sockfilt for passive data channel starting... 07:52:22.581282 DATA sockfilt for passive data channel started (pid 150805) 07:52:22.581725 DATA sockfilt for passive data channel listens on port 33101 07:52:22.581793 > "229 Entering Passive Mode (|||33101|)[CR][LF]" 07:52:22.581813 Client has been notified that DATA conn will be accepted on port 33101 07:52:22.582106 Client connects to port 33101 07:52:22.582141 ====> Client established passive DATA connection on port 33101 07:52:22.582288 < "TYPE I" 07:52:22.582325 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.582497 < "SIZE verifiedserver" 07:52:22.582536 > "213 17[CR][LF]" 07:52:22.582686 < "RETR verifiedserver" 07:52:22.582719 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.582809 =====> Closing passive DATA connection... 07:52:22.582824 Server disconnects passive DATA connection 07:52:22.582946 Server disconnected passive DATA connection 07:52:22.582965 DATA sockfilt for passive data channel quits (pid 150805) 07:52:22.583234 DATA sockfilt for passive data channel quit (pid 150805) 07:52:22.583259 =====> Closed passive DATA connection 07:52:22.583285 > "226 File transfer complete[CR][LF]" 07:52:22.630969 < "QUIT" 07:52:22.631024 > "221 bye bye baby[CR][LF]" 07:52:22.632152 MAIN sockfilt said DISC 07:52:22.632202 ====> Client disconnected 07:52:22.632293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.386858 ====> Client connect 07:52:22.387158 Received DATA (on stdin) 07:52:22.387176 > 160 bytes data, server => client 07:52:22.387189 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.387201 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.387212 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.387304 < 16 bytes data, client => server 07:52:22.387317 'USER anonymous\r\n' 07:52:22.387492 Received DATA (on stdin) 07:52:22.387505 > 33 bytes data, server => client 07:52:22.387516 '331 We are happy you popped in!\r\n' 07:52:22.387568 < 22 bytes data, client => server 07:52:22.387579 'PASS ftp@example.com\r\n' 07:52:22.387682 Received DATA (on stdin) 07:52:22.387693 > 30 bytes data, server => client 07:52:22.387705 '230 Welcome you silly person\r\n' 07:52:22.387749 < 5 bytes data, client => server 07:52:22.387759 'PWD\r\n' 07:52:22.387856 Received DATA (on stdin) 07:52:22.387868 > 30 bytes data, server => client 07:52:22.387879 '257 "/" is current directory\r\n' 07:52:22.387933 < 6 bytes data, client => server 07:52:22.387944 'EPSV\r\n' 07:52:22.409766 Received DATA (on stdin) 07:52:22.409786 > 39 bytes data, server => client 07:52:22.409798 '229 Entering Passive Mode (|||33101|)\r\n' 07:52:22.410107 < 8 bytes data, client => server 07:52:22.410121 'TYPE I\r\n' 07:52:22.410268 Received DATA (on stdin) 07:52:22.410280 > 33 bytes data, server => client 07:52:22.410293 '200 I modify TYPE as you wanted\r\n' 07:52:22.410349 < 21 bytes data, client => server 07:52:22.410362 'SIZE verifiedserver\r\n' 07:52:22.410475 Received DATA (on stdin) 07:52:22.410487 > 8 bytes data, server => client 07:52:22.410499 '213 17\r\n' 07:52:22.410545 < 21 bytes data, client => server 07:52:22.410557 'RETR verifiedserver\r\n' 07:52:22.411230 Received DATA (on stdin) 07:52:22.411245 > 29 bytes data, server => client 07:52:22.411257 '150 Binary junk (17 bytes).\r\n' 07:52:22.411281 Received DATA (on stdin) 07:52:22.411292 > 28 bytes data, server => client 07:52:22.411304 '226 File transfer complete\r\n' 07:52:22.458701 < 6 bytes data, client => server 07:52:22.458730 'QUIT\r\n' 07:52:22.458973 Received DATA (on stdin) 07:52:22.458988 > 18 bytes data, server => client 07:52:22.459001 '221 bye bye baby\r\n' 07:52:22.460022 ====> Client disconnect 07:52:22.460237 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.394928 Running IPv4 version 07:52:22.395018 Listening on port 33101 07:52:22.395060 Wrote pid 150805 to log/19/server/ftp_sockdata.pid 07:52:22.406065 Received PING (on stdin) 07:52:22.409287 Received PORT (on stdin) 07:52:22.409995 ====> Client connect 07:52:22.410768 Received DATA (on stdin) 07:52:22.410782 > 17 bytes data, server => client 07:52:22.410794 'WE ROOLZ: 80634\r\n' 07:52:22.410823 Received DISC (on stdin) 07:52:22.410836 ====> Client forcibly disconnected 07:52:22.410913 Received QUIT (on stdin) 07:52:22.410924 quits 07:52:22.410996 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==150908== ==150908== Process terminating with default action of signal 4 (SIGILL) ==150908== Illegal opcode at address 0x4013DC0 ==150908== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==150908== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150908== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==150908== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1352 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/24/valgrind1354 ../src/curl -q --trace-ascii log/24/trace1354 --trace-time ftp://127.0.0.1:36707/path/file1354 -O -i -D - --output-dir log/24 > log/24/stdout1354 2> log/24/stderr1354 1354: 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/ dir 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/24/valgrind1354 ../src/curl -q --trace-ascii log/24/trace1354 --trace-time ftp://127.0.0.1:36707/path/file1354 -O -i -D - --output-dir log/24 > log/24/stdout1354 2> log/24/stderr1354 === End of file commands.log === Start of file ftp_seCMD (33792): ../libtool --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/valgrind1357 ../src/curl -q --trace-ascii log/14/trace1357 --trace-time ftp://127.0.0.1:39555/path/file1357 -O -D log/14/heads1357 --output-dir log/14 > log/14/stdout1357 2> log/14/stderr1357 rver.log 07:52:22.591076 ====> Client connect 07:52:22.591225 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.592436 < "USER anonymous" 07:52:22.592485 > "331 We are happy you popped in![CR][LF]" 07:52:22.592680 < "PASS ftp@example.com" 07:52:22.592710 > "230 Welcome you silly person[CR][LF]" 07:52:22.592864 < "PWD" 07:52:22.592894 > "257 "/" is current directory[CR][LF]" 07:52:22.593057 < "EPSV" 07:52:22.593082 ====> Passive DATA channel requested by client 07:52:22.593097 DATA sockfilt for passive data channel starting... 07:52:22.595445 DATA sockfilt for passive data channel started (pid 150851) 07:52:22.595550 DATA sockfilt for passive data channel listens on port 37831 07:52:22.595588 > "229 Entering Passive Mode (|||37831|)[CR][LF]" 07:52:22.595605 Client has been notified that DATA conn will be accepted on port 37831 07:52:22.595830 Client connects to port 37831 07:52:22.595860 ====> Client established passive DATA connection on port 37831 07:52:22.595933 < "TYPE I" 07:52:22.595959 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.596110 < "SIZE verifiedserver" 07:52:22.596144 > "213 17[CR][LF]" 07:52:22.596285 < "RETR verifiedserver" 07:52:22.596322 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.596404 =====> Closing passive DATA connection... 07:52:22.596421 Server disconnects passive DATA connection 07:52:22.596679 Server disconnected passive DATA connection 07:52:22.596704 DATA sockfilt for passive data channel quits (pid 150851) 07:52:22.596912 DATA sockfilt for passive data channel quit (pid 150851) 07:52:22.596934 =====> Closed passive DATA connection 07:52:22.596961 > "226 File transfer complete[CR][LF]" 07:52:22.644833 < "QUIT" 07:52:22.644887 > "221 bye bye baby[CR][LF]" 07:52:22.648537 MAIN sockfilt said DISC 07:52:22.648658 ====> Client disconnected 07:52:22.648742 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.418913 ====> Client connect 07:52:22.419193 Received DATA (on stdin) 07:52:22.419211 > 160 bytes data, server => client 07:52:22.419225 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.419237 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.419249 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.419328 < 16 bytes data, client => server 07:52:22.419342 'USER anonymous\r\n' 07:52:22.420433 Received DATA (on stdin) 07:52:22.420449 > 33 bytes data, server => client 07:52:22.420461 '331 We are happy you popped in!\r\n' 07:52:22.420521 < 22 bytes data, client => server 07:52:22.420533 'PASS ftp@example.com\r\n' 07:52:22.420651 Received DATA (on stdin) 07:52:22.420663 > 30 bytes data, server => client 07:52:22.420676 '230 Welcome you silly person\r\n' 07:52:22.420723 < 5 bytes data, client => server 07:52:22.420734 'PWD\r\n' 07:52:22.420833 Received DATA (on stdin) 07:52:22.420845 > 30 bytes data, server => client 07:52:22.420856 '257 "/" is current directory\r\n' 07:52:22.420911 < 6 bytes data, client => server 07:52:22.420924 'EPSV\r\n' 07:52:22.423550 Received DATA (on stdin) 07:52:22.423565 > 39 bytes data, server => client 07:52:22.423577 '229 Entering Passive Mode (|||37831|)\r\n' 07:52:22.423687 < 8 bytes data, client => server 07:52:22.423702 'TYPE I\r\n' 07:52:22.423900 Received DATA (on stdin) 07:52:22.423912 > 33 bytes data, server => client 07:52:22.423923 '200 I modify TYPE as you wanted\r\n' 07:52:22.423971 < 21 bytes data, client => server 07:52:22.423983 'SIZE verifiedserver\r\n' 07:52:22.424082 Received DATA (on stdin) 07:52:22.424094 > 8 bytes data, server => client 07:52:22.424105 '213 17\r\n' 07:52:22.424147 < 21 bytes data, client => server 07:52:22.424158 'RETR verifiedserver\r\n' 07:52:22.424366 Received DATA (on stdin) 07:52:22.424379 > 29 bytes data, server => client 07:52:22.424390 '150 Binary junk (17 bytes).\r\n' 07:52:22.424903 Received DATA (on stdin) 07:52:22.424916 > 28 bytes data, server => client 07:52:22.424928 '226 File transfer complete\r\n' 07:52:22.472604 < 6 bytes data, client => server 07:52:22.472634 'QUIT\r\n' 07:52:22.472837 Received DATA (on stdin) 07:52:22.472853 > 18 bytes data, server => client 07:52:22.472866 '221 bye bye baby\r\n' 07:52:22.475872 ====> Client disconnect 07:52:22.479175 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.422971 Running IPv4 version 07:52:22.423026 Listening on port 37831 07:52:22.423062 Wrote pid 150851 to log/24/server/ftp_sockdata.pid 07:52:22.423325 Received PING (on stdin) 07:52:22.423409 Received PORT (on stdin) 07:52:22.423723 ====> Client connect 07:52:22.424442 Received DATA (on stdin) 07:52:22.424458 > 17 bytes data, server => client 07:52:22.424470 'WE ROOLZ: 83461\r\n' 07:52:22.424498 Received DISC (on stdin) 07:52:22.424511 ====> Client forcibly disconnected 07:52:22.424654 Received QUIT (on stdin) 07:52:22.424665 quits 07:52:22.424722 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==151002== ==151002== Process terminating with default action of signal 4 (SIGILL) ==151002== Illegal opcode at address 0x4013DC0 ==151002== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1354 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 --log-file=log/14/valgrind1357 ../src/curl -q --trace-ascii log/14/trace1357 --trace-time ftp://127.0.0.1:39555/path/file1357 -O -D log/14/heads1357 --output-dir log/14 > log/14/stdout1357 2> log/14/stderr1357 1357: 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/ dir 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/14/valgrind1357 ../src/curl -q --trace-ascii log/14/trace1357 --trace-time ftp://127.0.0.1:39555/path/file1357 -O -D log/14/heads1357 --output-dir log/14 > log/14/stdout1357 2> log/14/stderr1357 === End of file commands.log === Start of file ftp_server.log 07:52:22.724706 ====> Client connect 07:52:22.724869 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.731468 < "USER anonymous" 07:52:22.731521 > "331 We are happy you popped in![CR][LF]" 07:52:22.731724 < "PASS ftp@example.com" 07:52:22.731758 > "230 Welcome you silly person[CR][LF]" 07:52:22.731925 < "PWD" 07:52:22.731957 > "257 "/" is current directory[CR][LF]" 07:52:22.732114 < "EPSV" 07:52:22.732137 ====> Passive DATA channel requested by client 07:52:22.732151 DATA sockfilt for passive data channel starting... 07:52:22.741079 DATA sockfilt for passive data channel started (pid 151029) 07:52:22.744656 DATA sockfilt for passive data channel listens on port 41415 07:52:22.744726 > "229 Entering Passive Mode (|||41415|)[CR][LF]" 07:52:22.744746 Client has been notified that DATA conn will be accepted on port 41415 07:52:22.751271 Client connects to port 41415 07:52:22.751316 ====> Client established passive DATA connection on port 41415 07:52:22.751422 < "TYPE I" 07:52:22.751460 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.751667 < "SIZE verifiedserver" 07:52:22.751716 > "213 17[CR][LF]" 07:52:22.751898 < "RETR verifiedserver" 07:52:22.751937 > "150 Binary junk (17 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/8/valgrind1356 ../src/curl -q --trace-ascii log/8/trace1356 --trace-time ftp://127.0.0.1:35961/path/file1356 -O --output-dir log/8 > log/8/stdout1356 2> log/8/stderr1356 tes).[CR][LF]" 07:52:22.752037 =====> Closing passive DATA connection... 07:52:22.752055 Server disconnects passive DATA connection 07:52:22.752678 Server disconnected passive DATA connection 07:52:22.752705 DATA sockfilt for passive data channel quits (pid 151029) 07:52:22.752945 DATA sockfilt for passive data channel quit (pid 151029) 07:52:22.752973 =====> Closed passive DATA connection 07:52:22.753007 > "226 File transfer complete[CR][LF]" 07:52:22.798725 < "QUIT" 07:52:22.798778 > "221 bye bye baby[CR][LF]" 07:52:22.802586 MAIN sockfilt said DISC 07:52:22.802632 ====> Client disconnected 07:52:22.802701 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.552526 ====> Client connect 07:52:22.552824 Received DATA (on stdin) 07:52:22.552841 > 160 bytes data, server => client 07:52:22.552855 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.552867 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.552879 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.559216 < 16 bytes data, client => server 07:52:22.559239 'USER anonymous\r\n' 07:52:22.559470 Received DATA (on stdin) 07:52:22.559485 > 33 bytes data, server => client 07:52:22.559497 '331 We are happy you popped in!\r\n' 07:52:22.559558 < 22 bytes data, client => server 07:52:22.559569 'PASS ftp@example.com\r\n' 07:52:22.559699 Received DATA (on stdin) 07:52:22.559713 > 30 bytes data, server => client 07:52:22.559725 '230 Welcome you silly person\r\n' 07:52:22.559778 < 5 bytes data, client => server 07:52:22.559790 'PWD\r\n' 07:52:22.559896 Received DATA (on stdin) 07:52:22.559908 > 30 bytes data, server => client 07:52:22.559920 '257 "/" is current directory\r\n' 07:52:22.559975 < 6 bytes data, client => server 07:52:22.559988 'EPSV\r\n' 07:52:22.572698 Received DATA (on stdin) 07:52:22.572715 > 39 bytes data, server => client 07:52:22.572728 '229 Entering Passive Mode (|||41415|)\r\n' 07:52:22.573114 < 8 bytes data, client => server 07:52:22.573133 'TYPE I\r\n' 07:52:22.579407 Received DATA (on stdin) 07:52:22.579423 > 33 bytes data, server => client 07:52:22.579436 '200 I modify TYPE as you wanted\r\n' 07:52:22.579506 < 21 bytes data, client => server 07:52:22.579521 'SIZE verifiedserver\r\n' 07:52:22.579661 Received DATA (on stdin) 07:52:22.579675 > 8 bytes data, server => client 07:52:22.579687 '213 17\r\n' 07:52:22.579746 < 21 bytes data, client => server 07:52:22.579760 'RETR verifiedserver\r\n' 07:52:22.580002 Received DATA (on stdin) 07:52:22.580016 > 29 bytes data, server => client 07:52:22.580029 '150 Binary junk (17 bytes).\r\n' 07:52:22.580954 Received DATA (on stdin) 07:52:22.580969 > 28 bytes data, server => client 07:52:22.580981 '226 File transfer complete\r\n' 07:52:22.626501 < 6 bytes data, client => server 07:52:22.626527 'QUIT\r\n' 07:52:22.626725 Received DATA (on stdin) 07:52:22.626739 > 18 bytes data, server => client 07:52:22.626751 '221 bye bye baby\r\n' 07:52:22.630458 ====> Client disconnect 07:52:22.630643 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.566587 Running IPv4 version 07:52:22.566652 Listening on port 41415 07:52:22.566696 Wrote pid 151029 to log/14/server/ftp_sockdata.pid 07:52:22.568943 Received PING (on stdin) 07:52:22.569050 Received PORT (on stdin) 07:52:22.573531 ====> Client connect 07:52:22.580479 Received DATA (on stdin) 07:52:22.580503 > 17 bytes data, server => client 07:52:22.580515 'WE ROOLZ: 81000\r\n' 07:52:22.580549 Received DISC (on stdin) 07:52:22.580565 ====> Client forcibly disconnected 07:52:22.580659 Received QUIT (on stdin) 07:52:22.580673 quits 07:52:22.580737 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==151199== ==151199== Process terminating with default action of signal 4 (SIGILL) ==151199== Illegal opcode at address 0x4013DC0 ==151199== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151199== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151199== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151199== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1357 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/8/valgrind1356 ../src/curl -q --trace-ascii log/8/trace1356 --trace-time ftp://127.0.0.1:35961/path/file1356 -O --output-dir log/8 > log/8/stdout1356 2> log/8/stderr1356 1356: 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/ dir 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/8/valgrind1356 ../src/curl -q --trace-ascii log/8/trace1356 --trace-time ftp://127.0.0.1:35961/path/file1356 -O --output-dir log/8 > log/8/stdout1356 2> log/8/stderr1356 === End of file commands.log === Start of file ftp_server.log 07:52:22.734687 ====> Client connect 07:52:22.734846 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.735166 < "USER anonymous" 07:52:22.735211 > "331 We are happy you popped in![CR][LF]" 07:52:22.735413 < "PASS ftp@example.com" 07:52:22.735449 > "230 Welcome you silly person[CR][LF]" 07:52:22.735629 < "PWD" 07:52:22.735667 > "257 "/" is current directory[CR][LF]" 07:52:22.735854 < "EPSV" 07:52:22.735880 ====> Passive DATA channel requested by client 07:52:22.735896 DATA sockfilt for passive data channel starting... 07:52:22.739297 DATA sockfilt for passive data channel started (pid 151032) 07:52:22.739406 DATA sockfilt for passive data channel listens on port 42539 07:52:22.739449 > "229 Entering Passive Mode (|||42539|)[CR][LF]" 07:52:22.739466 Client has been notified that DATA conn will be accepted on port 42539 07:52:22.739706 Client connects to port 42539 07:52:22.739734 ====> Client established passive DATA connection on port 42539 07:52:22.739810 < "TYPE I" 07:52:22.739838 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.744646 < "SIZE verifiedserver" 07:52:22.744695 > "213 17[CR][LF]" 07:52:22.744866 < "RETR verifiedserver" 07:52:22.744900 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.744993 =====> Closing passive DATA connection... 07:52:22.745009 Server disconnects passive DATA connection 07:52:22.745178 Server disconnected passive DATA connection 07:52:22.745199 DATA sockfilt for passive data channel quits (pid 151032) 07:52:22.745420 DATA sockfilt for passive data channel quit (pid 151032) 07:52:22.745445 =====> Closed passive DATA connection 07:52:22.745471 > "226 File transfer complete[CR][LF]" 07:52:22.791043 < "QUIT" 07:52:22.791100 > "221 bye bye baby[CR][LF]" 07:52:22.792139 MAIN sockfilt said DISC 07:52:22.792182 ====> Client disconnected 07:52:22.792258 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.562522 ====> Client connect 07:52:22.562804 Received DATA (on stdin) 07:52:22.562823 > 160 bytes data, server => client 07:52:22.562838 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.562851 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.562863 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.562953 < 16 bytes data, client => server 07:52:22.562970 'USER anonymous\r\n' 07:52:22.563159 Received DATA (on stdin) 07:52:22.563173 > 33 bytes data, server => client 07:52:22.563186 '331 We are happy you popped in!\r\n' 07:52:22.563245 < 22 bytes data, client => server 07:52:22.563260 'PASS ftp@example.com\r\n' 07:52:22.563394 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/9/valgrind1359 ../src/curl -q --trace-ascii log/9/trace1359 --trace-time ftp://127.0.0.1:33709/path/file1359 -O -J -D log/9/heads1359 --output-dir log/9 > log/9/stdout1359 2> log/9/stderr1359 d DATA (on stdin) 07:52:22.563408 > 30 bytes data, server => client 07:52:22.563420 '230 Welcome you silly person\r\n' 07:52:22.563474 < 5 bytes data, client => server 07:52:22.563488 'PWD\r\n' 07:52:22.563611 Received DATA (on stdin) 07:52:22.563625 > 30 bytes data, server => client 07:52:22.563637 '257 "/" is current directory\r\n' 07:52:22.563701 < 6 bytes data, client => server 07:52:22.563715 'EPSV\r\n' 07:52:22.567411 Received DATA (on stdin) 07:52:22.567425 > 39 bytes data, server => client 07:52:22.567437 '229 Entering Passive Mode (|||42539|)\r\n' 07:52:22.567566 < 8 bytes data, client => server 07:52:22.567581 'TYPE I\r\n' 07:52:22.567778 Received DATA (on stdin) 07:52:22.567791 > 33 bytes data, server => client 07:52:22.567803 '200 I modify TYPE as you wanted\r\n' 07:52:22.567853 < 21 bytes data, client => server 07:52:22.567866 'SIZE verifiedserver\r\n' 07:52:22.572639 Received DATA (on stdin) 07:52:22.572654 > 8 bytes data, server => client 07:52:22.572665 '213 17\r\n' 07:52:22.572723 < 21 bytes data, client => server 07:52:22.572735 'RETR verifiedserver\r\n' 07:52:22.572952 Received DATA (on stdin) 07:52:22.572964 > 29 bytes data, server => client 07:52:22.572974 '150 Binary junk (17 bytes).\r\n' 07:52:22.573413 Received DATA (on stdin) 07:52:22.573427 > 28 bytes data, server => client 07:52:22.573438 '226 File transfer complete\r\n' 07:52:22.618770 < 6 bytes data, client => server 07:52:22.618802 'QUIT\r\n' 07:52:22.619047 Received DATA (on stdin) 07:52:22.619063 > 18 bytes data, server => client 07:52:22.619074 '221 bye bye baby\r\n' 07:52:22.620023 ====> Client disconnect 07:52:22.620201 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.566916 Running IPv4 version 07:52:22.566976 Listening on port 42539 07:52:22.567012 Wrote pid 151032 to log/8/server/ftp_sockdata.pid 07:52:22.567180 Received PING (on stdin) 07:52:22.567262 Received PORT (on stdin) 07:52:22.567600 ====> Client connect 07:52:22.573002 Received DATA (on stdin) 07:52:22.573018 > 17 bytes data, server => client 07:52:22.573029 'WE ROOLZ: 80636\r\n' 07:52:22.573054 Received DISC (on stdin) 07:52:22.573067 ====> Client forcibly disconnected 07:52:22.573147 Received QUIT (on stdin) 07:52:22.573158 quits 07:52:22.573216 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind1356 ==151149== ==151149== Process terminating with default action of signal 4 (SIGILL) ==151149== Illegal opcode at address 0x4013DC0 ==151149== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151149== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151149== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151149== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1356 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/9/valgrind1359 ../src/curl -q --trace-ascii log/9/trace1359 --trace-time ftp://127.0.0.1:33709/path/file1359 -O -J -D log/9/heads1359 --output-dir log/9 > log/9/stdout1359 2> log/9/stderr1359 1359: 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/ dir 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/9/valgrind1359 ../src/curl -q --trace-ascii log/9/trace1359 --trace-time ftp://127.0.0.1:33709/path/file1359 -O -J -D log/9/heads1359 --output-dir log/9 > log/9/stdout1359 2> log/9/stderr1359 === End of file commands.log === Start of file ftp_server.log 07:52:22.858040 ====> Client connect 07:52:22.858213 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.858538 < "USER anonymous" 07:52:22.858577 > "331 We are happy you popped in![CR][LF]" 07:52:22.858770 < "PASS ftp@example.com" 07:52:22.858801 > "230 Welcome you silly person[CR][LF]" 07:52:22.858965 < "PWD" 07:52:22.858999 > "257 "/" is current directory[CR][LF]" 07:52:22.859167 < "EPSV" 07:52:22.859191 ====> Passive DATA channel requested by client 07:52:22.859205 DATA sockfilt for passive data channel starting... 07:52:22.871619 DATA sockfilt for passive data channel started (pid 151223) 07:52:22.873087 DATA sockfilt for passive data channel listens on port 40527 07:52:22.873143 > "229 Entering Passive Mode (|||40527|)[CR][LF]" 07:52:22.873164 Client has been notified that DATA conn will be accepted on port 40527 07:52:22.873413 Client connects to port 40527 07:52:22.873442 ====> Client established passive DATA connection on port 40527 07:52:22.873568 < "TYPE I" 07:52:22.873598 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.873758 < "SIZE verifiedserver" 07:52:22.873792 > "213 17[CR][LF]" 07:52:22.873941 < "RETR verifiedserver" 07:52:22.873972 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.874068 =====> Closing passive DATA connection... 07:52:22.874084 Server disconnects passive DATA connection 07:52:22.874258 Server disconnected passive DATA connection 07:52:22.874280 DATA sockfilt for passive data channel quits (pid 151223) 07:52:22.874656 DATA sockfilt for passive data channel quit (pid 151223) 07:52:22.874683 =====> Closed passive DATA connection 07:52:22.874711 > "226 File transfer complete[CR][LF]" 07:52:22.918176 < "QUIT" 07:52:22.918235 > "221 bye bye baby[CR][LF]" 07:52:22.919312 MAIN sockfilt said DISC 07:52:22.919349 ====> Client disconnected 07:52:22.919418 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.685857 ====> Client connect 07:52:22.686172 Received DATA (on stdin) 07:52:22.686190 > 160 bytes data, server => client 07:52:22.686206 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.686220 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.686231 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.686321 < 16 bytes data, client => server 07:52:22.686337 'USER anonymous\r\n' 07:52:22.686522 Received DATA (on stdin) 07:52:22.686536 > 33 bytes data, server => client 07:52:22.686548 '331 We are happy you popped in!\r\n' 07:52:22.686604 < 22 bytes data, client => server 07:52:22.686617 'PASS ftp@example.com\r\n' 07:52:22.686743 Received DATA (on stdin) 07:52:22.686756 > 30 bytes data, server => client 07:52:22.686768 '230 Welcome you silly person\r\n' 07:52:22.686817 < 5 bytes data, client => server 07:52:22.686829 'PWD\r\n' 07:52:22.686940 Received DATA (on stdin) 07:52:22.686952 > 30 bytes data, server => client 07:52:22.686964 '257 "/" is current directory\r\n' 07:52:22.687022 < 6 bytes data, client => server 07:52:22.687035 'EPSV\r\n' 07:52:22.701112 Received DATA (on stdin) 07:52:22.701129 > 39 bytes data, server => client 07:52:22.701142 '229 Entering Passive Mode (|||40527|)\r\n' 07:52:22.701402 < 8 bytes data, client => server 07:52:22.701415 'TYPE I\r\n' 07:52:22.701539 Received DATA (on stdin) 07:52:22.701551 > 33 bytes data, server => client 07:52:22.701563 '200 I modify TYPE as you wanted\r\n' 07:52:22.701614 < 21 bytes data, client => server 07:52:22.701626 'SIZE verifiedserver\r\n' 07:52:22.701733 Received DATA (on stdin) 07:52:22.701745 > 8 bytes data, server => client 07:52:22.701756 '213 17\r\n' 07:52:22.701802 < 21 bytes data, client => server 07:52:22.701813 'RETR verifiedserver\r\n' 07:52:22.702126 Received DATA (on stdin) 07:52:22.702140 > 29 bytes data, server => client 07:52:22.702152 '150 Binary junk (17 bytes).\r\n' 07:52:22.702653 Received DATA (on stdin) 07:52:22.702666 > 28 bytes data, server => client 07:52:22.702676 '226 File transfer comCMD (33792): ../libtool --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/valgrind1358 ../src/curl -q --trace-ascii log/15/trace1358 --trace-time ftp://127.0.0.1:38789/path/file1358 -O -D - --output-dir log/15 > log/15/stdout1358 2> log/15/stderr1358 plete\r\n' 07:52:22.745950 < 6 bytes data, client => server 07:52:22.745978 'QUIT\r\n' 07:52:22.746188 Received DATA (on stdin) 07:52:22.746205 > 18 bytes data, server => client 07:52:22.746218 '221 bye bye baby\r\n' 07:52:22.747193 ====> Client disconnect 07:52:22.747358 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.694770 Running IPv4 version 07:52:22.694833 Listening on port 40527 07:52:22.694876 Wrote pid 151223 to log/9/server/ftp_sockdata.pid 07:52:22.694900 Received PING (on stdin) 07:52:22.700909 Received PORT (on stdin) 07:52:22.701298 ====> Client connect 07:52:22.702032 Received DATA (on stdin) 07:52:22.702050 > 17 bytes data, server => client 07:52:22.702061 'WE ROOLZ: 81212\r\n' 07:52:22.702088 Received DISC (on stdin) 07:52:22.702100 ====> Client forcibly disconnected 07:52:22.702228 Received QUIT (on stdin) 07:52:22.702239 quits 07:52:22.702304 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==151347== ==151347== Process terminating with default action of signal 4 (SIGILL) ==151347== Illegal opcode at address 0x4013DC0 ==151347== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151347== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151347== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151347== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1359 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/15/valgrind1358 ../src/curl -q --trace-ascii log/15/trace1358 --trace-time ftp://127.0.0.1:38789/path/file1358 -O -D - --output-dir log/15 > log/15/stdout1358 2> log/15/stderr1358 1358: 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/ dir 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/15/valgrind1358 ../src/curl -q --trace-ascii log/15/trace1358 --trace-time ftp://127.0.0.1:38789/path/file1358 -O -D - --output-dir log/15 > log/15/stdout1358 2> log/15/stderr1358 === End of file commands.log === Start of file ftp_server.log 07:52:22.785835 ====> Client connect 07:52:22.785998 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.786298 < "USER anonymous" 07:52:22.786337 > "331 We are happy you popped in![CR][LF]" 07:52:22.786511 < "PASS ftp@example.com" 07:52:22.786539 > "230 Welcome you silly person[CR][LF]" 07:52:22.786690 < "PWD" 07:52:22.786719 > "257 "/" is current directory[CR][LF]" 07:52:22.786876 < "EPSV" 07:52:22.786899 ====> Passive DATA channel requested by client 07:52:22.786914 DATA sockfilt for passive data channel starting... 07:52:22.798222 DATA sockfilt for passive data channel started (pid 151111) 07:52:22.798375 DATA sockfilt for passive data channel listens on port 44585 07:52:22.798425 > "229 Entering Passive Mode (|||44585|)[CR][LF]" 07:52:22.798445 Client has been notified that DATA conn will be accepted on port 44585 07:52:22.798731 Client connects to port 44585 07:52:22.798770 ====> Client established passive DATA connection on port 44585 07:52:22.798916 < "TYPE I" 07:52:22.798954 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.799129 < "SIZE verifiedserver" 07:52:22.799168 > "213 17[CR][LF]" 07:52:22.799325 < "RETR verifiedserver" 07:52:22.799363 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.799451 =====> Closing passive DATA connection... 07:52:22.799467 Server disconnects passive DATA connection 07:52:22.800258 Server disconnected passive DATA connection 07:52:22.800285 DATA sockfilt for passive data channel quits (pid 151111) 07:52:22.800561 DATA sockfilt for passive data channel quit (pid 151111) 07:52:22.800586 =====> Closed passive DATA connection 07:52:22.800614 > "226 File transfer complete[CR][LF]" 07:52:22.845389 < "QUIT" 07:52:22.845449 > "221 bye bye baby[CR][LF]" 07:52:22.846396 MAIN sockfilt said DISC 07:52:22.846441 ====> Client disconnected 07:52:22.846516 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.613649 ====> Client connect 07:52:22.613952 Received DATA (on stdin) 07:52:22.613968 > 160 bytes data, server => client 07:52:22.613981 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.613993 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.614004 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.614082 < 16 bytes data, client => server 07:52:22.614095 'USER anonymous\r\n' 07:52:22.614281 Received DATA (on stdin) 07:52:22.614294 > 33 bytes data, server => client 07:52:22.614307 '331 We are happy you popped in!\r\n' 07:52:22.614357 < 22 bytes data, client => server 07:52:22.614370 'PASS ftp@example.com\r\n' 07:52:22.614479 Received DATA (on stdin) 07:52:22.614492 > 30 bytes data, server => client 07:52:22.614504 '230 Welcome you silly person\r\n' 07:52:22.614549 < 5 bytes data, client => server 07:52:22.614560 'PWD\r\n' 07:52:22.614658 Received DATA (on stdin) 07:52:22.614671 > 30 bytes data, server => client 07:52:22.614682 '257 "/" is current directory\r\n' 07:52:22.614738 < 6 bytes data, client => server 07:52:22.614749 'EPSV\r\n' 07:52:22.626426 Received DATA (on stdin) 07:52:22.626449 > 39 bytes data, server => client 07:52:22.626462 '229 Entering Passive Mode (|||44585|)\r\n' 07:52:22.626736 < 8 bytes data, client => server 07:52:22.626752 'TYPE I\r\n' 07:52:22.626897 Received DATA (on stdin) 07:52:22.626910 > 33 bytes data, server => client 07:52:22.626922 '200 I modify TYPE as you wanted\r\n' 07:52:22.626977 < 21 bytes data, client => server 07:52:22.626989 'SIZE verifiedserver\r\n' 07:52:22.627110 Received DATA (on stdin) 07:52:22.627122 > 8 bytes data, server => client 07:52:22.627133 '213 17\r\n' 07:52:22.627181 < 21 bytes data, client => server 07:52:22.627193 'RETR verifiedserver\r\n' 07:52:22.628111 Received DATA (on stdin) 07:52:22.628132 > 29 bytes data, server => client 07:52:22.628143 '150 Binary junk (17 bytes).\r\n' 07:52:22.628557 Received DATA (on stdin) 07:52:22.628571 > 28 bytes data, server => client 07:52:22.628583 '226 File transfer complete\r\n' 07:52:22.673119 < 6 bytes data, client => server 07:52:22.673152 'QUIT\r\n' 07:52:22.673399 Received DATA (on stdin) 07:52:22.673415 > 18 bytes data, server => client 07:52:22.673427 '221 bye bye baby\r\n' 07:52:22.674276 ====> Client disconnect 07:52:22.674460 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.621359 Running IPv4 version 07:52:22.621433 Listening on port 44585 07:52:22.621469 Wrote pid 151111 to log/15/server/ftp_sockdata.pid 07:52:22.626079 Received PING (on stdin) 07:52:22.626207 Received PORT (on stdin) 07:52:22.626617 ====> Client connect 07:52:22.627410 Received DATA (on stdin) 07:52:22.627425 > 17 bytes data, server => client 07:52:22.627437 'WE ROOLZ: 80326\r\n' 07:52:22.627464 Received DISC (on stdin) 07:52:22.627476 ====> Client forcibly disconnected 07:52:22.628239 Received QUIT (on stdin) 07:52:22.628253 quits 07:52:22.628317 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==151226== ==151226== Process terminating with default action of signal 4 (SIGILL) ==151226== Illegal opcode at address 0x4013DC0 ==151226== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151226== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151226== by 0x40037A4: CMD (33792): ../libtool --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/valgrind1362 ../src/curl -q --trace-ascii log/2/trace1362 --trace-time ftp://127.0.0.1:38579/path/file1362 -O -i -D - --output-dir log/2 > log/2/stdout1362 2> log/2/stderr1362 CMD (33792): ../libtool --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/valgrind1360 ../src/curl -q --trace-ascii log/16/trace1360 --trace-time ftp://127.0.0.1:37855/path/file1360 -O -J -D - --output-dir log/16 > log/16/stdout1360 2> log/16/stderr1360 CMD (33792): ../libtool --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/valgrind1361 ../src/curl -q --trace-ascii log/1/trace1361 --trace-time ftp://127.0.0.1:42965/path/file1361 -O -i -D log/1/heads1361 --output-dir log/1 > log/1/stdout1361 2> log/1/stderr1361 UnknownInlinedFun (tool_operate.c:2234) ==151226== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1358 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/2/valgrind1362 ../src/curl -q --trace-ascii log/2/trace1362 --trace-time ftp://127.0.0.1:38579/path/file1362 -O -i -D - --output-dir log/2 > log/2/stdout1362 2> log/2/stderr1362 1362: 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/ dir 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/2/valgrind1362 ../src/curl -q --trace-ascii log/2/trace1362 --trace-time ftp://127.0.0.1:38579/path/file1362 -O -i -D - --output-dir log/2 > log/2/stdout1362 2> log/2/stderr1362 === End of file commands.log === Start of file ftp_server.log 07:52:22.988027 ====> Client connect 07:52:22.988167 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.988457 < "USER anonymous" 07:52:22.988498 > "331 We are happy you popped in![CR][LF]" 07:52:22.989755 < "PASS ftp@example.com" 07:52:22.989789 > "230 Welcome you silly person[CR][LF]" 07:52:22.989954 < "PWD" 07:52:22.989985 > "257 "/" is current directory[CR][LF]" 07:52:22.990736 < "EPSV" 07:52:22.990766 ====> Passive DATA channel requested by client 07:52:22.990781 DATA sockfilt for passive data channel starting... 07:52:22.998347 DATA sockfilt for passive data channel started (pid 151397) 07:52:22.998471 DATA sockfilt for passive data channel listens on port 40345 07:52:22.998513 > "229 Entering Passive Mode (|||40345|)[CR][LF]" 07:52:22.998532 Client has been notified that DATA conn will be accepted on port 40345 07:52:22.998793 Client connects to port 40345 07:52:22.998824 ====> Client established passive DATA connection on port 40345 07:52:22.998907 < "TYPE I" 07:52:22.998935 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.999095 < "SIZE verifiedserver" 07:52:22.999134 > "213 17[CR][LF]" 07:52:22.999282 < "RETR verifiedserver" 07:52:22.999315 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.999389 =====> Closing passive DATA connection... 07:52:22.999403 Server disconnects passive DATA connection 07:52:23.000677 Server disconnected passive DATA connection 07:52:23.000702 DATA sockfilt for passive data channel quits (pid 151397) 07:52:23.000932 DATA sockfilt for passive data channel quit (pid 151397) 07:52:23.000954 =====> Closed passive DATA connection 07:52:23.000980 > "226 File transfer complete[CR][LF]" 07:52:23.048225 < "QUIT" 07:52:23.048283 > "221 bye bye baby[CR][LF]" 07:52:23.048774 MAIN sockfilt said DISC 07:52:23.048819 ====> Client disconnected 07:52:23.048895 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.815867 ====> Client connect 07:52:22.816117 Received DATA (on stdin) 07:52:22.816133 > 160 bytes data, server => client 07:52:22.816146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.816158 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.816169 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.816261 < 16 bytes data, client => server 07:52:22.816274 'USER anonymous\r\n' 07:52:22.816441 Received DATA (on stdin) 07:52:22.816455 > 33 bytes data, server => client 07:52:22.816467 '331 We are happy you popped in!\r\n' 07:52:22.816518 < 22 bytes data, client => server 07:52:22.816529 'PASS ftp@example.com\r\n' 07:52:22.817732 Received DATA (on stdin) 07:52:22.817746 > 30 bytes data, server => client 07:52:22.817758 '230 Welcome you silly person\r\n' 07:52:22.817812 < 5 bytes data, client => server 07:52:22.817823 'PWD\r\n' 07:52:22.817936 Received DATA (on stdin) 07:52:22.817949 > 30 bytes data, server => client 07:52:22.817961 '257 "/" is current directory\r\n' 07:52:22.818017 < 6 bytes data, client => server 07:52:22.818028 'EPSV\r\n' 07:52:22.826479 Received DATA (on stdin) 07:52:22.826495 > 39 bytes data, server => client 07:52:22.826507 '229 Entering Passive Mode (|||40345|)\r\n' 07:52:22.826649 < 8 bytes data, client => server 07:52:22.826666 'TYPE I\r\n' 07:52:22.826875 Received DATA (on stdin) 07:52:22.826889 > 33 bytes data, server => client 07:52:22.826900 '200 I modify TYPE as you wanted\r\n' 07:52:22.826952 < 21 bytes data, client => server 07:52:22.826964 'SIZE verifiedserver\r\n' 07:52:22.827073 Received DATA (on stdin) 07:52:22.827084 > 8 bytes data, server => client 07:52:22.827095 '213 17\r\n' 07:52:22.827142 < 21 bytes data, client => server 07:52:22.827154 'RETR verifiedserver\r\n' 07:52:22.828346 Received DATA (on stdin) 07:52:22.828364 > 29 bytes data, server => client 07:52:22.828377 '150 Binary junk (17 bytes).\r\n' 07:52:22.828922 Received DATA (on stdin) 07:52:22.828936 > 28 bytes data, server => client 07:52:22.828947 '226 File transfer complete\r\n' 07:52:22.875976 < 6 bytes data, client => server 07:52:22.876008 'QUIT\r\n' 07:52:22.876231 Received DATA (on stdin) 07:52:22.876247 > 18 bytes data, server => client 07:52:22.876258 '221 bye bye baby\r\n' 07:52:22.876655 ====> Client disconnect 07:52:22.876838 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.826110 Running IPv4 version 07:52:22.826165 Listening on port 40345 07:52:22.826204 Wrote pid 151397 to log/2/server/ftp_sockdata.pid 07:52:22.826227 Received PING (on stdin) 07:52:22.826316 Received PORT (on stdin) 07:52:22.826688 ====> Client connect 07:52:22.828435 Received DATA (on stdin) 07:52:22.828451 > 17 bytes data, server => client 07:52:22.828462 'WE ROOLZ: 80630\r\n' 07:52:22.828541 Received DISC (on stdin) 07:52:22.828558 ====> Client forcibly disconnected 07:52:22.828654 Received QUIT (on stdin) 07:52:22.828666 quits 07:52:22.828719 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of file valgrind1362 ==151530== ==151530== Process terminating with default action of signal 4 (SIGILL) ==151530== Illegal opcode at address 0x4013DC0 ==151530== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151530== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151530== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151530== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1362 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/1/valgrind1361 ../src/curl -q --trace-ascii log/1/trace1361 --trace-time ftp://127.0.0.1:42965/path/file1361 -O -i -D log/1/heads1361 --output-dir log/1 > log/1/stdout1361 2> log/1/stderr1361 1361: 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/ dir 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/1/valgrind1361 ../src/curl -q --trace-ascii log/1/trace1361 --trace-time ftp://127.0.0.1:42965/path/file1361 -O -i -D log/1/heads1361 --output-dir log/1 > log/1/stdout1361 2> log/1/stderr1361 === End of file commands.log === Start of file ftp_server.log 07:52:22.951679 ====> Client connect 07:52:22.951851 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.955350 < "USER anonymous" 07:52:22.955399 > "331 We are happy you popped in![CR][LF]" 07:52:22.955613 < "PASS ftp@example.com" 07:52:22.955649 > "230 Welcome you silly person[CR][LF]" 07:52:22.955835 < "PWD" 07:52:22.955871 > "257 "/" is current directory[CR][LF]" 07:52:22.956062 < "EPSV" 07:52:22.956090 ====> Passive DATA channel requested by client 07:52:22.956106 DATA sockfilt for passive data channel starting... 07:52:22.961447 DATA sockfilt for passive data channel started (pid 151356) 07:52:22.961563 DATA sockfilt for passive data channel listens on port 36533 07:52:22.961605 > "229 Entering Passive Mode (|||36533|)[CR][LF]" 07:52:22.961626 Client has been notified that DATA conn will be accepted on port 36533 07:52:22.961868 Client connects to port 36533 07:52:22.961897 ====> Client established passive DATA connection on port 36533 07:52:22.961981 < "TYPE I" 07:52:22.962009 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.962181 < "SIZE verifiedserver" 07:52:22.962220 > "213 17[CR][LF]" 07:52:22.962388 < "RETR verifiedserver" 07:52:22.962424 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.962515 =====> Closing passive DATA connection... 07:52:22.962533 Server disconnects passive DATA connection 07:52:22.962809 Server disconnected passive DATA connection 07:52:22.962838 DATA sockfilt for passive data channel quits (pid 151356) 07:52:22.963076 DATA sockfilt for passive data channel quit (pid 151356) 07:52:22.963104 =====> Closed passive DATA connection 07:52:22.963134 > "226 File transfer complete[CR][LF]" 07:52:23.014781 < "QUIT" 07:52:23.014836 > "221 bye bye baby[CR][LF]" 07:52:23.015776 MAIN sockfilt said DISC 07:52:23.015819 ====> Client disconnected 07:52:23.015897 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.779508 ====> Client connect 07:52:22.779812 Received DATA (on stdin) 07:52:22.779832 > 160 bytes data, server => client 07:52:22.779846 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.779858 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.779870 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.783113 < 16 bytes data, client => server 07:52:22.783135 'USER anonymous\r\n' 07:52:22.783348 Received DATA (on stdin) 07:52:22.783364 > 33 bytes data, server => client 07:52:22.783377 '331 We are happy you popped in!\r\n' 07:52:22.783440 < 22 bytes data, client => server 07:52:22.783456 'PASS ftp@example.com\r\n' 07:52:22.783594 Received DATA (on stdin) 07:52:22.783609 > 30 bytes data, server => client 07:52:22.783621 '230 Welcome you silly person\r\n' 07:52:22.783675 < 5 bytes data, client => server 07:52:22.783689 'PWD\r\n' 07:52:22.783814 Received DATA (on stdin) 07:52:22.783827 > 30 bytes data, server => client 07:52:22.783840 '257 "/" is current directory\r\n' 07:52:22.783904 < 6 bytes data, client => server 07:52:22.783920 'EPSV\r\n' 07:52:22.789574 Received DATA (on stdin) 07:52:22.789589 > 39 bytes data, server => client 07:52:22.789602 '229 Entering Passive Mode (|||36533|)\r\n' 07:52:22.789721 < 8 bytes data, client => server 07:52:22.789739 'TYPE I\r\n' 07:52:22.789952 Received DATA (on stdin) 07:52:22.789966 > 33 bytes data, server => client 07:52:22.789978 '200 I modify TYPE as you wanted\r\n' 07:52:22.790032 < 21 bytes data, client => server 07:52:22.790045 'SIZE verifiedserver\r\n' 07:52:22.790162 Received DATA (on stdin) 07:52:22.790175 > 8 bytes data, server => client 07:52:22.790187 '213 17\r\n' 07:52:22.790238 < 21 bytes data, client => server 07:52:22.790251 'RETR verifiedserver\r\n' 07:52:22.790479 Received DATA (on stdin) 07:52:22.790493 > 29 bytes data, server => client 07:52:22.790505 '150 Binary junk (17 bytes).\r\n' 07:52:22.791078 Received DATA (on stdin) 07:52:22.791092 > 28 bytes data, server => client 07:52:22.791105 '226 File transfer complete\r\n' 07:52:22.842526 < 6 bytes data, client => server 07:52:22.842557 'QUIT\r\n' 07:52:22.842784 Received DATA (on stdin) 07:52:22.842798 > 18 bytes data, server => client 07:52:22.842809 '221 bye bye baby\r\n' 07:52:22.843656 ====> Client disconnect 07:52:22.843840 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.786932 Running IPv4 version 07:52:22.786991 Listening on port 36533 07:52:22.787029 Wrote pid 151356 to log/1/server/ftp_sockdata.pid 07:52:22.789321 Received PING (on stdin) 07:52:22.789417 Received PORT (on stdin) 07:52:22.789761 ====> Client connect 07:52:22.790563 Received DATA (on stdin) 07:52:22.790580 > 17 bytes data, server => client 07:52:22.790592 'WE ROOLZ: 83307\r\n' 07:52:22.790622 Received DISC (on stdin) 07:52:22.790635 ====> Client forcibly disconnected 07:52:22.790791 Received QUIT (on stdin) 07:52:22.790804 quits 07:52:22.790863 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==151459== ==151459== Process terminating with default action of signal 4 (SIGILL) ==151459== Illegal opcode at address 0x4013DC0 ==151459== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1361 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/16/valgrind1360 ../src/curl -q --trace-ascii log/16/trace1360 --trace-time ftp://127.0.0.1:37855/path/file1360 -O -J -D - --output-dir log/16 > log/16/stdout1360 2> log/16/stderr1360 1360: 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/ dir 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/16/valgrind1360 ../src/curl -q --trace-ascii log/16/trace1360 --trace-time ftp://127.0.0.1:37855/path/file1360 -O -J -D - --output-dir log/16 > log/16/stdout1360 2> log/16/stderr1360 === End of file commands.log === Start of file ftp_server.log 07:52:22.920834 ====> Client connect 07:52:22.920992 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:22.921322 < "USER anonymous" 07:52:22.921368 > "331 We are happy you popped in![CR][LF]" 07:52:22.921556 < "PASS ftp@example.com" 07:52:22.921585 > "230 Welcome you silly person[CR][LF]" 07:52:22.921743 < "PWD" 07:52:22.921775 > "257 "/" is current directory[CR][LF]" 07:52:22.921938 < "EPSV" 07:52:22.921962 ====> Passive DATA channel requested by client 07:52:22.921977 DATA sockfilt for passive data channel starting... 07:52:22.929263 DATA sockfilt for passive data channel started (pid 151323) 07:52:22.929392 DATA sockfilt for passive data channel listens on port 45017 07:52:22.929439 > "229 Entering Passive Mode (|||45017|)[CR][LF]" 07:52:22.929457 Client has been notified that DATA conn will be accepted on port 45017 07:52:22.929742 Client connects to port 45017 07:52:22.929773 ====> Client established passive DATA connection on port 45017 07:52:22.929852 < "TYPE I" 07:52:22.929882 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:22.930036 < "SIZE verifiedserver" 07:52:22.930077 > "213 17[CR][LF]" 07:52:22.930217 < "RETR verifiedserver" 07:52:22.930250 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:22.930329 =====> Closing passive DATA connection... 07:52:22.930344 Server disconnects passive DATA connection 07:52:22.930522 Server disconnected passive DATA connection 07:52:22.930543 DATA sockfilt for 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/10/valgrind1366 ../src/curl -q --trace-ascii log/10/trace1366 --trace-time http://127.0.0.1:34041/1366 -o log/10/outfile1366 -D log/10/heads1366 > log/10/stdout1366 2> log/10/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/13/valgrind1363 ../src/curl -q --trace-ascii log/13/trace1363 --trace-time ftp://127.0.0.1:33699/path/file1363 -O -i --output-dir log/13 > log/13/stdout1363 2> log/13/stderr1363 channel quits (pid 151323) 07:52:22.930792 DATA sockfilt for passive data channel quit (pid 151323) 07:52:22.930814 =====> Closed passive DATA connection 07:52:22.930841 > "226 File transfer complete[CR][LF]" 07:52:22.972913 < "QUIT" 07:52:22.972963 > "221 bye bye baby[CR][LF]" 07:52:22.974091 MAIN sockfilt said DISC 07:52:22.974133 ====> Client disconnected 07:52:22.974201 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:22.748660 ====> Client connect 07:52:22.748951 Received DATA (on stdin) 07:52:22.748971 > 160 bytes data, server => client 07:52:22.748984 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:22.748996 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:22.749007 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:22.749087 < 16 bytes data, client => server 07:52:22.749101 'USER anonymous\r\n' 07:52:22.749313 Received DATA (on stdin) 07:52:22.749327 > 33 bytes data, server => client 07:52:22.749339 '331 We are happy you popped in!\r\n' 07:52:22.749394 < 22 bytes data, client => server 07:52:22.749405 'PASS ftp@example.com\r\n' 07:52:22.749527 Received DATA (on stdin) 07:52:22.749540 > 30 bytes data, server => client 07:52:22.749552 '230 Welcome you silly person\r\n' 07:52:22.749599 < 5 bytes data, client => server 07:52:22.749611 'PWD\r\n' 07:52:22.749716 Received DATA (on stdin) 07:52:22.749728 > 30 bytes data, server => client 07:52:22.749740 '257 "/" is current directory\r\n' 07:52:22.749796 < 6 bytes data, client => server 07:52:22.749808 'EPSV\r\n' 07:52:22.757404 Received DATA (on stdin) 07:52:22.757442 > 39 bytes data, server => client 07:52:22.757454 '229 Entering Passive Mode (|||45017|)\r\n' 07:52:22.757596 < 8 bytes data, client => server 07:52:22.757612 'TYPE I\r\n' 07:52:22.757822 Received DATA (on stdin) 07:52:22.757835 > 33 bytes data, server => client 07:52:22.757846 '200 I modify TYPE as you wanted\r\n' 07:52:22.757896 < 21 bytes data, client => server 07:52:22.757908 'SIZE verifiedserver\r\n' 07:52:22.758016 Received DATA (on stdin) 07:52:22.758028 > 8 bytes data, server => client 07:52:22.758038 '213 17\r\n' 07:52:22.758083 < 21 bytes data, client => server 07:52:22.758094 'RETR verifiedserver\r\n' 07:52:22.758287 Received DATA (on stdin) 07:52:22.758299 > 29 bytes data, server => client 07:52:22.758330 '150 Binary junk (17 bytes).\r\n' 07:52:22.758783 Received DATA (on stdin) 07:52:22.758796 > 28 bytes data, server => client 07:52:22.758808 '226 File transfer complete\r\n' 07:52:22.800687 < 6 bytes data, client => server 07:52:22.800712 'QUIT\r\n' 07:52:22.800909 Received DATA (on stdin) 07:52:22.800922 > 18 bytes data, server => client 07:52:22.800933 '221 bye bye baby\r\n' 07:52:22.801968 ====> Client disconnect 07:52:22.802143 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:22.756603 Running IPv4 version 07:52:22.756679 Listening on port 45017 07:52:22.756720 Wrote pid 151323 to log/16/server/ftp_sockdata.pid 07:52:22.757110 Received PING (on stdin) 07:52:22.757240 Received PORT (on stdin) 07:52:22.757634 ====> Client connect 07:52:22.758353 Received DATA (on stdin) 07:52:22.758368 > 17 bytes data, server => client 07:52:22.758379 'WE ROOLZ: 80324\r\n' 07:52:22.758402 Received DISC (on stdin) 07:52:22.758415 ====> Client forcibly disconnected 07:52:22.758486 Received QUIT (on stdin) 07:52:22.758497 quits 07:52:22.758561 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==151412== ==151412== Process terminating with default action of signal 4 (SIGILL) ==151412== Illegal opcode at address 0x4013DC0 ==151412== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151412== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151412== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151412== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1360 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/10/valgrind1366 ../src/curl -q --trace-ascii log/10/trace1366 --trace-time http://127.0.0.1:34041/1366 -o log/10/outfile1366 -D log/10/heads1366 > log/10/stdout1366 2> log/10/stderr1366 1366: 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/ dir 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/10/valgrind1366 ../src/curl -q --trace-ascii log/10/trace1366 --trace-time http://127.0.0.1:34041/1366 -o log/10/outfile1366 -D log/10/heads1366 > log/10/stdout1366 2> log/10/stderr1366 === End of file commands.log === Start of file http_server.log 07:52:23.032588 ====> Client connect 07:52:23.032632 accept_connection 3 returned 4 07:52:23.032652 accept_connection 3 returned 0 07:52:23.032670 Read 93 bytes 07:52:23.032682 Process 93 bytes request 07:52:23.032696 Got request: GET /verifiedserver HTTP/1.1 07:52:23.032707 Are-we-friendly question received 07:52:23.032735 Wrote request (93 bytes) input to log/10/server.input 07:52:23.032755 Identifying ourselves as friends 07:52:23.032833 Response sent (56 bytes) and written to log/10/server.response 07:52:23.032845 special request received, no persistency 07:52:23.032856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 37216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1366 ==151725== ==151725== Process terminating with default action of signal 4 (SIGILL) ==151725== Illegal opcode at address 0x4013DC0 ==151725== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151725== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151725== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151725== by 0x40037A4: main (tool_main.c:199) === 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/13/valgrind1363 ../src/curl -q --trace-ascii log/13/trace1363 --trace-time ftp://127.0.0.1:33699/path/file1363 -O -i --output-dir log/13 > log/13/stdout1363 2> log/13/stderr1363 1363: 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/ dir 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/13/valgrind1363 ../src/curl -q --trace-ascii log/13/trace1363 --trace-time ftp://127.0.0.1:33699/path/file1363 -O -i --output-dir log/13 > log/13/stdout1363 2> log/13/stderr1363 === End of file commands.log === Start of file ftp_server.log 07:52:23.028203 ====> Client connect 07:52:23.028817 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [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/5/valgrind1367 ../src/curl -q --trace-ascii log/5/trace1367 --trace-time http://127.0.0.1:42797/1367 -o log/5/outfile1367 -D - > log/5/stdout1367 2> log/5/stderr1367 ][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:23.029148 < "USER anonymous" 07:52:23.029192 > "331 We are happy you popped in![CR][LF]" 07:52:23.029391 < "PASS ftp@example.com" 07:52:23.029423 > "230 Welcome you silly person[CR][LF]" 07:52:23.029584 < "PWD" 07:52:23.029617 > "257 "/" is current directory[CR][LF]" 07:52:23.029780 < "EPSV" 07:52:23.029805 ====> Passive DATA channel requested by client 07:52:23.029819 DATA sockfilt for passive data channel starting... 07:52:23.038280 DATA sockfilt for passive data channel started (pid 151450) 07:52:23.038399 DATA sockfilt for passive data channel listens on port 35607 07:52:23.038440 > "229 Entering Passive Mode (|||35607|)[CR][LF]" 07:52:23.038458 Client has been notified that DATA conn will be accepted on port 35607 07:52:23.038714 Client connects to port 35607 07:52:23.038743 ====> Client established passive DATA connection on port 35607 07:52:23.038819 < "TYPE I" 07:52:23.038847 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:23.038998 < "SIZE verifiedserver" 07:52:23.039034 > "213 17[CR][LF]" 07:52:23.039170 < "RETR verifiedserver" 07:52:23.039202 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:23.039288 =====> Closing passive DATA connection... 07:52:23.039302 Server disconnects passive DATA connection 07:52:23.039546 Server disconnected passive DATA connection 07:52:23.039571 DATA sockfilt for passive data channel quits (pid 151450) 07:52:23.039825 DATA sockfilt for passive data channel quit (pid 151450) 07:52:23.039848 =====> Closed passive DATA connection 07:52:23.039874 > "226 File transfer complete[CR][LF]" 07:52:23.084977 < "QUIT" 07:52:23.085035 > "221 bye bye baby[CR][LF]" 07:52:23.086554 MAIN sockfilt said DISC 07:52:23.086604 ====> Client disconnected 07:52:23.086682 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:23.856020 ====> Client connect 07:52:23.856783 Received DATA (on stdin) 07:52:23.856803 > 160 bytes data, server => client 07:52:23.856817 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:23.856828 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:23.856840 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:23.856928 < 16 bytes data, client => server 07:52:23.856942 'USER anonymous\r\n' 07:52:23.857140 Received DATA (on stdin) 07:52:23.857154 > 33 bytes data, server => client 07:52:23.857166 '331 We are happy you popped in!\r\n' 07:52:23.857224 < 22 bytes data, client => server 07:52:23.857238 'PASS ftp@example.com\r\n' 07:52:23.857365 Received DATA (on stdin) 07:52:23.857378 > 30 bytes data, server => client 07:52:23.857390 '230 Welcome you silly person\r\n' 07:52:23.857438 < 5 bytes data, client => server 07:52:23.857450 'PWD\r\n' 07:52:23.857558 Received DATA (on stdin) 07:52:23.857569 > 30 bytes data, server => client 07:52:23.857581 '257 "/" is current directory\r\n' 07:52:23.857637 < 6 bytes data, client => server 07:52:23.857649 'EPSV\r\n' 07:52:23.866404 Received DATA (on stdin) 07:52:23.866418 > 39 bytes data, server => client 07:52:23.866430 '229 Entering Passive Mode (|||35607|)\r\n' 07:52:23.866569 < 8 bytes data, client => server 07:52:23.866584 'TYPE I\r\n' 07:52:23.866787 Received DATA (on stdin) 07:52:23.866799 > 33 bytes data, server => client 07:52:23.866810 '200 I modify TYPE as you wanted\r\n' 07:52:23.866858 < 21 bytes data, client => server 07:52:23.866869 'SIZE verifiedserver\r\n' 07:52:23.866972 Received DATA (on stdin) 07:52:23.866983 > 8 bytes data, server => client 07:52:23.866994 '213 17\r\n' 07:52:23.867036 < 21 bytes data, client => server 07:52:23.867046 'RETR verifiedserver\r\n' 07:52:23.867243 Received DATA (on stdin) 07:52:23.867255 > 29 bytes data, server => client 07:52:23.867265 '150 Binary junk (17 bytes).\r\n' 07:52:23.867816 Received DATA (on stdin) 07:52:23.867829 > 28 bytes data, server => client 07:52:23.867840 '226 File transfer complete\r\n' 07:52:23.912688 < 6 bytes data, client => server 07:52:23.912725 'QUIT\r\n' 07:52:23.912987 Received DATA (on stdin) 07:52:23.913003 > 18 bytes data, server => client 07:52:23.913015 '221 bye bye baby\r\n' 07:52:23.913954 ====> Client disconnect 07:52:23.914626 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:23.863730 Running IPv4 version 07:52:23.863797 Listening on port 35607 07:52:23.863836 Wrote pid 151450 to log/13/server/ftp_sockdata.pid 07:52:23.866153 Received PING (on stdin) 07:52:23.866249 Received PORT (on stdin) 07:52:23.866606 ====> Client connect 07:52:23.867318 Received DATA (on stdin) 07:52:23.867333 > 17 bytes data, server => client 07:52:23.867344 'WE ROOLZ: 80695\r\n' 07:52:23.867369 Received DISC (on stdin) 07:52:23.867381 ====> Client forcibly disconnected 07:52:23.867517 Received QUIT (on stdin) 07:52:23.867528 quits 07:52:23.867591 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==151627== ==151627== Process terminating with default action of signal 4 (SIGILL) ==151627== Illegal opcode at address 0x4013DC0 ==151627== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151627== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151627== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151627== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1363 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/5/valgrind1367 ../src/curl -q --trace-ascii log/5/trace1367 --trace-time http://127.0.0.1:42797/1367 -o log/5/outfile1367 -D - > log/5/stdout1367 2> log/5/stderr1367 1367: 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/ dir 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/5/valgrind1367 ../src/curl -q --trace-ascii log/5/trace1367 --trace-time http://127.0.0.1:42797/1367 -o log/5/outfile1367 -D - > log/5/stdout1367 2> log/5/stderr1367 === End of file commands.log === Start of file http_server.log 07:52:23.020832 ====> Client connect 07:52:23.020866 accept_connection 3 returned 4 07:52:23.020882 accept_connection 3 returned 0 07:52:23.020896 Read 93 bytes 07:52:23.020906 Process 93 bytes request 07:52:23.020919 Got request: GET /verifiedserver HTTP/1.1 07:52:23.020928 Are-we-friendly question received 07:52:23.020954 Wrote request (93 bytes) input to log/5/server.input 07:52:23.020970 Identifying ourselves as friends 07:52:23.021021 Response sent (56 bytes) and written to log/5/server.response 07:52:23.021031 special request received, no persistency 07:52:23.021041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1367 ==151712== ==151712== Process terminating with default action of signal 4 (SIGILL) ==151712== Illegal opcode at address 0x4013DC0 ==151712== at 0x4013DC0:CMD (33792): ../libtool --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/valgrind1365 ../src/curl -q --trace-ascii log/7/trace1365 --trace-time http://127.0.0.1:39661/1365 -o log/7/outfile1365 -D - > log/7/stdout1365 2> log/7/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/18/valgrind1368 ../src/curl -q --trace-ascii log/18/trace1368 --trace-time http://127.0.0.1:46763/1368 -J -o log/18/outfile1368 -D log/18/heads1368 > log/18/stdout1368 2> log/18/stderr1368 CMD (33792): ../libtool --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/valgrind1364 ../src/curl -q --trace-ascii log/22/trace1364 --trace-time http://127.0.0.1:40377/1364 -o log/22/outfile1364 -D log/22/heads1364 > log/22/stdout1364 2> log/22/stderr1364 getparameter (tool_getparam.c:2846) ==151712== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151712== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151712== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1367 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/7/valgrind1365 ../src/curl -q --trace-ascii log/7/trace1365 --trace-time http://127.0.0.1:39661/1365 -o log/7/outfile1365 -D - > log/7/stdout1365 2> log/7/stderr1365 1365: 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/ dir 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/7/valgrind1365 ../src/curl -q --trace-ascii log/7/trace1365 --trace-time http://127.0.0.1:39661/1365 -o log/7/outfile1365 -D - > log/7/stdout1365 2> log/7/stderr1365 === End of file commands.log === Start of file http_server.log 07:52:24.036983 ====> Client connect 07:52:24.037015 accept_connection 3 returned 4 07:52:24.037031 accept_connection 3 returned 0 07:52:24.037045 Read 93 bytes 07:52:24.037055 Process 93 bytes request 07:52:24.037067 Got request: GET /verifiedserver HTTP/1.1 07:52:24.037077 Are-we-friendly question received 07:52:24.037098 Wrote request (93 bytes) input to log/7/server.input 07:52:24.037121 Identifying ourselves as friends 07:52:24.037170 Response sent (56 bytes) and written to log/7/server.response 07:52:24.037180 special request received, no persistency 07:52:24.037189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 54708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1365 ==151724== ==151724== Process terminating with default action of signal 4 (SIGILL) ==151724== Illegal opcode at address 0x4013DC0 ==151724== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151724== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151724== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151724== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1365 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/18/valgrind1368 ../src/curl -q --trace-ascii log/18/trace1368 --trace-time http://127.0.0.1:46763/1368 -J -o log/18/outfile1368 -D log/18/heads1368 > log/18/stdout1368 2> log/18/stderr1368 1368: 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/ dir 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/18/valgrind1368 ../src/curl -q --trace-ascii log/18/trace1368 --trace-time http://127.0.0.1:46763/1368 -J -o log/18/outfile1368 -D log/18/heads1368 > log/18/stdout1368 2> log/18/stderr1368 === End of file commands.log === Start of file http_server.log 07:52:24.063993 ====> Client connect 07:52:24.064033 accept_connection 3 returned 4 07:52:24.064054 accept_connection 3 returned 0 07:52:24.064070 Read 93 bytes 07:52:24.064080 Process 93 bytes request 07:52:24.064095 Got request: GET /verifiedserver HTTP/1.1 07:52:24.064105 Are-we-friendly question received 07:52:24.064129 Wrote request (93 bytes) input to log/18/server.input 07:52:24.064145 Identifying ourselves as friends 07:52:24.064218 Response sent (56 bytes) and written to log/18/server.response 07:52:24.064229 special request received, no persistency 07:52:24.064239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1368 ==151745== ==151745== Process terminating with default action of signal 4 (SIGILL) ==151745== Illegal opcode at address 0x4013DC0 ==151745== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151745== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151745== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151745== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1368 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/22/valgrind1364 ../src/curl -q --trace-ascii log/22/trace1364 --trace-time http://127.0.0.1:40377/1364 -o log/22/outfile1364 -D log/22/heads1364 > log/22/stdout1364 2> log/22/stderr1364 1364: 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/ dir 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/22/valgrind1364 ../src/curl -q --trace-ascii log/22/trace1364 --trace-time http://127.0.0.1:40377/1364 -o log/22/outfile1364 -D log/22/heads1364 > log/22/stdout1364 2> log/22/stderr1364 === End of file commands.log === Start of file http_server.log 07:52:23.015870 ====> Client connect 07:52:23.015908 accept_connection 3 returned 4 07:52:23.015928 accept_connection 3 returned 0 07:52:23.015946 Read 93 bytes 07:52:23.015958 Process 93 bytes request 07:52:23.015973 Got request: GET /verifiedserver HTTP/1.1 07:52:23.015984 Are-we-friendly question received 07:52:23.016010 Wrote request (93 bytes) input to log/22/server.input 07:52:23.016029 Identifying ourselves as friends 07:52:23.016092 Response sent (56 bytes) and written to log/22/server.response 07:52:23.016105 special request received, no persistency 07:52:23.016116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 52350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_CMD (33792): ../libtool --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/valgrind1370 ../src/curl -q --trace-ascii log/6/trace1370 --trace-time http://127.0.0.1:45933/1370 -J -o log/6/outfile1370 -D log/6/heads1370 > log/6/stdout1370 2> log/6/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/3/valgrind1371 ../src/curl -q --trace-ascii log/3/trace1371 --trace-time http://127.0.0.1:34059/1371 -J -o log/3/outfile1371 -D - > log/3/stdout1371 2> log/3/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/20/valgrind1369 ../src/curl -q --trace-ascii log/20/trace1369 --trace-time http://127.0.0.1:40357/1369 -J -o log/20/outfile1369 -D - > log/20/stdout1369 2> log/20/stderr1369 verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1364 ==151722== ==151722== Process terminating with default action of signal 4 (SIGILL) ==151722== Illegal opcode at address 0x4013DC0 ==151722== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==151722== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151722== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==151722== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1364 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/6/valgrind1370 ../src/curl -q --trace-ascii log/6/trace1370 --trace-time http://127.0.0.1:45933/1370 -J -o log/6/outfile1370 -D log/6/heads1370 > log/6/stdout1370 2> log/6/stderr1370 1370: 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/ dir 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/6/valgrind1370 ../src/curl -q --trace-ascii log/6/trace1370 --trace-time http://127.0.0.1:45933/1370 -J -o log/6/outfile1370 -D log/6/heads1370 > log/6/stdout1370 2> log/6/stderr1370 === End of file commands.log === Start of file http_server.log 07:52:23.384628 ====> Client connect 07:52:23.384664 accept_connection 3 returned 4 07:52:23.384681 accept_connection 3 returned 0 07:52:23.384698 Read 93 bytes 07:52:23.384709 Process 93 bytes request 07:52:23.384723 Got request: GET /verifiedserver HTTP/1.1 07:52:23.384733 Are-we-friendly question received 07:52:23.384758 Wrote request (93 bytes) input to log/6/server.input 07:52:23.384775 Identifying ourselves as friends 07:52:23.384833 Response sent (56 bytes) and written to log/6/server.response 07:52:23.384844 special request received, no persistency 07:52:23.384853 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 52582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1370 ==152063== ==152063== Process terminating with default action of signal 4 (SIGILL) ==152063== Illegal opcode at address 0x4013DC0 ==152063== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152063== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152063== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152063== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1370 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/3/valgrind1371 ../src/curl -q --trace-ascii log/3/trace1371 --trace-time http://127.0.0.1:34059/1371 -J -o log/3/outfile1371 -D - > log/3/stdout1371 2> log/3/stderr1371 1371: 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/ dir 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/3/valgrind1371 ../src/curl -q --trace-ascii log/3/trace1371 --trace-time http://127.0.0.1:34059/1371 -J -o log/3/outfile1371 -D - > log/3/stdout1371 2> log/3/stderr1371 === End of file commands.log === Start of file http_server.log 07:52:24.383803 ====> Client connect 07:52:24.383838 accept_connection 3 returned 4 07:52:24.383855 accept_connection 3 returned 0 07:52:24.389308 Read 93 bytes 07:52:24.389332 Process 93 bytes request 07:52:24.389346 Got request: GET /verifiedserver HTTP/1.1 07:52:24.389357 Are-we-friendly question received 07:52:24.389393 Wrote request (93 bytes) input to log/3/server.input 07:52:24.389412 Identifying ourselves as friends 07:52:24.389466 Response sent (56 bytes) and written to log/3/server.response 07:52:24.389478 special request received, no persistency 07:52:24.389488 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 46224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1371 ==152067== ==152067== Process terminating with default action of signal 4 (SIGILL) ==152067== Illegal opcode at address 0x4013DC0 ==152067== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152067== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152067== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152067== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1371 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/20/valgrind1369 ../src/curl -q --trace-ascii log/20/trace1369 --trace-time http://127.0.0.1:40357/1369 -J -o log/20/outfile1369 -D - > log/20/stdout1369 2> log/20/stderr1369 1369: 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/ dir 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/20/valgrind1369 ../src/curl -q --trace-ascii log/20/trace1369 --trace-time http://127.0.0.1:40357/1369 -J -o log/20/outfile1369 -D - > log/20/stdout1369 2> log/20/stderr1369 === End of file commands.log === Start of file http_server.log 07:52:23.300998 ====> Client connect 07:52:23.301033 accept_connection 3 returned 4 07:52:23.301051 accept_connection 3 returned 0 07:52:23.301066 Read 93 bytes 07:52:23.301077 Process 93 bytes request 07:52:23.301092 Got request: GET /verifiedserver HTTP/1.1 07:52:23.301102 Are-we-friendly question received 07:52:23.301129 Wrote request (93 bytes) input to log/20/server.input 07:52:23.301148 Identifying ourselves as friends 07:52:23.301204 Response sent (56 bytes) and written to log/20/server.response 07:52:23.301215 special request received, no persistency 07:52:23.301224 ====> 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/12/valgrind1372 ../src/curl -q --trace-ascii log/12/trace1372 --trace-time http://127.0.0.1:38023/1372 -i -o log/12/outfile1372 -D log/12/heads1372 > log/12/stdout1372 2> log/12/stderr1372 CMD (33792): ../libtool --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/valgrind1373 ../src/curl -q --trace-ascii log/11/trace1373 --trace-time http://127.0.0.1:38169/1373 -i -o log/11/outfile1373 -D - > log/11/stdout1373 2> log/11/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/21/valgrind1374 ../src/curl -q --trace-ascii log/21/trace1374 --trace-time http://127.0.0.1:45761/1374 -i -o log/21/outfile1374 -D log/21/heads1374 > log/21/stdout1374 2> log/21/stderr1374 === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 59204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1369 ==152030== ==152030== Process terminating with default action of signal 4 (SIGILL) ==152030== Illegal opcode at address 0x4013DC0 ==152030== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152030== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152030== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152030== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1369 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/12/valgrind1372 ../src/curl -q --trace-ascii log/12/trace1372 --trace-time http://127.0.0.1:38023/1372 -i -o log/12/outfile1372 -D log/12/heads1372 > log/12/stdout1372 2> log/12/stderr1372 1372: 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/ dir 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/12/valgrind1372 ../src/curl -q --trace-ascii log/12/trace1372 --trace-time http://127.0.0.1:38023/1372 -i -o log/12/outfile1372 -D log/12/heads1372 > log/12/stdout1372 2> log/12/stderr1372 === End of file commands.log === Start of file http_server.log 07:52:23.697062 ====> Client connect 07:52:23.697095 accept_connection 3 returned 4 07:52:23.697113 accept_connection 3 returned 0 07:52:23.697129 Read 93 bytes 07:52:23.697139 Process 93 bytes request 07:52:23.697153 Got request: GET /verifiedserver HTTP/1.1 07:52:23.697163 Are-we-friendly question received 07:52:23.697189 Wrote request (93 bytes) input to log/12/server.input 07:52:23.697206 Identifying ourselves as friends 07:52:23.697258 Response sent (56 bytes) and written to log/12/server.response 07:52:23.697268 special request received, no persistency 07:52:23.697278 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37622 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1372 ==152261== ==152261== Process terminating with default action of signal 4 (SIGILL) ==152261== Illegal opcode at address 0x4013DC0 ==152261== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152261== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152261== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152261== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1372 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/11/valgrind1373 ../src/curl -q --trace-ascii log/11/trace1373 --trace-time http://127.0.0.1:38169/1373 -i -o log/11/outfile1373 -D - > log/11/stdout1373 2> log/11/stderr1373 1373: 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/ dir 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/11/valgrind1373 ../src/curl -q --trace-ascii log/11/trace1373 --trace-time http://127.0.0.1:38169/1373 -i -o log/11/outfile1373 -D - > log/11/stdout1373 2> log/11/stderr1373 === End of file commands.log === Start of file http_server.log 07:52:23.705902 ====> Client connect 07:52:23.705946 accept_connection 3 returned 4 07:52:23.705963 accept_connection 3 returned 0 07:52:23.705977 Read 93 bytes 07:52:23.705987 Process 93 bytes request 07:52:23.705999 Got request: GET /verifiedserver HTTP/1.1 07:52:23.706008 Are-we-friendly question received 07:52:23.706031 Wrote request (93 bytes) input to log/11/server.input 07:52:23.706047 Identifying ourselves as friends 07:52:23.706108 Response sent (56 bytes) and written to log/11/server.response 07:52:23.706118 special request received, no persistency 07:52:23.706127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 59138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1373 ==152265== ==152265== Process terminating with default action of signal 4 (SIGILL) ==152265== Illegal opcode at address 0x4013DC0 ==152265== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152265== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152265== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152265== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1373 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/21/valgrind1374 ../src/curl -q --trace-ascii log/21/trace1374 --trace-time http://127.0.0.1:45761/1374 -i -o log/21/outfile1374 -D log/21/heads1374 > log/21/stdout1374 2> log/21/stderr1374 1374: 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/ dir 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/21/valgrind1374 ../src/curl -q --trace-ascii log/21/trace1374 --trace-time http://127.0.0.1:45761/1374 -i -o log/21/outfile1374 -D log/21/heads1374 > log/21/stdout1374 2> log/21/stderr1374 === End of file commands.log === Start of file http_server.log 07:52:23.744204 ====> Client connect 07:52:23.744242 accept_connection 3 returned 4 07:52:23.744261 accept_connection 3 returned 0 07:52:23.7CMD (33792): ../libtool --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/valgrind1375 ../src/curl -q --trace-ascii log/4/trace1375 --trace-time http://127.0.0.1:43573/1375 -i -o log/4/outfile1375 -D - > log/4/stdout1375 2> log/4/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/19/valgrind1378 ../src/curl -q --trace-ascii log/19/trace1378 --trace-time ftp://127.0.0.1:44991/path/file1378 -o log/19/download1378 > log/19/stdout1378 2> log/19/stderr1378 44277 Read 93 bytes 07:52:23.744289 Process 93 bytes request 07:52:23.744303 Got request: GET /verifiedserver HTTP/1.1 07:52:23.744314 Are-we-friendly question received 07:52:23.744341 Wrote request (93 bytes) input to log/21/server.input 07:52:23.744359 Identifying ourselves as friends 07:52:23.744420 Response sent (56 bytes) and written to log/21/server.response 07:52:23.744432 special request received, no persistency 07:52:23.744443 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 45966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1374 ==152283== ==152283== Process terminating with default action of signal 4 (SIGILL) ==152283== Illegal opcode at address 0x4013DC0 ==152283== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152283== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152283== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152283== by 0x40037A4: main (tool_main.c:199) === 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/4/valgrind1375 ../src/curl -q --trace-ascii log/4/trace1375 --trace-time http://127.0.0.1:43573/1375 -i -o log/4/outfile1375 -D - > log/4/stdout1375 2> log/4/stderr1375 1375: 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/ dir 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/4/valgrind1375 ../src/curl -q --trace-ascii log/4/trace1375 --trace-time http://127.0.0.1:43573/1375 -i -o log/4/outfile1375 -D - > log/4/stdout1375 2> log/4/stderr1375 === End of file commands.log === Start of file http_server.log 07:52:24.815880 ====> Client connect 07:52:24.815915 accept_connection 3 returned 4 07:52:24.815932 accept_connection 3 returned 0 07:52:24.815948 Read 93 bytes 07:52:24.815958 Process 93 bytes request 07:52:24.815971 Got request: GET /verifiedserver HTTP/1.1 07:52:24.815981 Are-we-friendly question received 07:52:24.816009 Wrote request (93 bytes) input to log/4/server.input 07:52:24.816025 Identifying ourselves as friends 07:52:24.816082 Response sent (56 bytes) and written to log/4/server.response 07:52:24.816092 special request received, no persistency 07:52:24.816101 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 33844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind1375 ==152376== ==152376== Process terminating with default action of signal 4 (SIGILL) ==152376== Illegal opcode at address 0x4013DC0 ==152376== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152376== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152376== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152376== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1375 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/19/valgrind1378 ../src/curl -q --trace-ascii log/19/trace1378 --trace-time ftp://127.0.0.1:44991/path/file1378 -o log/19/download1378 > log/19/stdout1378 2> log/19/stderr1378 1378: 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/ dir 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/19/valgrind1378 ../src/curl -q --trace-ascii log/19/trace1378 --trace-time ftp://127.0.0.1:44991/path/file1378 -o log/19/download1378 > log/19/stdout1378 2> log/19/stderr1378 === End of file commands.log === Start of file ftp_server.log 07:52:24.161788 ====> Client connect 07:52:24.161934 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.162219 < "USER anonymous" 07:52:24.162257 > "331 We are happy you popped in![CR][LF]" 07:52:24.162432 < "PASS ftp@example.com" 07:52:24.162459 > "230 Welcome you silly person[CR][LF]" 07:52:24.162610 < "PWD" 07:52:24.162643 > "257 "/" is current directory[CR][LF]" 07:52:24.162799 < "EPSV" 07:52:24.162824 ====> Passive DATA channel requested by client 07:52:24.162837 DATA sockfilt for passive data channel starting... 07:52:24.172858 DATA sockfilt for passive data channel started (pid 152524) 07:52:24.173018 DATA sockfilt for passive data channel listens on port 41699 07:52:24.173071 > "229 Entering Passive Mode (|||41699|)[CR][LF]" 07:52:24.173091 Client has been notified that DATA conn will be accepted on port 41699 07:52:24.173325 Client connects to port 41699 07:52:24.173355 ====> Client established passive DATA connection on port 41699 07:52:24.173493 < "TYPE I" 07:52:24.173528 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.174187 < "SIZE verifiedserver" 07:52:24.174226 > "213 17[CR][LF]" 07:52:24.174389 < "RETR verifiedserver" 07:52:24.174425 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.174514 =====> Closing passive DATA connection... 07:52:24.174531 Server disconnects passive DATA connection 07:52:24.174660 Server disconnected passive DATA connection 07:52:24.174682 DATA sockfilt for passive data channel quits (pid 152524) 07:52:24.174896 DATA sockfilt for passive data channel quit (pid 152524) 07:52:24.174921 =====> Closed passive DATA connection 07:52:24.174948 > "226 File transfer complete[CR][LF]" 07:52:24.226328 < "QUIT" 07:52:24.226380 > "221 bye bye baby[CR][LF]" 07:52:24.227556 MAIN sockfilt said DISC 07:52:24.227587 ====> Client disconnected 07:52:24.227658 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:23.989626 ====> Client connect 07:52:23.989890 Received DATA (on stdin) 07:52:23.989907 > 160 bytes data, server => client 07:52:23.989920 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:23.989933 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:23.989944 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:23.990017 < 16 bytes data, client => server 07:52:23.990029 'USER anonymous\r\n' 07:52:23.990202 Received DATA (on stdin) 07:52:23.CMD (33792): ../libtool --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/valgrind1377 ../src/curl -q --trace-ascii log/23/trace1377 --trace-time http://127.0.0.1:41029/1377 -i -o log/23/outfile1377 > log/23/stdout1377 2> log/23/stderr1377 CMD (33792): ../libtool --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/valgrind1376 ../src/curl -q --trace-ascii log/17/trace1376 --trace-time http://127.0.0.1:42601/1376 -i -o log/17/outfile1376 > log/17/stdout1376 2> log/17/stderr1376 990215 > 33 bytes data, server => client 07:52:23.990227 '331 We are happy you popped in!\r\n' 07:52:23.990278 < 22 bytes data, client => server 07:52:23.990290 'PASS ftp@example.com\r\n' 07:52:23.990401 Received DATA (on stdin) 07:52:23.990413 > 30 bytes data, server => client 07:52:23.990425 '230 Welcome you silly person\r\n' 07:52:23.990469 < 5 bytes data, client => server 07:52:23.990480 'PWD\r\n' 07:52:23.990584 Received DATA (on stdin) 07:52:23.990596 > 30 bytes data, server => client 07:52:23.990608 '257 "/" is current directory\r\n' 07:52:23.990662 < 6 bytes data, client => server 07:52:23.990673 'EPSV\r\n' 07:52:24.001043 Received DATA (on stdin) 07:52:24.001062 > 39 bytes data, server => client 07:52:24.001075 '229 Entering Passive Mode (|||41699|)\r\n' 07:52:24.001318 < 8 bytes data, client => server 07:52:24.001332 'TYPE I\r\n' 07:52:24.001470 Received DATA (on stdin) 07:52:24.001483 > 33 bytes data, server => client 07:52:24.001496 '200 I modify TYPE as you wanted\r\n' 07:52:24.002022 < 21 bytes data, client => server 07:52:24.002045 'SIZE verifiedserver\r\n' 07:52:24.002169 Received DATA (on stdin) 07:52:24.002182 > 8 bytes data, server => client 07:52:24.002194 '213 17\r\n' 07:52:24.002244 < 21 bytes data, client => server 07:52:24.002257 'RETR verifiedserver\r\n' 07:52:24.002890 Received DATA (on stdin) 07:52:24.002905 > 29 bytes data, server => client 07:52:24.002918 '150 Binary junk (17 bytes).\r\n' 07:52:24.002941 Received DATA (on stdin) 07:52:24.002953 > 28 bytes data, server => client 07:52:24.002965 '226 File transfer complete\r\n' 07:52:24.054075 < 6 bytes data, client => server 07:52:24.054103 'QUIT\r\n' 07:52:24.054324 Received DATA (on stdin) 07:52:24.054336 > 18 bytes data, server => client 07:52:24.054347 '221 bye bye baby\r\n' 07:52:24.055148 ====> Client disconnect 07:52:24.055596 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.993267 Running IPv4 version 07:52:24.993348 Listening on port 41699 07:52:24.993394 Wrote pid 152524 to log/19/server/ftp_sockdata.pid 07:52:25.000457 Received PING (on stdin) 07:52:25.000851 Received PORT (on stdin) 07:52:25.001214 ====> Client connect 07:52:25.002474 Received DATA (on stdin) 07:52:25.002489 > 17 bytes data, server => client 07:52:25.002509 'WE ROOLZ: 80634\r\n' 07:52:25.002537 Received DISC (on stdin) 07:52:25.002550 ====> Client forcibly disconnected 07:52:25.002632 Received QUIT (on stdin) 07:52:25.002644 quits 07:52:25.002700 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==152601== ==152601== Process terminating with default action of signal 4 (SIGILL) ==152601== Illegal opcode at address 0x4013DC0 ==152601== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152601== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152601== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152601== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1378 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/23/valgrind1377 ../src/curl -q --trace-ascii log/23/trace1377 --trace-time http://127.0.0.1:41029/1377 -i -o log/23/outfile1377 > log/23/stdout1377 2> log/23/stderr1377 1377: 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/ dir 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/23/valgrind1377 ../src/curl -q --trace-ascii log/23/trace1377 --trace-time http://127.0.0.1:41029/1377 -i -o log/23/outfile1377 > log/23/stdout1377 2> log/23/stderr1377 === End of file commands.log === Start of file http_server.log 07:52:23.996348 ====> Client connect 07:52:23.996380 accept_connection 3 returned 4 07:52:23.996397 accept_connection 3 returned 0 07:52:23.996412 Read 93 bytes 07:52:23.996423 Process 93 bytes request 07:52:23.996438 Got request: GET /verifiedserver HTTP/1.1 07:52:23.996448 Are-we-friendly question received 07:52:23.996473 Wrote request (93 bytes) input to log/23/server.input 07:52:23.996490 Identifying ourselves as friends 07:52:23.996544 Response sent (56 bytes) and written to log/23/server.response 07:52:23.996555 special request received, no persistency 07:52:23.996565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 37598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1377 ==152555== ==152555== Process terminating with default action of signal 4 (SIGILL) ==152555== Illegal opcode at address 0x4013DC0 ==152555== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152555== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152555== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152555== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1377 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/17/valgrind1376 ../src/curl -q --trace-ascii log/17/trace1376 --trace-time http://127.0.0.1:42601/1376 -i -o log/17/outfile1376 > log/17/stdout1376 2> log/17/stderr1376 1376: 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/ dir 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/17/valgrind1376 ../src/curl -q --trace-ascii log/17/trace1376 --trace-time http://127.0.0.1:42601/1376 -i -o log/17/outfile1376 > log/17/stdout1376 2> log/17/stderr1376 === End of file commands.log === Start of file http_server.log 07:52:24.964169 ====> Client connect 07:52:24.964203 accept_connection 3 returned 4 07:52:24.964221 accept_connection 3 returned 0 07:52:24.969132 Read 93 bytes 07:52:24.969152 Process 93 bytes request 07:52:24.969179 Got request: GET /verifiedserver HTTP/1.1 07:52:24.969189 Are-we-friendly question received 07:52:24.969220 Wrote request (93 bytes) input to log/17/server.input 07:52:24.969239 Identifying ourselves as friends 07:52:24.969293 Response sent (56 bytes) and written to log/17/server.response 07:52:24.969304 special request received, no persistency 07:52:24.969314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 34938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WECMD (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/valgrind1394 ./tunit/tunits tool1394 - > log/3/stdout1394 2> log/3/stderr1394 CMD (33792): ../libtool --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/valgrind1380 ../src/curl -q --trace-ascii log/14/trace1380 --trace-time ftp://127.0.0.1:39555/path/file1380 -o log/14/download1380 -D - > log/14/stdout1380 2> log/14/stderr1380 CMD (33792): ../libtool --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/valgrind1379 ../src/curl -q --trace-ascii log/24/trace1379 --trace-time ftp://127.0.0.1:36707/path/file1379 -o log/24/download1379 -D log/24/heads1379 > log/24/stdout1379 2> log/24/stderr1379 ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1376 ==152529== ==152529== Process terminating with default action of signal 4 (SIGILL) ==152529== Illegal opcode at address 0x4013DC0 ==152529== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152529== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152529== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152529== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1376 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/3/valgrind1394 ./tunit/tunits tool1394 - > log/3/stdout1394 2> log/3/stderr1394 -------e-v- OK (1325 out of 1746, remaining: 00:33, took 0.832s, duration: 01:44) 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/14/valgrind1380 ../src/curl -q --trace-ascii log/14/trace1380 --trace-time ftp://127.0.0.1:39555/path/file1380 -o log/14/download1380 -D - > log/14/stdout1380 2> log/14/stderr1380 1380: 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/ dir 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/14/valgrind1380 ../src/curl -q --trace-ascii log/14/trace1380 --trace-time ftp://127.0.0.1:39555/path/file1380 -o log/14/download1380 -D - > log/14/stdout1380 2> log/14/stderr1380 === End of file commands.log === Start of file ftp_server.log 07:52:24.291349 ====> Client connect 07:52:24.291484 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.291769 < "USER anonymous" 07:52:24.291808 > "331 We are happy you popped in![CR][LF]" 07:52:24.291980 < "PASS ftp@example.com" 07:52:24.292006 > "230 Welcome you silly person[CR][LF]" 07:52:24.292150 < "PWD" 07:52:24.292179 > "257 "/" is current directory[CR][LF]" 07:52:24.292329 < "EPSV" 07:52:24.292352 ====> Passive DATA channel requested by client 07:52:24.292365 DATA sockfilt for passive data channel starting... 07:52:24.304621 DATA sockfilt for passive data channel started (pid 152704) 07:52:24.308278 DATA sockfilt for passive data channel listens on port 37121 07:52:24.308351 > "229 Entering Passive Mode (|||37121|)[CR][LF]" 07:52:24.308370 Client has been notified that DATA conn will be accepted on port 37121 07:52:24.312002 Client connects to port 37121 07:52:24.312066 ====> Client established passive DATA connection on port 37121 07:52:24.312177 < "TYPE I" 07:52:24.312218 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.312427 < "SIZE verifiedserver" 07:52:24.312476 > "213 17[CR][LF]" 07:52:24.312636 < "RETR verifiedserver" 07:52:24.312671 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.312763 =====> Closing passive DATA connection... 07:52:24.312779 Server disconnects passive DATA connection 07:52:24.313555 Server disconnected passive DATA connection 07:52:24.313582 DATA sockfilt for passive data channel quits (pid 152704) 07:52:24.313929 DATA sockfilt for passive data channel quit (pid 152704) 07:52:24.313954 =====> Closed passive DATA connection 07:52:24.313990 > "226 File transfer complete[CR][LF]" 07:52:24.358214 < "QUIT" 07:52:24.358262 > "221 bye bye baby[CR][LF]" 07:52:24.359191 MAIN sockfilt said DISC 07:52:24.359233 ====> Client disconnected 07:52:24.359310 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.119187 ====> Client connect 07:52:24.119438 Received DATA (on stdin) 07:52:24.119455 > 160 bytes data, server => client 07:52:24.119469 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.119480 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.119492 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.119573 < 16 bytes data, client => server 07:52:24.119586 'USER anonymous\r\n' 07:52:24.119752 Received DATA (on stdin) 07:52:24.119765 > 33 bytes data, server => client 07:52:24.119776 '331 We are happy you popped in!\r\n' 07:52:24.119826 < 22 bytes data, client => server 07:52:24.119839 'PASS ftp@example.com\r\n' 07:52:24.119945 Received DATA (on stdin) 07:52:24.119957 > 30 bytes data, server => client 07:52:24.119968 '230 Welcome you silly person\r\n' 07:52:24.120012 < 5 bytes data, client => server 07:52:24.120023 'PWD\r\n' 07:52:24.120118 Received DATA (on stdin) 07:52:24.120130 > 30 bytes data, server => client 07:52:24.120142 '257 "/" is current directory\r\n' 07:52:24.120193 < 6 bytes data, client => server 07:52:24.120204 'EPSV\r\n' 07:52:24.136323 Received DATA (on stdin) 07:52:24.136342 > 39 bytes data, server => client 07:52:24.136354 '229 Entering Passive Mode (|||37121|)\r\n' 07:52:24.136509 < 8 bytes data, client => server 07:52:24.136525 'TYPE I\r\n' 07:52:24.140163 Received DATA (on stdin) 07:52:24.140180 > 33 bytes data, server => client 07:52:24.140192 '200 I modify TYPE as you wanted\r\n' 07:52:24.140263 < 21 bytes data, client => server 07:52:24.140277 'SIZE verifiedserver\r\n' 07:52:24.140418 Received DATA (on stdin) 07:52:24.140430 > 8 bytes data, server => client 07:52:24.140441 '213 17\r\n' 07:52:24.140492 < 21 bytes data, client => server 07:52:24.140504 'RETR verifiedserver\r\n' 07:52:24.140722 Received DATA (on stdin) 07:52:24.140734 > 29 bytes data, server => client 07:52:24.140746 '150 Binary junk (17 bytes).\r\n' 07:52:24.141934 Received DATA (on stdin) 07:52:24.141948 > 28 bytes data, server => client 07:52:24.141960 '226 File transfer complete\r\n' 07:52:24.185982 < 6 bytes data, client => server 07:52:24.186014 'QUIT\r\n' 07:52:24.186206 Received DATA (on stdin) 07:52:24.186219 > 18 bytes data, server => client 07:52:24.186231 '221 bye bye baby\r\n' 07:52:24.187067 ====> Client disconnect 07:52:24.187251 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.126548 Running IPv4 version 07:52:24.126611 Listening on port 37121 07:52:24.126651 Wrote pid 152704 to log/14/server/ftp_sockdata.pid 07:52:24.130234 Received PING (on stdin) 07:52:24.135216 Received PORT (on stdin) 07:52:24.139181 ====> Client connect 07:52:24.141365 Received DATA (on stdin) 07:52:24.141387 > 17 bytes data, server => client 07:52:24.141399 'WE ROOLZ: 81000\r\n' 07:52:24.141429 Received DISC (on stdin) 07:52:24.141442 ====> Client forcibly disconnected 07:52:24.141602 Received QUIT (on stdin) 07:52:24.141618 quits 07:52:24.141686 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==152771== ==152771== Process terminating with default action of signal 4 (SIGILL) ==152771== Illegal opcode at address 0x4013DC0 ==152771== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152771== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152771== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152771== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1380 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/24/valgrind1379 ../src/curl -q --trace-ascii log/24/trace1379 --trace-time ftp://127.0.0.1:36707CMD (33792): ../libtool --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/valgrind1385 ../src/curl -q --trace-ascii log/16/trace1385 --trace-time ftp://127.0.0.1:37855/path/file1385 -o log/16/download1385 -i > log/16/stdout1385 2> log/16/stderr1385 /path/file1379 -o log/24/download1379 -D log/24/heads1379 > log/24/stdout1379 2> log/24/stderr1379 1379: 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/ dir 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/24/valgrind1379 ../src/curl -q --trace-ascii log/24/trace1379 --trace-time ftp://127.0.0.1:36707/path/file1379 -o log/24/download1379 -D log/24/heads1379 > log/24/stdout1379 2> log/24/stderr1379 === End of file commands.log === Start of file ftp_server.log 07:52:24.278196 ====> Client connect 07:52:24.278343 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.278648 < "USER anonymous" 07:52:24.278689 > "331 We are happy you popped in![CR][LF]" 07:52:24.279383 < "PASS ftp@example.com" 07:52:24.279418 > "230 Welcome you silly person[CR][LF]" 07:52:24.279587 < "PWD" 07:52:24.279618 > "257 "/" is current directory[CR][LF]" 07:52:24.279779 < "EPSV" 07:52:24.279802 ====> Passive DATA channel requested by client 07:52:24.279816 DATA sockfilt for passive data channel starting... 07:52:24.282979 DATA sockfilt for passive data channel started (pid 152672) 07:52:24.283869 DATA sockfilt for passive data channel listens on port 36355 07:52:24.283921 > "229 Entering Passive Mode (|||36355|)[CR][LF]" 07:52:24.283939 Client has been notified that DATA conn will be accepted on port 36355 07:52:24.284182 Client connects to port 36355 07:52:24.284214 ====> Client established passive DATA connection on port 36355 07:52:24.284294 < "TYPE I" 07:52:24.284324 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.284481 < "SIZE verifiedserver" 07:52:24.284518 > "213 17[CR][LF]" 07:52:24.289002 < "RETR verifiedserver" 07:52:24.289044 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.289132 =====> Closing passive DATA connection... 07:52:24.289148 Server disconnects passive DATA connection 07:52:24.289710 Server disconnected passive DATA connection 07:52:24.289741 DATA sockfilt for passive data channel quits (pid 152672) 07:52:24.290006 DATA sockfilt for passive data channel quit (pid 152672) 07:52:24.290028 =====> Closed passive DATA connection 07:52:24.290059 > "226 File transfer complete[CR][LF]" 07:52:24.333210 < "QUIT" 07:52:24.333540 > "221 bye bye baby[CR][LF]" 07:52:24.334658 MAIN sockfilt said DISC 07:52:24.334932 ====> Client disconnected 07:52:24.341903 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.104585 ====> Client connect 07:52:24.106299 Received DATA (on stdin) 07:52:24.106318 > 160 bytes data, server => client 07:52:24.106332 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.106344 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.106356 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.106441 < 16 bytes data, client => server 07:52:24.106455 'USER anonymous\r\n' 07:52:24.106633 Received DATA (on stdin) 07:52:24.106647 > 33 bytes data, server => client 07:52:24.106659 '331 We are happy you popped in!\r\n' 07:52:24.107187 < 22 bytes data, client => server 07:52:24.107208 'PASS ftp@example.com\r\n' 07:52:24.107359 Received DATA (on stdin) 07:52:24.107373 > 30 bytes data, server => client 07:52:24.107384 '230 Welcome you silly person\r\n' 07:52:24.107435 < 5 bytes data, client => server 07:52:24.107447 'PWD\r\n' 07:52:24.107557 Received DATA (on stdin) 07:52:24.107569 > 30 bytes data, server => client 07:52:24.107581 '257 "/" is current directory\r\n' 07:52:24.107637 < 6 bytes data, client => server 07:52:24.107648 'EPSV\r\n' 07:52:24.111886 Received DATA (on stdin) 07:52:24.111901 > 39 bytes data, server => client 07:52:24.111913 '229 Entering Passive Mode (|||36355|)\r\n' 07:52:24.112037 < 8 bytes data, client => server 07:52:24.112052 'TYPE I\r\n' 07:52:24.112264 Received DATA (on stdin) 07:52:24.112277 > 33 bytes data, server => client 07:52:24.112289 '200 I modify TYPE as you wanted\r\n' 07:52:24.112339 < 21 bytes data, client => server 07:52:24.112351 'SIZE verifiedserver\r\n' 07:52:24.112457 Received DATA (on stdin) 07:52:24.112469 > 8 bytes data, server => client 07:52:24.112479 '213 17\r\n' 07:52:24.113828 < 21 bytes data, client => server 07:52:24.113846 'RETR verifiedserver\r\n' 07:52:24.117092 Received DATA (on stdin) 07:52:24.117107 > 29 bytes data, server => client 07:52:24.117119 '150 Binary junk (17 bytes).\r\n' 07:52:24.118002 Received DATA (on stdin) 07:52:24.118016 > 28 bytes data, server => client 07:52:24.118028 '226 File transfer complete\r\n' 07:52:24.160689 < 6 bytes data, client => server 07:52:24.160719 'QUIT\r\n' 07:52:24.161709 Received DATA (on stdin) 07:52:24.161734 > 18 bytes data, server => client 07:52:24.161746 '221 bye bye baby\r\n' 07:52:24.162157 ====> Client disconnect 07:52:24.163074 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.110015 Running IPv4 version 07:52:24.110068 Listening on port 36355 07:52:24.110104 Wrote pid 152672 to log/24/server/ftp_sockdata.pid 07:52:24.110851 Received PING (on stdin) 07:52:24.110950 Received PORT (on stdin) 07:52:24.112074 ====> Client connect 07:52:24.117181 Received DATA (on stdin) 07:52:24.117198 > 17 bytes data, server => client 07:52:24.117210 'WE ROOLZ: 83461\r\n' 07:52:24.117236 Received DISC (on stdin) 07:52:24.117249 ====> Client forcibly disconnected 07:52:24.117693 Received QUIT (on stdin) 07:52:24.117707 quits 07:52:24.117767 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==152781== ==152781== Process terminating with default action of signal 4 (SIGILL) ==152781== Illegal opcode at address 0x4013DC0 ==152781== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152781== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152781== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152781== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1379 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/16/valgrind1385 ../src/curl -q --trace-ascii log/16/trace1385 --trace-time ftp://127.0.0.1:37855/path/file1385 -o log/16/download1385 -i > log/16/stdout1385 2> log/16/stderr1385 1385: 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/ dir 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/16/valgrind1385 ../src/curl -q --trace-ascii log/16/trace1385 --trace-time ftp://127.0.0.1:37855/path/file1385 -o log/16/download1385 -i > log/16/stdout1385 2> log/16/stderr1385 === End of file commands.log === Start of file ftp_server.log 07:52:24.462658 ====> Client connect 07:52:24.462832 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.470538 < "USER anonymous" 07:52:24.470587 > "331 We are happy you popped in![CR][LF]" 07:52:24.470771 < "PASS ftp@example.com" 07:52:24.470803 > "230 Welcome you silly person[CR][LF]" 07:52:24.470956 < "PWD" 07:52:24.470989 > "257 "/" is current directory[CR][LF]" 07:52:24.471147 < "EPSV" 07:52:24.471171 ====> Passive DATA channel requested by client 07:52:24.471184 DATA sockfilt for CMD (33792): ../libtool --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/valgrind1386 ../src/curl -q --trace-ascii log/1/trace1386 --trace-time ftp://127.0.0.1:42965/path/file1386 -o log/1/download1386 > log/1/stdout1386 2> log/1/stderr1386 passive data channel starting... 07:52:24.477777 DATA sockfilt for passive data channel started (pid 152912) 07:52:24.477944 DATA sockfilt for passive data channel listens on port 34435 07:52:24.478004 > "229 Entering Passive Mode (|||34435|)[CR][LF]" 07:52:24.478025 Client has been notified that DATA conn will be accepted on port 34435 07:52:24.479336 Client connects to port 34435 07:52:24.479376 ====> Client established passive DATA connection on port 34435 07:52:24.479480 < "TYPE I" 07:52:24.479519 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.479722 < "SIZE verifiedserver" 07:52:24.479770 > "213 17[CR][LF]" 07:52:24.479952 < "RETR verifiedserver" 07:52:24.479990 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.480084 =====> Closing passive DATA connection... 07:52:24.480103 Server disconnects passive DATA connection 07:52:24.480371 Server disconnected passive DATA connection 07:52:24.480402 DATA sockfilt for passive data channel quits (pid 152912) 07:52:24.480666 DATA sockfilt for passive data channel quit (pid 152912) 07:52:24.480696 =====> Closed passive DATA connection 07:52:24.480725 > "226 File transfer complete[CR][LF]" 07:52:24.521722 < "QUIT" 07:52:24.521784 > "221 bye bye baby[CR][LF]" 07:52:24.522752 MAIN sockfilt said DISC 07:52:24.522793 ====> Client disconnected 07:52:24.522872 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.290471 ====> Client connect 07:52:24.290794 Received DATA (on stdin) 07:52:24.290814 > 160 bytes data, server => client 07:52:24.290829 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.290842 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.290853 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.298290 < 16 bytes data, client => server 07:52:24.298316 'USER anonymous\r\n' 07:52:24.298534 Received DATA (on stdin) 07:52:24.298548 > 33 bytes data, server => client 07:52:24.298561 '331 We are happy you popped in!\r\n' 07:52:24.298614 < 22 bytes data, client => server 07:52:24.298627 'PASS ftp@example.com\r\n' 07:52:24.298744 Received DATA (on stdin) 07:52:24.298757 > 30 bytes data, server => client 07:52:24.298768 '230 Welcome you silly person\r\n' 07:52:24.298815 < 5 bytes data, client => server 07:52:24.298826 'PWD\r\n' 07:52:24.298929 Received DATA (on stdin) 07:52:24.298940 > 30 bytes data, server => client 07:52:24.298952 '257 "/" is current directory\r\n' 07:52:24.299007 < 6 bytes data, client => server 07:52:24.299019 'EPSV\r\n' 07:52:24.305978 Received DATA (on stdin) 07:52:24.305998 > 39 bytes data, server => client 07:52:24.306011 '229 Entering Passive Mode (|||34435|)\r\n' 07:52:24.307211 < 8 bytes data, client => server 07:52:24.307228 'TYPE I\r\n' 07:52:24.307465 Received DATA (on stdin) 07:52:24.307480 > 33 bytes data, server => client 07:52:24.307492 '200 I modify TYPE as you wanted\r\n' 07:52:24.307562 < 21 bytes data, client => server 07:52:24.307576 'SIZE verifiedserver\r\n' 07:52:24.307716 Received DATA (on stdin) 07:52:24.307730 > 8 bytes data, server => client 07:52:24.307742 '213 17\r\n' 07:52:24.307799 < 21 bytes data, client => server 07:52:24.307813 'RETR verifiedserver\r\n' 07:52:24.308148 Received DATA (on stdin) 07:52:24.308162 > 29 bytes data, server => client 07:52:24.308174 '150 Binary junk (17 bytes).\r\n' 07:52:24.308669 Received DATA (on stdin) 07:52:24.308684 > 28 bytes data, server => client 07:52:24.308696 '226 File transfer complete\r\n' 07:52:24.349465 < 6 bytes data, client => server 07:52:24.349498 'QUIT\r\n' 07:52:24.349738 Received DATA (on stdin) 07:52:24.349756 > 18 bytes data, server => client 07:52:24.349768 '221 bye bye baby\r\n' 07:52:24.350631 ====> Client disconnect 07:52:24.350813 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.301219 Running IPv4 version 07:52:24.301296 Listening on port 34435 07:52:24.301339 Wrote pid 152912 to log/16/server/ftp_sockdata.pid 07:52:24.305633 Received PING (on stdin) 07:52:24.305768 Received PORT (on stdin) 07:52:24.307174 ====> Client connect 07:52:24.308051 Received DATA (on stdin) 07:52:24.308066 > 17 bytes data, server => client 07:52:24.308078 'WE ROOLZ: 80324\r\n' 07:52:24.308106 Received DISC (on stdin) 07:52:24.308119 ====> Client forcibly disconnected 07:52:24.308353 Received QUIT (on stdin) 07:52:24.308367 quits 07:52:24.308435 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==153046== ==153046== Process terminating with default action of signal 4 (SIGILL) ==153046== Illegal opcode at address 0x4013DC0 ==153046== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153046== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153046== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153046== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1385 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/1/valgrind1386 ../src/curl -q --trace-ascii log/1/trace1386 --trace-time ftp://127.0.0.1:42965/path/file1386 -o log/1/download1386 > log/1/stdout1386 2> log/1/stderr1386 1386: 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/ dir 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/1/valgrind1386 ../src/curl -q --trace-ascii log/1/trace1386 --trace-time ftp://127.0.0.1:42965/path/file1386 -o log/1/download1386 > log/1/stdout1386 2> log/1/stderr1386 === End of file commands.log === Start of file ftp_server.log 07:52:24.478666 ====> Client connect 07:52:24.478819 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.479123 < "USER anonymous" 07:52:24.479164 > "331 We are happy you popped in![CR][LF]" 07:52:24.480935 < "PASS ftp@example.com" 07:52:24.480972 > "230 Welcome you silly person[CR][LF]" 07:52:24.481157 < "PWD" 07:52:24.481194 > "257 "/" is current directory[CR][LF]" 07:52:24.481393 < "EPSV" 07:52:24.481420 ====> Passive DATA channel requested by client 07:52:24.481436 DATA sockfilt for passive data channel starting... 07:52:24.486140 DATA sockfilt for passive data channel started (pid 152933) 07:52:24.486251 DATA sockfilt for passive data channel listens on port 35675 07:52:24.486289 > "229 Entering Passive Mode (|||35675|)[CR][LF]" 07:52:24.486308 Client has been notified that DATA conn will be accepted on port 35675 07:52:24.486547 Client connects to port 35675 07:52:24.486576 ====> Client established passive DATA connection on port 35675 07:52:24.486657 < "TYPE I" 07:52:24.486685 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.486845 < "SIZE verifiedserver" 07:52:24.486882 > "213 17[CR][LF]" 07:52:24.487034 < "RETR verifiedserver" 07:52:24.487069 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.487153 =====> Closing passive DATA connection... 07:52:24.487169 Server disconnects passive DATA connection 07:52:24.487413 Server disconnected passive DATA connection 07:52:24.487439 DATA sockfilt for passive data channel quits (pid 152933) 07:52:24.487668 DATA sockfilt for passive data channel quit (pid 152933) 07:52:24.487691 =====> Closed passive DATA connection 07:52:24.487719 > "226 File transfer complete[CR][LF]" 07:52:24.528219 < "QUIT" 07:52:24.528268 > "221 bye bye baby[CR][LF]" 07:52:24.529269 MAIN sockfilt said DISC 07:52:24.529311 ====> Client disconnected 07:52:24.529388 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.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/8/valgrind1381 ../src/curl -q --trace-ascii log/8/trace1381 --trace-time ftp://127.0.0.1:35961/path/file1381 -o log/8/download1381 -J -D log/8/heads1381 > log/8/stdout1381 2> log/8/stderr1381 07:52:24.306505 ====> Client connect 07:52:24.306778 Received DATA (on stdin) 07:52:24.306795 > 160 bytes data, server => client 07:52:24.306809 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.306821 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.306832 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.306911 < 16 bytes data, client => server 07:52:24.306927 'USER anonymous\r\n' 07:52:24.307111 Received DATA (on stdin) 07:52:24.307125 > 33 bytes data, server => client 07:52:24.307138 '331 We are happy you popped in!\r\n' 07:52:24.308750 < 22 bytes data, client => server 07:52:24.308767 'PASS ftp@example.com\r\n' 07:52:24.308918 Received DATA (on stdin) 07:52:24.308932 > 30 bytes data, server => client 07:52:24.308945 '230 Welcome you silly person\r\n' 07:52:24.308998 < 5 bytes data, client => server 07:52:24.309012 'PWD\r\n' 07:52:24.309138 Received DATA (on stdin) 07:52:24.309152 > 30 bytes data, server => client 07:52:24.309178 '257 "/" is current directory\r\n' 07:52:24.309237 < 6 bytes data, client => server 07:52:24.309251 'EPSV\r\n' 07:52:24.314252 Received DATA (on stdin) 07:52:24.314267 > 39 bytes data, server => client 07:52:24.314279 '229 Entering Passive Mode (|||35675|)\r\n' 07:52:24.314402 < 8 bytes data, client => server 07:52:24.314417 'TYPE I\r\n' 07:52:24.314627 Received DATA (on stdin) 07:52:24.314640 > 33 bytes data, server => client 07:52:24.314653 '200 I modify TYPE as you wanted\r\n' 07:52:24.314703 < 21 bytes data, client => server 07:52:24.314715 'SIZE verifiedserver\r\n' 07:52:24.314822 Received DATA (on stdin) 07:52:24.314835 > 8 bytes data, server => client 07:52:24.314846 '213 17\r\n' 07:52:24.314894 < 21 bytes data, client => server 07:52:24.314906 'RETR verifiedserver\r\n' 07:52:24.315112 Received DATA (on stdin) 07:52:24.315125 > 29 bytes data, server => client 07:52:24.315138 '150 Binary junk (17 bytes).\r\n' 07:52:24.315660 Received DATA (on stdin) 07:52:24.315674 > 28 bytes data, server => client 07:52:24.315685 '226 File transfer complete\r\n' 07:52:24.355998 < 6 bytes data, client => server 07:52:24.356025 'QUIT\r\n' 07:52:24.356212 Received DATA (on stdin) 07:52:24.356226 > 18 bytes data, server => client 07:52:24.356238 '221 bye bye baby\r\n' 07:52:24.357148 ====> Client disconnect 07:52:24.357328 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.313755 Running IPv4 version 07:52:24.313829 Listening on port 35675 07:52:24.313864 Wrote pid 152933 to log/1/server/ftp_sockdata.pid 07:52:24.314023 Received PING (on stdin) 07:52:24.314106 Received PORT (on stdin) 07:52:24.314439 ====> Client connect 07:52:24.315164 Received DATA (on stdin) 07:52:24.315178 > 17 bytes data, server => client 07:52:24.315190 'WE ROOLZ: 83307\r\n' 07:52:24.315216 Received DISC (on stdin) 07:52:24.315229 ====> Client forcibly disconnected 07:52:24.315391 Received QUIT (on stdin) 07:52:24.315403 quits 07:52:24.315457 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==153041== ==153041== Process terminating with default action of signal 4 (SIGILL) ==153041== Illegal opcode at address 0x4013DC0 ==153041== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153041== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153041== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153041== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1386 test 1381...[FTP DL, file without 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/8/valgrind1381 ../src/curl -q --trace-ascii log/8/trace1381 --trace-time ftp://127.0.0.1:35961/path/file1381 -o log/8/download1381 -J -D log/8/heads1381 > log/8/stdout1381 2> log/8/stderr1381 1381: 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/ dir 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/8/valgrind1381 ../src/curl -q --trace-ascii log/8/trace1381 --trace-time ftp://127.0.0.1:35961/path/file1381 -o log/8/download1381 -J -D log/8/heads1381 > log/8/stdout1381 2> log/8/stderr1381 === End of file commands.log === Start of file ftp_server.log 07:52:24.277283 ====> Client connect 07:52:24.277450 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.281709 < "USER anonymous" 07:52:24.281760 > "331 We are happy you popped in![CR][LF]" 07:52:24.281956 < "PASS ftp@example.com" 07:52:24.281990 > "230 Welcome you silly person[CR][LF]" 07:52:24.282145 < "PWD" 07:52:24.282177 > "257 "/" is current directory[CR][LF]" 07:52:24.282332 < "EPSV" 07:52:24.282354 ====> Passive DATA channel requested by client 07:52:24.282368 DATA sockfilt for passive data channel starting... 07:52:24.288662 DATA sockfilt for passive data channel started (pid 152676) 07:52:24.288801 DATA sockfilt for passive data channel listens on port 46817 07:52:24.288849 > "229 Entering Passive Mode (|||46817|)[CR][LF]" 07:52:24.288870 Client has been notified that DATA conn will be accepted on port 46817 07:52:24.291697 Client connects to port 46817 07:52:24.291735 ====> Client established passive DATA connection on port 46817 07:52:24.291825 < "TYPE I" 07:52:24.291855 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.292035 < "SIZE verifiedserver" 07:52:24.292070 > "213 17[CR][LF]" 07:52:24.292423 < "RETR verifiedserver" 07:52:24.292456 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.292545 =====> Closing passive DATA connection... 07:52:24.292561 Server disconnects passive DATA connection 07:52:24.292814 Server disconnected passive DATA connection 07:52:24.292840 DATA sockfilt for passive data channel quits (pid 152676) 07:52:24.293058 DATA sockfilt for passive data channel quit (pid 152676) 07:52:24.293081 =====> Closed passive DATA connection 07:52:24.293110 > "226 File transfer complete[CR][LF]" 07:52:24.338148 < "QUIT" 07:52:24.338200 > "221 bye bye baby[CR][LF]" 07:52:24.339163 MAIN sockfilt said DISC 07:52:24.339203 ====> Client disconnected 07:52:24.339281 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.105118 ====> Client connect 07:52:24.105407 Received DATA (on stdin) 07:52:24.105424 > 160 bytes data, server => client 07:52:24.105437 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.105448 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.105458 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.109475 < 16 bytes data, client => server 07:52:24.109498 'USER anonymous\r\n' 07:52:24.109709 Received DATA (on stdin) 07:52:24.109724 > 33 bytes data, server => client 07:52:24.109736 '331 We are happy you popped in!\r\n' 07:52:24.109791 < 22 bytes data, client => server 07:52:24.109804 'PASS ftp@example.com\r\n' 07:52:24.109931 Received DATA (on stdin) 07:52:24.109943 > 30 bytes data, server => client 07:52:24.109954 '230 Welcome you silly person\r\n' 07:52:24.110001 < 5 bytes data, client => server 07:52:24.110012 'PWD\r\n' 07:52:24.110117 Received DATA (on stdin) 07:52:24.110128 > 30 bytes data, server => client 07:52:24.110139 '257 "/" is current directory\r\n' 07:52:24.110192 < 6 bytes data, client => server 07:52:24.110203 'EPSV\r\n' 07:52:24.119184 Received DATA (on stdin) 07:52:24.119207 > 39 bytes data, server => client 07:52:24.119220 '229 Entering Passive Mode (|||46817|)\r\n' 07:52:24.119344 < 8 bytes data, client => server 07:52:24.119360 'TYPE I\r\n' 07:52:24.11CMD (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/20/valgrind1395 ./unit/units unit1395 - > log/20/stdout1395 2> log/20/stderr1395 CMD (33792): ../libtool --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/valgrind1383 ../src/curl -q --trace-ascii log/15/trace1383 --trace-time ftp://127.0.0.1:38789/path/file1383 -o log/15/download1383 -i -D log/15/heads1383 > log/15/stdout1383 2> log/15/stderr1383 9797 Received DATA (on stdin) 07:52:24.119811 > 33 bytes data, server => client 07:52:24.119822 '200 I modify TYPE as you wanted\r\n' 07:52:24.119890 < 21 bytes data, client => server 07:52:24.119903 'SIZE verifiedserver\r\n' 07:52:24.120009 Received DATA (on stdin) 07:52:24.120021 > 8 bytes data, server => client 07:52:24.120031 '213 17\r\n' 07:52:24.120075 < 21 bytes data, client => server 07:52:24.120086 'RETR verifiedserver\r\n' 07:52:24.120504 Received DATA (on stdin) 07:52:24.120518 > 29 bytes data, server => client 07:52:24.120530 '150 Binary junk (17 bytes).\r\n' 07:52:24.121051 Received DATA (on stdin) 07:52:24.121065 > 28 bytes data, server => client 07:52:24.121077 '226 File transfer complete\r\n' 07:52:24.165928 < 6 bytes data, client => server 07:52:24.165952 'QUIT\r\n' 07:52:24.166146 Received DATA (on stdin) 07:52:24.166159 > 18 bytes data, server => client 07:52:24.166170 '221 bye bye baby\r\n' 07:52:24.167045 ====> Client disconnect 07:52:24.167224 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.111889 Running IPv4 version 07:52:24.111945 Listening on port 46817 07:52:24.111979 Wrote pid 152676 to log/8/server/ftp_sockdata.pid 07:52:24.114105 Received PING (on stdin) 07:52:24.116642 Received PORT (on stdin) 07:52:24.119381 ====> Client connect 07:52:24.120588 Received DATA (on stdin) 07:52:24.120604 > 17 bytes data, server => client 07:52:24.120615 'WE ROOLZ: 80636\r\n' 07:52:24.120641 Received DISC (on stdin) 07:52:24.120653 ====> Client forcibly disconnected 07:52:24.120791 Received QUIT (on stdin) 07:52:24.120803 quits 07:52:24.120856 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==152761== ==152761== Process terminating with default action of signal 4 (SIGILL) ==152761== Illegal opcode at address 0x4013DC0 ==152761== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152761== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152761== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152761== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1381 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/20/valgrind1395 ./unit/units unit1395 - > log/20/stdout1395 2> log/20/stderr1395 -------e-v- OK (1326 out of 1746, remaining: 00:33, took 0.977s, duration: 01:44) 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/15/valgrind1383 ../src/curl -q --trace-ascii log/15/trace1383 --trace-time ftp://127.0.0.1:38789/path/file1383 -o log/15/download1383 -i -D log/15/heads1383 > log/15/stdout1383 2> log/15/stderr1383 1383: 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/ dir 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/15/valgrind1383 ../src/curl -q --trace-ascii log/15/trace1383 --trace-time ftp://127.0.0.1:38789/path/file1383 -o log/15/download1383 -i -D log/15/heads1383 > log/15/stdout1383 2> log/15/stderr1383 === End of file commands.log === Start of file ftp_server.log 07:52:24.304696 ====> Client connect 07:52:24.304838 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.308180 < "USER anonymous" 07:52:24.308237 > "331 We are happy you popped in![CR][LF]" 07:52:24.313983 < "PASS ftp@example.com" 07:52:24.314039 > "230 Welcome you silly person[CR][LF]" 07:52:24.314235 < "PWD" 07:52:24.314275 > "257 "/" is current directory[CR][LF]" 07:52:24.314448 < "EPSV" 07:52:24.314476 ====> Passive DATA channel requested by client 07:52:24.314490 DATA sockfilt for passive data channel starting... 07:52:24.320121 DATA sockfilt for passive data channel started (pid 152730) 07:52:24.320234 DATA sockfilt for passive data channel listens on port 40193 07:52:24.320273 > "229 Entering Passive Mode (|||40193|)[CR][LF]" 07:52:24.320293 Client has been notified that DATA conn will be accepted on port 40193 07:52:24.320527 Client connects to port 40193 07:52:24.320557 ====> Client established passive DATA connection on port 40193 07:52:24.320636 < "TYPE I" 07:52:24.320667 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.320829 < "SIZE verifiedserver" 07:52:24.320866 > "213 17[CR][LF]" 07:52:24.321012 < "RETR verifiedserver" 07:52:24.321046 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.321125 =====> Closing passive DATA connection... 07:52:24.321139 Server disconnects passive DATA connection 07:52:24.321387 Server disconnected passive DATA connection 07:52:24.321415 DATA sockfilt for passive data channel quits (pid 152730) 07:52:24.321666 DATA sockfilt for passive data channel quit (pid 152730) 07:52:24.321689 =====> Closed passive DATA connection 07:52:24.321715 > "226 File transfer complete[CR][LF]" 07:52:24.369809 < "QUIT" 07:52:24.369863 > "221 bye bye baby[CR][LF]" 07:52:24.370812 MAIN sockfilt said DISC 07:52:24.370854 ====> Client disconnected 07:52:24.370956 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.132528 ====> Client connect 07:52:24.132791 Received DATA (on stdin) 07:52:24.132808 > 160 bytes data, server => client 07:52:24.132821 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.132832 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.132843 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.135873 < 16 bytes data, client => server 07:52:24.135897 'USER anonymous\r\n' 07:52:24.136185 Received DATA (on stdin) 07:52:24.136201 > 33 bytes data, server => client 07:52:24.136213 '331 We are happy you popped in!\r\n' 07:52:24.141747 < 22 bytes data, client => server 07:52:24.141770 'PASS ftp@example.com\r\n' 07:52:24.141984 Received DATA (on stdin) 07:52:24.141998 > 30 bytes data, server => client 07:52:24.142010 '230 Welcome you silly person\r\n' 07:52:24.142074 < 5 bytes data, client => server 07:52:24.142086 'PWD\r\n' 07:52:24.142216 Received DATA (on stdin) 07:52:24.142228 > 30 bytes data, server => client 07:52:24.142239 '257 "/" is current directory\r\n' 07:52:24.142299 < 6 bytes data, client => server 07:52:24.142311 'EPSV\r\n' 07:52:24.148238 Received DATA (on stdin) 07:52:24.148252 > 39 bytes data, server => client 07:52:24.148265 '229 Entering Passive Mode (|||40193|)\r\n' 07:52:24.148385 < 8 bytes data, client => server 07:52:24.148401 'TYPE I\r\n' 07:52:24.148608 Received DATA (on stdin) 07:52:24.148621 > 33 bytes data, server => client 07:52:24.148632 '200 I modify TYPE as you wanted\r\n' 07:52:24.148681 < 21 bytes data, client => server 07:52:24.148695 'SIZE verifiedserver\r\n' 07:52:24.148806 Received DATA (on stdin) 07:52:24.148819 > 8 bytes data, server => client 07:52:24.148829 '213 17\r\n' 07:52:24.148874 < 21 bytes data, client => server 07:52:24.148886 'RETR verifiedserver\r\n' 07:52:24.149081 Received DATA (on stdin) 07:52:24.149093 > 29 bytes data, server => client 07:52:24.149104 '150 Binary junk (17 bytes).\r\n' 07:52:24.149656 Received DATA (on stdin) 07:52:24.149670 > 28 bytes data, server => client 07:52:24.149681 '226 File transfer complete\r\n' 07:52:24.192750 < 6 bytes data, client => server 07:52:24.192780 'QUIT\r\n' 07:52:24.197812 Received DATA (on stdin) 07:52:24.197832 > 18 bytes data, server => client 07:52:24.197843 '221 bye bye baby\r\n' 07:52:24.198690 ====> Client disconnect 07:52:24.198904 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/9/valgrind1382 ../src/curl -q --trace-ascii log/9/trace1382 --trace-time ftp://127.0.0.1:33709/path/file1382 -o log/9/download1382 -J -D - > log/9/stdout1382 2> log/9/stderr1382 CMD (33792): ../libtool --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/valgrind1384 ../src/curl -q --trace-ascii log/2/trace1384 --trace-time ftp://127.0.0.1:38579/path/file1384 -o log/2/download1384 -i -D - > log/2/stdout1384 2> log/2/stderr1384 ved ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.147745 Running IPv4 version 07:52:24.147814 Listening on port 40193 07:52:24.147849 Wrote pid 152730 to log/15/server/ftp_sockdata.pid 07:52:24.148002 Received PING (on stdin) 07:52:24.148087 Received PORT (on stdin) 07:52:24.148421 ====> Client connect 07:52:24.149155 Received DATA (on stdin) 07:52:24.149176 > 17 bytes data, server => client 07:52:24.149188 'WE ROOLZ: 80326\r\n' 07:52:24.149214 Received DISC (on stdin) 07:52:24.149226 ====> Client forcibly disconnected 07:52:24.149365 Received QUIT (on stdin) 07:52:24.149377 quits 07:52:24.149433 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==152786== ==152786== Process terminating with default action of signal 4 (SIGILL) ==152786== Illegal opcode at address 0x4013DC0 ==152786== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152786== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152786== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152786== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1383 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/9/valgrind1382 ../src/curl -q --trace-ascii log/9/trace1382 --trace-time ftp://127.0.0.1:33709/path/file1382 -o log/9/download1382 -J -D - > log/9/stdout1382 2> log/9/stderr1382 1382: 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/ dir 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/9/valgrind1382 ../src/curl -q --trace-ascii log/9/trace1382 --trace-time ftp://127.0.0.1:33709/path/file1382 -o log/9/download1382 -J -D - > log/9/stdout1382 2> log/9/stderr1382 === End of file commands.log === Start of file ftp_server.log 07:52:24.311642 ====> Client connect 07:52:24.311796 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.312078 < "USER anonymous" 07:52:24.312119 > "331 We are happy you popped in![CR][LF]" 07:52:24.312301 < "PASS ftp@example.com" 07:52:24.312332 > "230 Welcome you silly person[CR][LF]" 07:52:24.312482 < "PWD" 07:52:24.312516 > "257 "/" is current directory[CR][LF]" 07:52:24.312669 < "EPSV" 07:52:24.312692 ====> Passive DATA channel requested by client 07:52:24.312705 DATA sockfilt for passive data channel starting... 07:52:24.319393 DATA sockfilt for passive data channel started (pid 152724) 07:52:24.319526 DATA sockfilt for passive data channel listens on port 40907 07:52:24.319579 > "229 Entering Passive Mode (|||40907|)[CR][LF]" 07:52:24.319601 Client has been notified that DATA conn will be accepted on port 40907 07:52:24.319905 Client connects to port 40907 07:52:24.319939 ====> Client established passive DATA connection on port 40907 07:52:24.320037 < "TYPE I" 07:52:24.320073 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.320253 < "SIZE verifiedserver" 07:52:24.320295 > "213 17[CR][LF]" 07:52:24.320453 < "RETR verifiedserver" 07:52:24.320486 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.320574 =====> Closing passive DATA connection... 07:52:24.320590 Server disconnects passive DATA connection 07:52:24.320763 Server disconnected passive DATA connection 07:52:24.320787 DATA sockfilt for passive data channel quits (pid 152724) 07:52:24.321147 DATA sockfilt for passive data channel quit (pid 152724) 07:52:24.321205 =====> Closed passive DATA connection 07:52:24.322954 > "226 File transfer complete[CR][LF]" 07:52:24.364889 < "QUIT" 07:52:24.364950 > "221 bye bye baby[CR][LF]" 07:52:24.366820 MAIN sockfilt said DISC 07:52:24.366872 ====> Client disconnected 07:52:24.366940 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.139483 ====> Client connect 07:52:24.139752 Received DATA (on stdin) 07:52:24.139769 > 160 bytes data, server => client 07:52:24.139783 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.139794 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.139805 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.139875 < 16 bytes data, client => server 07:52:24.139887 'USER anonymous\r\n' 07:52:24.140063 Received DATA (on stdin) 07:52:24.140075 > 33 bytes data, server => client 07:52:24.140086 '331 We are happy you popped in!\r\n' 07:52:24.140137 < 22 bytes data, client => server 07:52:24.140150 'PASS ftp@example.com\r\n' 07:52:24.140272 Received DATA (on stdin) 07:52:24.140283 > 30 bytes data, server => client 07:52:24.140294 '230 Welcome you silly person\r\n' 07:52:24.140343 < 5 bytes data, client => server 07:52:24.140353 'PWD\r\n' 07:52:24.140455 Received DATA (on stdin) 07:52:24.140466 > 30 bytes data, server => client 07:52:24.140478 '257 "/" is current directory\r\n' 07:52:24.140529 < 6 bytes data, client => server 07:52:24.140541 'EPSV\r\n' 07:52:24.147554 Received DATA (on stdin) 07:52:24.147573 > 39 bytes data, server => client 07:52:24.147585 '229 Entering Passive Mode (|||40907|)\r\n' 07:52:24.147786 < 8 bytes data, client => server 07:52:24.147799 'TYPE I\r\n' 07:52:24.148015 Received DATA (on stdin) 07:52:24.148029 > 33 bytes data, server => client 07:52:24.148041 '200 I modify TYPE as you wanted\r\n' 07:52:24.148098 < 21 bytes data, client => server 07:52:24.148114 'SIZE verifiedserver\r\n' 07:52:24.148236 Received DATA (on stdin) 07:52:24.148248 > 8 bytes data, server => client 07:52:24.148260 '213 17\r\n' 07:52:24.148310 < 21 bytes data, client => server 07:52:24.148322 'RETR verifiedserver\r\n' 07:52:24.148628 Received DATA (on stdin) 07:52:24.148643 > 29 bytes data, server => client 07:52:24.148655 '150 Binary junk (17 bytes).\r\n' 07:52:24.150909 Received DATA (on stdin) 07:52:24.150924 > 28 bytes data, server => client 07:52:24.150937 '226 File transfer complete\r\n' 07:52:24.192649 < 6 bytes data, client => server 07:52:24.192682 'QUIT\r\n' 07:52:24.192897 Received DATA (on stdin) 07:52:24.192912 > 18 bytes data, server => client 07:52:24.192924 '221 bye bye baby\r\n' 07:52:24.193941 ====> Client disconnect 07:52:24.194883 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.146898 Running IPv4 version 07:52:24.146992 Listening on port 40907 07:52:24.147031 Wrote pid 152724 to log/9/server/ftp_sockdata.pid 07:52:24.147268 Received PING (on stdin) 07:52:24.147368 Received PORT (on stdin) 07:52:24.147756 ====> Client connect 07:52:24.148534 Received DATA (on stdin) 07:52:24.148549 > 17 bytes data, server => client 07:52:24.148560 'WE ROOLZ: 81212\r\n' 07:52:24.148589 Received DISC (on stdin) 07:52:24.148602 ====> Client forcibly disconnected 07:52:24.148737 Received QUIT (on stdin) 07:52:24.148749 quits 07:52:24.148830 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==152865== ==152865== Process terminating with default action of signal 4 (SIGILL) ==152865== Illegal opcode at address 0x4013DC0 ==152865== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152865== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152865== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152865== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1382 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 --suCMD (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/valgrind1397 ./unit/units unit1397 - > log/11/stdout1397 2> log/11/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/10/valgrind1387 ../src/curl -q --trace-ascii log/10/trace1387 --trace-time ftp://127.0.0.1:36851/path/file1387 -o log/10/download1387 -D log/10/heads1387 > log/10/stdout1387 2> log/10/stderr1387 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1384 ../src/curl -q --trace-ascii log/2/trace1384 --trace-time ftp://127.0.0.1:38579/path/file1384 -o log/2/download1384 -i -D - > log/2/stdout1384 2> log/2/stderr1384 1384: 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/ dir 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/2/valgrind1384 ../src/curl -q --trace-ascii log/2/trace1384 --trace-time ftp://127.0.0.1:38579/path/file1384 -o log/2/download1384 -i -D - > log/2/stdout1384 2> log/2/stderr1384 === End of file commands.log === Start of file ftp_server.log 07:52:24.456128 ====> Client connect 07:52:24.456286 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.456577 < "USER anonymous" 07:52:24.456616 > "331 We are happy you popped in![CR][LF]" 07:52:24.456789 < "PASS ftp@example.com" 07:52:24.456817 > "230 Welcome you silly person[CR][LF]" 07:52:24.456964 < "PWD" 07:52:24.456993 > "257 "/" is current directory[CR][LF]" 07:52:24.457145 < "EPSV" 07:52:24.457167 ====> Passive DATA channel requested by client 07:52:24.457180 DATA sockfilt for passive data channel starting... 07:52:24.462143 DATA sockfilt for passive data channel started (pid 152890) 07:52:24.462249 DATA sockfilt for passive data channel listens on port 41811 07:52:24.462290 > "229 Entering Passive Mode (|||41811|)[CR][LF]" 07:52:24.462307 Client has been notified that DATA conn will be accepted on port 41811 07:52:24.462530 Client connects to port 41811 07:52:24.462558 ====> Client established passive DATA connection on port 41811 07:52:24.462639 < "TYPE I" 07:52:24.462666 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.462816 < "SIZE verifiedserver" 07:52:24.462853 > "213 17[CR][LF]" 07:52:24.462996 < "RETR verifiedserver" 07:52:24.463027 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.463103 =====> Closing passive DATA connection... 07:52:24.463119 Server disconnects passive DATA connection 07:52:24.463362 Server disconnected passive DATA connection 07:52:24.463386 DATA sockfilt for passive data channel quits (pid 152890) 07:52:24.463611 DATA sockfilt for passive data channel quit (pid 152890) 07:52:24.463632 =====> Closed passive DATA connection 07:52:24.463658 > "226 File transfer complete[CR][LF]" 07:52:24.508922 < "QUIT" 07:52:24.508982 > "221 bye bye baby[CR][LF]" 07:52:24.510107 MAIN sockfilt said DISC 07:52:24.510151 ====> Client disconnected 07:52:24.510234 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.283957 ====> Client connect 07:52:24.284240 Received DATA (on stdin) 07:52:24.284256 > 160 bytes data, server => client 07:52:24.284269 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.284280 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.284291 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.284367 < 16 bytes data, client => server 07:52:24.284379 'USER anonymous\r\n' 07:52:24.284560 Received DATA (on stdin) 07:52:24.284573 > 33 bytes data, server => client 07:52:24.284585 '331 We are happy you popped in!\r\n' 07:52:24.284635 < 22 bytes data, client => server 07:52:24.284647 'PASS ftp@example.com\r\n' 07:52:24.284757 Received DATA (on stdin) 07:52:24.284769 > 30 bytes data, server => client 07:52:24.284780 '230 Welcome you silly person\r\n' 07:52:24.284825 < 5 bytes data, client => server 07:52:24.284836 'PWD\r\n' 07:52:24.284931 Received DATA (on stdin) 07:52:24.284943 > 30 bytes data, server => client 07:52:24.284954 '257 "/" is current directory\r\n' 07:52:24.285006 < 6 bytes data, client => server 07:52:24.285017 'EPSV\r\n' 07:52:24.290252 Received DATA (on stdin) 07:52:24.290267 > 39 bytes data, server => client 07:52:24.290278 '229 Entering Passive Mode (|||41811|)\r\n' 07:52:24.290388 < 8 bytes data, client => server 07:52:24.290403 'TYPE I\r\n' 07:52:24.290605 Received DATA (on stdin) 07:52:24.290617 > 33 bytes data, server => client 07:52:24.290629 '200 I modify TYPE as you wanted\r\n' 07:52:24.290676 < 21 bytes data, client => server 07:52:24.290689 'SIZE verifiedserver\r\n' 07:52:24.290791 Received DATA (on stdin) 07:52:24.290803 > 8 bytes data, server => client 07:52:24.290815 '213 17\r\n' 07:52:24.290858 < 21 bytes data, client => server 07:52:24.290870 'RETR verifiedserver\r\n' 07:52:24.291060 Received DATA (on stdin) 07:52:24.291072 > 29 bytes data, server => client 07:52:24.291083 '150 Binary junk (17 bytes).\r\n' 07:52:24.291598 Received DATA (on stdin) 07:52:24.291611 > 28 bytes data, server => client 07:52:24.291623 '226 File transfer complete\r\n' 07:52:24.336649 < 6 bytes data, client => server 07:52:24.336686 'QUIT\r\n' 07:52:24.336932 Received DATA (on stdin) 07:52:24.336948 > 18 bytes data, server => client 07:52:24.336960 '221 bye bye baby\r\n' 07:52:24.337985 ====> Client disconnect 07:52:24.338182 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.289641 Running IPv4 version 07:52:24.289702 Listening on port 41811 07:52:24.289740 Wrote pid 152890 to log/2/server/ftp_sockdata.pid 07:52:24.290018 Received PING (on stdin) 07:52:24.290103 Received PORT (on stdin) 07:52:24.290422 ====> Client connect 07:52:24.291134 Received DATA (on stdin) 07:52:24.291149 > 17 bytes data, server => client 07:52:24.291160 'WE ROOLZ: 80630\r\n' 07:52:24.291185 Received DISC (on stdin) 07:52:24.291198 ====> Client forcibly disconnected 07:52:24.291334 Received QUIT (on stdin) 07:52:24.291346 quits 07:52:24.291412 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==152991== ==152991== Process terminating with default action of signal 4 (SIGILL) ==152991== Illegal opcode at address 0x4013DC0 ==152991== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==152991== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152991== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==152991== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1384 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/11/valgrind1397 ./unit/units unit1397 - > log/11/stdout1397 2> log/11/stderr1397 -------e-v- OK (1328 out of 1746, remaining: 00:32, took 0.832s, duration: 01:44) 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/10/valgrind1387 ../src/curl -q --trace-ascii log/10/trace1387 --trace-time ftp://127.0.0.1:36851/path/file1387 -o log/10/download1387 -D log/10/heads1387 > log/10/stdout1387 2> log/10/stderr1387 1387: 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/ dir 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/10/valgrind1387 ../src/curl -q --trace-ascii log/10/trace1387 --trace-time ftp://127.0.0.1:36851/path/file1387 -o log/10/download1387 -D log/10/heads1387 > log/10/stdout1387 2> log/10/stderr1387 === End of file commands.log === Start of file ftp_server.log 07:52:24.664697 ====> Client connect 07:52:24.664852 > "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/7/valgrind1390 ../src/curl -q --trace-ascii log/7/trace1390 --trace-time ftp://127.0.0.1:38517/path/file1390 -o log/7/download1390 -J -D - > log/7/stdout1390 2> log/7/stderr1390 | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.665228 < "USER anonymous" 07:52:24.665276 > "331 We are happy you popped in![CR][LF]" 07:52:24.665483 < "PASS ftp@example.com" 07:52:24.665516 > "230 Welcome you silly person[CR][LF]" 07:52:24.665704 < "PWD" 07:52:24.665743 > "257 "/" is current directory[CR][LF]" 07:52:24.667407 < "EPSV" 07:52:24.667438 ====> Passive DATA channel requested by client 07:52:24.667454 DATA sockfilt for passive data channel starting... 07:52:24.669633 DATA sockfilt for passive data channel started (pid 153225) 07:52:24.669752 DATA sockfilt for passive data channel listens on port 45345 07:52:24.669800 > "229 Entering Passive Mode (|||45345|)[CR][LF]" 07:52:24.669819 Client has been notified that DATA conn will be accepted on port 45345 07:52:24.670039 Client connects to port 45345 07:52:24.670075 ====> Client established passive DATA connection on port 45345 07:52:24.670202 < "TYPE I" 07:52:24.670233 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.670409 < "SIZE verifiedserver" 07:52:24.670449 > "213 17[CR][LF]" 07:52:24.670621 < "RETR verifiedserver" 07:52:24.670658 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.670747 =====> Closing passive DATA connection... 07:52:24.670767 Server disconnects passive DATA connection 07:52:24.670891 Server disconnected passive DATA connection 07:52:24.670918 DATA sockfilt for passive data channel quits (pid 153225) 07:52:24.671146 DATA sockfilt for passive data channel quit (pid 153225) 07:52:24.671173 =====> Closed passive DATA connection 07:52:24.671201 > "226 File transfer complete[CR][LF]" 07:52:24.716692 < "QUIT" 07:52:24.716747 > "221 bye bye baby[CR][LF]" 07:52:24.717713 MAIN sockfilt said DISC 07:52:24.717754 ====> Client disconnected 07:52:24.717828 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.492522 ====> Client connect 07:52:24.492813 Received DATA (on stdin) 07:52:24.492833 > 160 bytes data, server => client 07:52:24.492847 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.492860 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.492872 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.492965 < 16 bytes data, client => server 07:52:24.492983 'USER anonymous\r\n' 07:52:24.493225 Received DATA (on stdin) 07:52:24.493241 > 33 bytes data, server => client 07:52:24.493254 '331 We are happy you popped in!\r\n' 07:52:24.493312 < 22 bytes data, client => server 07:52:24.493328 'PASS ftp@example.com\r\n' 07:52:24.493462 Received DATA (on stdin) 07:52:24.493476 > 30 bytes data, server => client 07:52:24.493489 '230 Welcome you silly person\r\n' 07:52:24.493544 < 5 bytes data, client => server 07:52:24.493559 'PWD\r\n' 07:52:24.493688 Received DATA (on stdin) 07:52:24.493702 > 30 bytes data, server => client 07:52:24.493715 '257 "/" is current directory\r\n' 07:52:24.495237 < 6 bytes data, client => server 07:52:24.495259 'EPSV\r\n' 07:52:24.497777 Received DATA (on stdin) 07:52:24.497793 > 39 bytes data, server => client 07:52:24.497805 '229 Entering Passive Mode (|||45345|)\r\n' 07:52:24.498036 < 8 bytes data, client => server 07:52:24.498050 'TYPE I\r\n' 07:52:24.498177 Received DATA (on stdin) 07:52:24.498191 > 33 bytes data, server => client 07:52:24.498203 '200 I modify TYPE as you wanted\r\n' 07:52:24.498255 < 21 bytes data, client => server 07:52:24.498270 'SIZE verifiedserver\r\n' 07:52:24.498394 Received DATA (on stdin) 07:52:24.498408 > 8 bytes data, server => client 07:52:24.498420 '213 17\r\n' 07:52:24.498471 < 21 bytes data, client => server 07:52:24.498485 'RETR verifiedserver\r\n' 07:52:24.499147 Received DATA (on stdin) 07:52:24.499166 > 29 bytes data, server => client 07:52:24.499178 '150 Binary junk (17 bytes).\r\n' 07:52:24.499203 Received DATA (on stdin) 07:52:24.499215 > 28 bytes data, server => client 07:52:24.499227 '226 File transfer complete\r\n' 07:52:24.544459 < 6 bytes data, client => server 07:52:24.544485 'QUIT\r\n' 07:52:24.544695 Received DATA (on stdin) 07:52:24.544710 > 18 bytes data, server => client 07:52:24.544722 '221 bye bye baby\r\n' 07:52:24.545590 ====> Client disconnect 07:52:24.545770 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.497239 Running IPv4 version 07:52:24.497313 Listening on port 45345 07:52:24.497349 Wrote pid 153225 to log/10/server/ftp_sockdata.pid 07:52:24.497511 Received PING (on stdin) 07:52:24.497599 Received PORT (on stdin) 07:52:24.497927 ====> Client connect 07:52:24.498712 Received DATA (on stdin) 07:52:24.498727 > 17 bytes data, server => client 07:52:24.498739 'WE ROOLZ: 80620\r\n' 07:52:24.498767 Received DISC (on stdin) 07:52:24.498780 ====> Client forcibly disconnected 07:52:24.498867 Received QUIT (on stdin) 07:52:24.498880 quits 07:52:24.498943 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==153292== ==153292== Process terminating with default action of signal 4 (SIGILL) ==153292== Illegal opcode at address 0x4013DC0 ==153292== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153292== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153292== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153292== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1387 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/7/valgrind1390 ../src/curl -q --trace-ascii log/7/trace1390 --trace-time ftp://127.0.0.1:38517/path/file1390 -o log/7/download1390 -J -D - > log/7/stdout1390 2> log/7/stderr1390 1390: 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/ dir 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/7/valgrind1390 ../src/curl -q --trace-ascii log/7/trace1390 --trace-time ftp://127.0.0.1:38517/path/file1390 -o log/7/download1390 -J -D - > log/7/stdout1390 2> log/7/stderr1390 === End of file commands.log === Start of file ftp_server.log 07:52:24.724854 ====> Client connect 07:52:24.725045 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.725664 < "USER anonymous" 07:52:24.725713 > "331 We are happy you popped in![CR][LF]" 07:52:24.726207 < "PASS ftp@example.com" 07:52:24.726245 > "230 Welcome you silly person[CR][LF]" 07:52:24.726734 < "PWD" 07:52:24.726773 > "257 "/" is current directory[CR][LF]" 07:52:24.731399 < "EPSV" 07:52:24.731434 ====> Passive DATA channel requested by client 07:52:24.731449 DATA sockfilt for passive data channel starting... 07:52:24.739188 DATA sockfilt for passive data channel started (pid 153286) 07:52:24.739308 DATA sockfilt for passive data channel listens on port 45519 07:52:24.739360 > "229 Entering Passive Mode (|||45519|)[CR][LF]" 07:52:24.739379 Client has been notified that DATA conn will be accepted on port 45519 07:52:24.739693 Client connects to port 45519 07:52:24.739725 ====> Client established passive DATA connection on port 45519 07:52:24.739813 < "TYPE I" 07:52:24.739845 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.740020 < "SIZE verifiedserver" 07:52:24.740062 > "213 18[CR][LF]" 07:52:24.740217 < "RETR verifiedserver" 07:52:24.740250 > "150 Binary junk (18 bytes).[CR][LF]" 07:52:24.740334 =====> Closing passive DATA connection... 07:52:24.740350 Server disconnects passive DATA connection 07:52:24.740550 CMD (33792): ../libtool --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/valgrind1388 ../src/curl -q --trace-ascii log/13/trace1388 --trace-time ftp://127.0.0.1:33699/path/file1388 -o log/13/download1388 -D - > log/13/stdout1388 2> log/13/stderr1388 Server disconnected passive DATA connection 07:52:24.740573 DATA sockfilt for passive data channel quits (pid 153286) 07:52:24.740886 DATA sockfilt for passive data channel quit (pid 153286) 07:52:24.740915 =====> Closed passive DATA connection 07:52:24.740944 > "226 File transfer complete[CR][LF]" 07:52:24.788100 < "QUIT" 07:52:24.788152 > "221 bye bye baby[CR][LF]" 07:52:24.792307 MAIN sockfilt said DISC 07:52:24.792352 ====> Client disconnected 07:52:24.792432 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.549319 ====> Client connect 07:52:24.553006 Received DATA (on stdin) 07:52:24.553041 > 160 bytes data, server => client 07:52:24.553055 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.553067 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.553079 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.553168 < 16 bytes data, client => server 07:52:24.553182 'USER anonymous\r\n' 07:52:24.553660 Received DATA (on stdin) 07:52:24.553677 > 33 bytes data, server => client 07:52:24.553690 '331 We are happy you popped in!\r\n' 07:52:24.553749 < 22 bytes data, client => server 07:52:24.553762 'PASS ftp@example.com\r\n' 07:52:24.554188 Received DATA (on stdin) 07:52:24.554203 > 30 bytes data, server => client 07:52:24.554215 '230 Welcome you silly person\r\n' 07:52:24.554268 < 5 bytes data, client => server 07:52:24.554281 'PWD\r\n' 07:52:24.555119 Received DATA (on stdin) 07:52:24.555137 > 30 bytes data, server => client 07:52:24.555149 '257 "/" is current directory\r\n' 07:52:24.555217 < 6 bytes data, client => server 07:52:24.555229 'EPSV\r\n' 07:52:24.567332 Received DATA (on stdin) 07:52:24.567349 > 39 bytes data, server => client 07:52:24.567362 '229 Entering Passive Mode (|||45519|)\r\n' 07:52:24.567540 < 8 bytes data, client => server 07:52:24.567558 'TYPE I\r\n' 07:52:24.567787 Received DATA (on stdin) 07:52:24.567802 > 33 bytes data, server => client 07:52:24.567814 '200 I modify TYPE as you wanted\r\n' 07:52:24.567870 < 21 bytes data, client => server 07:52:24.567882 'SIZE verifiedserver\r\n' 07:52:24.568004 Received DATA (on stdin) 07:52:24.568017 > 8 bytes data, server => client 07:52:24.568028 '213 18\r\n' 07:52:24.568077 < 21 bytes data, client => server 07:52:24.568088 'RETR verifiedserver\r\n' 07:52:24.568293 Received DATA (on stdin) 07:52:24.568305 > 29 bytes data, server => client 07:52:24.568317 '150 Binary junk (18 bytes).\r\n' 07:52:24.568888 Received DATA (on stdin) 07:52:24.568903 > 28 bytes data, server => client 07:52:24.568915 '226 File transfer complete\r\n' 07:52:24.615860 < 6 bytes data, client => server 07:52:24.615895 'QUIT\r\n' 07:52:24.616098 Received DATA (on stdin) 07:52:24.616112 > 18 bytes data, server => client 07:52:24.616124 '221 bye bye baby\r\n' 07:52:24.620173 ====> Client disconnect 07:52:24.620375 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.566775 Running IPv4 version 07:52:24.566856 Listening on port 45519 07:52:24.566894 Wrote pid 153286 to log/7/server/ftp_sockdata.pid 07:52:24.567070 Received PING (on stdin) 07:52:24.567155 Received PORT (on stdin) 07:52:24.567582 ====> Client connect 07:52:24.568372 Received DATA (on stdin) 07:52:24.568388 > 18 bytes data, server => client 07:52:24.568400 'WE ROOLZ: 141706\r\n' 07:52:24.568427 Received DISC (on stdin) 07:52:24.568440 ====> Client forcibly disconnected 07:52:24.568582 Received QUIT (on stdin) 07:52:24.568596 quits 07:52:24.568663 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==153347== ==153347== Process terminating with default action of signal 4 (SIGILL) ==153347== Illegal opcode at address 0x4013DC0 ==153347== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153347== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153347== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153347== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1390 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/13/valgrind1388 ../src/curl -q --trace-ascii log/13/trace1388 --trace-time ftp://127.0.0.1:33699/path/file1388 -o log/13/download1388 -D - > log/13/stdout1388 2> log/13/stderr1388 1388: 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/ dir 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/13/valgrind1388 ../src/curl -q --trace-ascii log/13/trace1388 --trace-time ftp://127.0.0.1:33699/path/file1388 -o log/13/download1388 -D - > log/13/stdout1388 2> log/13/stderr1388 === End of file commands.log === Start of file ftp_server.log 07:52:24.671283 ====> Client connect 07:52:24.671454 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.671760 < "USER anonymous" 07:52:24.671806 > "331 We are happy you popped in![CR][LF]" 07:52:24.672099 < "PASS ftp@example.com" 07:52:24.672133 > "230 Welcome you silly person[CR][LF]" 07:52:24.672310 < "PWD" 07:52:24.672347 > "257 "/" is current directory[CR][LF]" 07:52:24.672528 < "EPSV" 07:52:24.672554 ====> Passive DATA channel requested by client 07:52:24.672569 DATA sockfilt for passive data channel starting... 07:52:24.674477 DATA sockfilt for passive data channel started (pid 153232) 07:52:24.674606 DATA sockfilt for passive data channel listens on port 34909 07:52:24.674651 > "229 Entering Passive Mode (|||34909|)[CR][LF]" 07:52:24.674671 Client has been notified that DATA conn will be accepted on port 34909 07:52:24.674916 Client connects to port 34909 07:52:24.674948 ====> Client established passive DATA connection on port 34909 07:52:24.675025 < "TYPE I" 07:52:24.675056 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.675231 < "SIZE verifiedserver" 07:52:24.675272 > "213 17[CR][LF]" 07:52:24.675446 < "RETR verifiedserver" 07:52:24.675483 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.675576 =====> Closing passive DATA connection... 07:52:24.675594 Server disconnects passive DATA connection 07:52:24.675839 Server disconnected passive DATA connection 07:52:24.675869 DATA sockfilt for passive data channel quits (pid 153232) 07:52:24.676128 DATA sockfilt for passive data channel quit (pid 153232) 07:52:24.676157 =====> Closed passive DATA connection 07:52:24.676187 > "226 File transfer complete[CR][LF]" 07:52:24.724757 < "QUIT" 07:52:24.724808 > "221 bye bye baby[CR][LF]" 07:52:24.725766 MAIN sockfilt said DISC 07:52:24.725809 ====> Client disconnected 07:52:24.725940 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:25.498125 ====> Client connect 07:52:25.499415 Received DATA (on stdin) 07:52:25.499437 > 160 bytes data, server => client 07:52:25.499451 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:25.499463 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:25.499475 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:25.499550 < 16 bytes data, client => server 07:52:25.499567 'USER anonymous\r\n' 07:52:25.499835 Received DATA (on stdin) 07:52:25.499857 > 33 bytes data, server => client 07:52:25.499871 '331 We are happy you popped in!\r\n' 07:52:25.499928 < 22 bytes data, client => server 07:52:25.499943 'PASS ftp@example.com\r\n' 07:52:25.500077 Received DATA (on stdin) 07:52:25.500091 > 30 bytes data, server => client 07:52:25.500103 '230 Welcome you silly person\r\n' 07:52:25.5001CMD (33792): ../libtool --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/valgrind1398 ./unit/units unit1398 - > log/21/stdout1398 2> log/21/stderr1398 CMD (33792): ../libtool --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/valgrind1389 ../src/curl -q --trace-ascii log/5/trace1389 --trace-time ftp://127.0.0.1:39251/path/file1389 -o log/5/download1389 -J -D log/5/heads1389 > log/5/stdout1389 2> log/5/stderr1389 55 < 5 bytes data, client => server 07:52:25.500169 'PWD\r\n' 07:52:25.500290 Received DATA (on stdin) 07:52:25.500304 > 30 bytes data, server => client 07:52:25.500316 '257 "/" is current directory\r\n' 07:52:25.500376 < 6 bytes data, client => server 07:52:25.500390 'EPSV\r\n' 07:52:25.502619 Received DATA (on stdin) 07:52:25.502634 > 39 bytes data, server => client 07:52:25.502647 '229 Entering Passive Mode (|||34909|)\r\n' 07:52:25.502761 < 8 bytes data, client => server 07:52:25.502779 'TYPE I\r\n' 07:52:25.503001 Received DATA (on stdin) 07:52:25.503015 > 33 bytes data, server => client 07:52:25.503027 '200 I modify TYPE as you wanted\r\n' 07:52:25.503080 < 21 bytes data, client => server 07:52:25.503094 'SIZE verifiedserver\r\n' 07:52:25.503215 Received DATA (on stdin) 07:52:25.503229 > 8 bytes data, server => client 07:52:25.503241 '213 17\r\n' 07:52:25.503293 < 21 bytes data, client => server 07:52:25.503307 'RETR verifiedserver\r\n' 07:52:25.503537 Received DATA (on stdin) 07:52:25.503551 > 29 bytes data, server => client 07:52:25.503563 '150 Binary junk (17 bytes).\r\n' 07:52:25.504131 Received DATA (on stdin) 07:52:25.504146 > 28 bytes data, server => client 07:52:25.504158 '226 File transfer complete\r\n' 07:52:25.552528 < 6 bytes data, client => server 07:52:25.552555 'QUIT\r\n' 07:52:25.552757 Received DATA (on stdin) 07:52:25.552774 > 18 bytes data, server => client 07:52:25.552786 '221 bye bye baby\r\n' 07:52:25.553642 ====> Client disconnect 07:52:25.553778 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.502092 Running IPv4 version 07:52:24.502152 Listening on port 34909 07:52:24.502195 Wrote pid 153232 to log/13/server/ftp_sockdata.pid 07:52:24.502357 Received PING (on stdin) 07:52:24.502445 Received PORT (on stdin) 07:52:24.502810 ====> Client connect 07:52:24.503592 Received DATA (on stdin) 07:52:24.503606 > 17 bytes data, server => client 07:52:24.503618 'WE ROOLZ: 80695\r\n' 07:52:24.503643 Received DISC (on stdin) 07:52:24.503656 ====> Client forcibly disconnected 07:52:24.503821 Received QUIT (on stdin) 07:52:24.503835 quits 07:52:24.503892 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==153293== ==153293== Process terminating with default action of signal 4 (SIGILL) ==153293== Illegal opcode at address 0x4013DC0 ==153293== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153293== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153293== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153293== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1388 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/21/valgrind1398 ./unit/units unit1398 - > log/21/stdout1398 2> log/21/stderr1398 units returned 132, when expecting 0 1398: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind1398 ./unit/units unit1398 - > log/21/stdout1398 2> log/21/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 ==153840== ==153840== Process terminating with default action of signal 4 (SIGILL) ==153840== Illegal opcode at address 0x400E20D ==153840== at 0x400E20D: test_unit1398.lto_priv.0 (unit1398.c:87) ==153840== by 0x400A12F: main (first.c:280) === End of file valgrind1398 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/5/valgrind1389 ../src/curl -q --trace-ascii log/5/trace1389 --trace-time ftp://127.0.0.1:39251/path/file1389 -o log/5/download1389 -J -D log/5/heads1389 > log/5/stdout1389 2> log/5/stderr1389 1389: 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/ dir 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/5/valgrind1389 ../src/curl -q --trace-ascii log/5/trace1389 --trace-time ftp://127.0.0.1:39251/path/file1389 -o log/5/download1389 -J -D log/5/heads1389 > log/5/stdout1389 2> log/5/stderr1389 === End of file commands.log === Start of file ftp_server.log 07:52:24.702446 ====> Client connect 07:52:24.702626 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.702955 < "USER anonymous" 07:52:24.702997 > "331 We are happy you popped in![CR][LF]" 07:52:24.703202 < "PASS ftp@example.com" 07:52:24.703233 > "230 Welcome you silly person[CR][LF]" 07:52:24.703415 < "PWD" 07:52:24.703453 > "257 "/" is current directory[CR][LF]" 07:52:24.703643 < "EPSV" 07:52:24.703669 ====> Passive DATA channel requested by client 07:52:24.703685 DATA sockfilt for passive data channel starting... 07:52:24.706575 DATA sockfilt for passive data channel started (pid 153264) 07:52:24.706683 DATA sockfilt for passive data channel listens on port 39531 07:52:24.706722 > "229 Entering Passive Mode (|||39531|)[CR][LF]" 07:52:24.706739 Client has been notified that DATA conn will be accepted on port 39531 07:52:24.706978 Client connects to port 39531 07:52:24.707009 ====> Client established passive DATA connection on port 39531 07:52:24.707085 < "TYPE I" 07:52:24.707115 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.707286 < "SIZE verifiedserver" 07:52:24.707327 > "213 17[CR][LF]" 07:52:24.707483 < "RETR verifiedserver" 07:52:24.707517 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.707606 =====> Closing passive DATA connection... 07:52:24.707622 Server disconnects passive DATA connection 07:52:24.707870 Server disconnected passive DATA connection 07:52:24.707898 DATA sockfilt for passive data channel quits (pid 153264) 07:52:24.708172 DATA sockfilt for passive data channel quit (pid 153264) 07:52:24.708200 =====> Closed passive DATA connection 07:52:24.708232 > "226 File transfer complete[CR][LF]" 07:52:24.754880 < "QUIT" 07:52:24.754931 > "221 bye bye baby[CR][LF]" 07:52:24.756654 MAIN sockfilt said DISC 07:52:24.756703 ====> Client disconnected 07:52:24.756773 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.530260 ====> Client connect 07:52:24.530589 Received DATA (on stdin) 07:52:24.530608 > 160 bytes data, server => client 07:52:24.530623 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.530636 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.530648 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.530734 < 16 bytes data, client => server 07:52:24.530751 'USER anonymous\r\n' 07:52:24.530944 Received DATA (on stdin) 07:52:24.530959 > 33 bytes data, server => client 07:52:24.530972 '331 We are happy you popped in!\r\n' 07:52:24.531030 < 22 bytes data, client => server 07:52:24.531046 'PASS ftp@example.com\r\n' 07:52:24.531177 Received DATA (on stdin) 07:52:24.531191 > 30 bytes data, server => client 07:52:24.531203 '230 Welcome you silly person\r\n' 07:52:24.531258 < 5 bytes data, client => server 07:52:24.531273 'PWD\r\n' 07:52:24.531396 Received DATA (on stdin) 07:52:24.531411 > 30 bytes data, server => client 07:52:24.531423 '257 "/" is current directory\r\n' 07:52:24.53148CMD (33792): ../libtool --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/valgrind1391 ../src/curl -q --trace-ascii log/18/trace1391 --trace-time ftp://127.0.0.1:34455/path/file1391 -o log/18/download1391 -i -D log/18/heads1391 > log/18/stdout1391 2> log/18/stderr1391 6 < 6 bytes data, client => server 07:52:24.531502 'EPSV\r\n' 07:52:24.534685 Received DATA (on stdin) 07:52:24.534700 > 39 bytes data, server => client 07:52:24.534713 '229 Entering Passive Mode (|||39531|)\r\n' 07:52:24.534833 < 8 bytes data, client => server 07:52:24.534850 'TYPE I\r\n' 07:52:24.535060 Received DATA (on stdin) 07:52:24.535076 > 33 bytes data, server => client 07:52:24.535088 '200 I modify TYPE as you wanted\r\n' 07:52:24.535139 < 21 bytes data, client => server 07:52:24.535152 'SIZE verifiedserver\r\n' 07:52:24.535267 Received DATA (on stdin) 07:52:24.535280 > 8 bytes data, server => client 07:52:24.535292 '213 17\r\n' 07:52:24.535339 < 21 bytes data, client => server 07:52:24.535352 'RETR verifiedserver\r\n' 07:52:24.535566 Received DATA (on stdin) 07:52:24.535580 > 29 bytes data, server => client 07:52:24.535592 '150 Binary junk (17 bytes).\r\n' 07:52:24.536177 Received DATA (on stdin) 07:52:24.536193 > 28 bytes data, server => client 07:52:24.536206 '226 File transfer complete\r\n' 07:52:24.582640 < 6 bytes data, client => server 07:52:24.582665 'QUIT\r\n' 07:52:24.582880 Received DATA (on stdin) 07:52:24.582895 > 18 bytes data, server => client 07:52:24.582908 '221 bye bye baby\r\n' 07:52:24.584331 ====> Client disconnect 07:52:24.584716 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.533683 Running IPv4 version 07:52:24.533751 Listening on port 39531 07:52:24.533787 Wrote pid 153264 to log/5/server/ftp_sockdata.pid 07:52:24.534450 Received PING (on stdin) 07:52:24.534540 Received PORT (on stdin) 07:52:24.534872 ====> Client connect 07:52:24.535618 Received DATA (on stdin) 07:52:24.535632 > 17 bytes data, server => client 07:52:24.535644 'WE ROOLZ: 80550\r\n' 07:52:24.535668 Received DISC (on stdin) 07:52:24.535680 ====> Client forcibly disconnected 07:52:24.535860 Received QUIT (on stdin) 07:52:24.535874 quits 07:52:24.535938 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End of file server.cmd === Start of file valgrind1389 ==153362== ==153362== Process terminating with default action of signal 4 (SIGILL) ==153362== Illegal opcode at address 0x4013DC0 ==153362== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153362== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153362== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153362== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1389 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/18/valgrind1391 ../src/curl -q --trace-ascii log/18/trace1391 --trace-time ftp://127.0.0.1:34455/path/file1391 -o log/18/download1391 -i -D log/18/heads1391 > log/18/stdout1391 2> log/18/stderr1391 1391: 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/ dir 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/18/valgrind1391 ../src/curl -q --trace-ascii log/18/trace1391 --trace-time ftp://127.0.0.1:34455/path/file1391 -o log/18/download1391 -i -D log/18/heads1391 > log/18/stdout1391 2> log/18/stderr1391 === End of file commands.log === Start of file ftp_server.log 07:52:24.745877 ====> Client connect 07:52:24.746037 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.746367 < "USER anonymous" 07:52:24.746416 > "331 We are happy you popped in![CR][LF]" 07:52:24.746619 < "PASS ftp@example.com" 07:52:24.746656 > "230 Welcome you silly person[CR][LF]" 07:52:24.746828 < "PWD" 07:52:24.746865 > "257 "/" is current directory[CR][LF]" 07:52:24.747019 < "EPSV" 07:52:24.747042 ====> Passive DATA channel requested by client 07:52:24.747056 DATA sockfilt for passive data channel starting... 07:52:24.754768 DATA sockfilt for passive data channel started (pid 153288) 07:52:24.754871 DATA sockfilt for passive data channel listens on port 44551 07:52:24.754914 > "229 Entering Passive Mode (|||44551|)[CR][LF]" 07:52:24.754936 Client has been notified that DATA conn will be accepted on port 44551 07:52:24.757974 Client connects to port 44551 07:52:24.758011 ====> Client established passive DATA connection on port 44551 07:52:24.758089 < "TYPE I" 07:52:24.758121 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.761453 < "SIZE verifiedserver" 07:52:24.761501 > "213 17[CR][LF]" 07:52:24.761690 < "RETR verifiedserver" 07:52:24.761728 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.761825 =====> Closing passive DATA connection... 07:52:24.761845 Server disconnects passive DATA connection 07:52:24.764723 Server disconnected passive DATA connection 07:52:24.764752 DATA sockfilt for passive data channel quits (pid 153288) 07:52:24.764997 DATA sockfilt for passive data channel quit (pid 153288) 07:52:24.765022 =====> Closed passive DATA connection 07:52:24.765053 > "226 File transfer complete[CR][LF]" 07:52:24.810817 < "QUIT" 07:52:24.810874 > "221 bye bye baby[CR][LF]" 07:52:24.812334 MAIN sockfilt said DISC 07:52:24.812382 ====> Client disconnected 07:52:24.812443 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:25.573690 ====> Client connect 07:52:25.573996 Received DATA (on stdin) 07:52:25.574015 > 160 bytes data, server => client 07:52:25.574029 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:25.574042 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:25.574054 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:25.574138 < 16 bytes data, client => server 07:52:25.574152 'USER anonymous\r\n' 07:52:25.574362 Received DATA (on stdin) 07:52:25.574377 > 33 bytes data, server => client 07:52:25.574390 '331 We are happy you popped in!\r\n' 07:52:25.574448 < 22 bytes data, client => server 07:52:25.574462 'PASS ftp@example.com\r\n' 07:52:25.574599 Received DATA (on stdin) 07:52:25.574612 > 30 bytes data, server => client 07:52:25.574625 '230 Welcome you silly person\r\n' 07:52:25.574675 < 5 bytes data, client => server 07:52:25.574688 'PWD\r\n' 07:52:25.574805 Received DATA (on stdin) 07:52:25.574818 > 30 bytes data, server => client 07:52:25.574830 '257 "/" is current directory\r\n' 07:52:25.574881 < 6 bytes data, client => server 07:52:25.574892 'EPSV\r\n' 07:52:25.584363 Received DATA (on stdin) 07:52:25.584379 > 39 bytes data, server => client 07:52:25.584392 '229 Entering Passive Mode (|||44551|)\r\n' 07:52:25.584523 < 8 bytes data, client => server 07:52:25.584543 'TYPE I\r\n' 07:52:25.589184 Received DATA (on stdin) 07:52:25.589206 > 33 bytes data, server => client 07:52:25.589221 '200 I modify TYPE as you wanted\r\n' 07:52:25.589284 < 21 bytes data, client => server 07:52:25.589301 'SIZE verifiedserver\r\n' 07:52:25.589448 Received DATA (on stdin) 07:52:25.589463 > 8 bytes data, server => client 07:52:25.589475 '213 17\r\n' 07:52:25.589532 < 21 bytes data, client => server 07:52:25.589548 'RETR verifiedserver\r\n' 07:52:25.589791 Received DATA (on stdin) 07:52:25.589806 > 29 bytes data, server => client 07:52:25.589819 '150 Binary junk (17 bytes).\r\n' 07:52:25.592997 Received DATA (on stdin) 07:52:25.593011 > 28 bytes data, server => client 07:52:25.593022 '226 File transfer complete\r\n' 07:52:25.638584 < 6 bytes data, client => server 07:52:25.638609 'QUIT\r\n' 07:52:25.638822 Received DATA (on stdin) 07:52:25.638838 > 18 bytes data, server => client 07:52:25.638851 '221 bye bye baby\r\n' 07:52:25.639749 ====> Client disconnect 07:52:25.640384 Received ACKD (on stdin) === End of file ftp_sockctrl.log === StCMD (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/valgrind1399 ./unit/units unit1399 - > log/4/stdout1399 2> log/4/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/22/valgrind1392 ../src/curl -q --trace-ascii log/22/trace1392 --trace-time ftp://127.0.0.1:38231/path/file1392 -o log/22/download1392 -i -D - > log/22/stdout1392 2> log/22/stderr1392 art of file ftp_sockdata.log 07:52:24.576953 Running IPv4 version 07:52:24.577019 Listening on port 44551 07:52:24.577053 Wrote pid 153288 to log/18/server/ftp_sockdata.pid 07:52:24.582643 Received PING (on stdin) 07:52:24.582729 Received PORT (on stdin) 07:52:24.585855 ====> Client connect 07:52:24.592283 Received DATA (on stdin) 07:52:24.592305 > 17 bytes data, server => client 07:52:24.592318 'WE ROOLZ: 80643\r\n' 07:52:24.592579 Received DISC (on stdin) 07:52:24.592601 ====> Client forcibly disconnected 07:52:24.592703 Received QUIT (on stdin) 07:52:24.592715 quits 07:52:24.592774 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==153381== ==153381== Process terminating with default action of signal 4 (SIGILL) ==153381== Illegal opcode at address 0x4013DC0 ==153381== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153381== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153381== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153381== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1391 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/4/valgrind1399 ./unit/units unit1399 - > log/4/stdout1399 2> log/4/stderr1399 -------e-v- OK (1330 out of 1746, remaining: 00:32, took 0.908s, duration: 01:45) 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/22/valgrind1392 ../src/curl -q --trace-ascii log/22/trace1392 --trace-time ftp://127.0.0.1:38231/path/file1392 -o log/22/download1392 -i -D - > log/22/stdout1392 2> log/22/stderr1392 1392: 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/ dir 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/22/valgrind1392 ../src/curl -q --trace-ascii log/22/trace1392 --trace-time ftp://127.0.0.1:38231/path/file1392 -o log/22/download1392 -i -D - > log/22/stdout1392 2> log/22/stderr1392 === End of file commands.log === Start of file ftp_server.log 07:52:24.834486 ====> Client connect 07:52:24.834657 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.835768 < "USER anonymous" 07:52:24.835815 > "331 We are happy you popped in![CR][LF]" 07:52:24.836507 < "PASS ftp@example.com" 07:52:24.836543 > "230 Welcome you silly person[CR][LF]" 07:52:24.836708 < "PWD" 07:52:24.836742 > "257 "/" is current directory[CR][LF]" 07:52:24.836916 < "EPSV" 07:52:24.836942 ====> Passive DATA channel requested by client 07:52:24.836957 DATA sockfilt for passive data channel starting... 07:52:24.838941 DATA sockfilt for passive data channel started (pid 153378) 07:52:24.839044 DATA sockfilt for passive data channel listens on port 38711 07:52:24.839090 > "229 Entering Passive Mode (|||38711|)[CR][LF]" 07:52:24.839111 Client has been notified that DATA conn will be accepted on port 38711 07:52:24.839336 Client connects to port 38711 07:52:24.839365 ====> Client established passive DATA connection on port 38711 07:52:24.839434 < "TYPE I" 07:52:24.839464 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.839618 < "SIZE verifiedserver" 07:52:24.839654 > "213 17[CR][LF]" 07:52:24.839800 < "RETR verifiedserver" 07:52:24.839830 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.839909 =====> Closing passive DATA connection... 07:52:24.839924 Server disconnects passive DATA connection 07:52:24.840162 Server disconnected passive DATA connection 07:52:24.840191 DATA sockfilt for passive data channel quits (pid 153378) 07:52:24.840408 DATA sockfilt for passive data channel quit (pid 153378) 07:52:24.840430 =====> Closed passive DATA connection 07:52:24.840456 > "226 File transfer complete[CR][LF]" 07:52:24.888782 < "QUIT" 07:52:24.888841 > "221 bye bye baby[CR][LF]" 07:52:24.890269 MAIN sockfilt said DISC 07:52:24.890317 ====> Client disconnected 07:52:24.890390 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.662324 ====> Client connect 07:52:24.662619 Received DATA (on stdin) 07:52:24.662637 > 160 bytes data, server => client 07:52:24.662651 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.662663 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.662674 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.663540 < 16 bytes data, client => server 07:52:24.663561 'USER anonymous\r\n' 07:52:24.663762 Received DATA (on stdin) 07:52:24.663775 > 33 bytes data, server => client 07:52:24.663788 '331 We are happy you popped in!\r\n' 07:52:24.664322 < 22 bytes data, client => server 07:52:24.664341 'PASS ftp@example.com\r\n' 07:52:24.664485 Received DATA (on stdin) 07:52:24.664498 > 30 bytes data, server => client 07:52:24.664510 '230 Welcome you silly person\r\n' 07:52:24.664560 < 5 bytes data, client => server 07:52:24.664571 'PWD\r\n' 07:52:24.664683 Received DATA (on stdin) 07:52:24.664695 > 30 bytes data, server => client 07:52:24.664707 '257 "/" is current directory\r\n' 07:52:24.664768 < 6 bytes data, client => server 07:52:24.664782 'EPSV\r\n' 07:52:24.667056 Received DATA (on stdin) 07:52:24.667070 > 39 bytes data, server => client 07:52:24.667082 '229 Entering Passive Mode (|||38711|)\r\n' 07:52:24.667193 < 8 bytes data, client => server 07:52:24.667209 'TYPE I\r\n' 07:52:24.667403 Received DATA (on stdin) 07:52:24.667416 > 33 bytes data, server => client 07:52:24.667428 '200 I modify TYPE as you wanted\r\n' 07:52:24.667476 < 21 bytes data, client => server 07:52:24.667488 'SIZE verifiedserver\r\n' 07:52:24.667593 Received DATA (on stdin) 07:52:24.667605 > 8 bytes data, server => client 07:52:24.667616 '213 17\r\n' 07:52:24.667661 < 21 bytes data, client => server 07:52:24.667673 'RETR verifiedserver\r\n' 07:52:24.667865 Received DATA (on stdin) 07:52:24.667878 > 29 bytes data, server => client 07:52:24.667890 '150 Binary junk (17 bytes).\r\n' 07:52:24.668397 Received DATA (on stdin) 07:52:24.668411 > 28 bytes data, server => client 07:52:24.668423 '226 File transfer complete\r\n' 07:52:24.715546 < 6 bytes data, client => server 07:52:24.715581 'QUIT\r\n' 07:52:24.716789 Received DATA (on stdin) 07:52:24.716809 > 18 bytes data, server => client 07:52:24.716821 '221 bye bye baby\r\n' 07:52:24.717641 ====> Client disconnect 07:52:24.718339 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.666569 Running IPv4 version 07:52:24.666623 Listening on port 38711 07:52:24.666660 Wrote pid 153378 to log/22/server/ftp_sockdata.pid 07:52:24.666826 Received PING (on stdin) 07:52:24.666901 Received PORT (on stdin) 07:52:24.667230 ====> Client connect 07:52:24.667914 Received DATA (on stdin) 07:52:24.667928 > 17 bytes data, server => client 07:52:24.667939 'WE ROOLZ: 80638\r\n' 07:52:24.667964 Received DISC (on stdin) 07:52:24.667976 ====> Client forcibly disconnected 07:52:24.668141 Received QUIT (on stdin) 07:52:24.668154 quits 07:52:24.668213 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==153582== ==153582== Process terminating with default action of signal 4 (SIGILL) ==153582== Illegal opcode at address 0x4013DC0 ==153582== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153582== by 0x40037A4: UnknownInlinedFun (tool_getparam.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/6/valgrind1393 ../src/curl -q --trace-ascii log/6/trace1393 --trace-time ftp://127.0.0.1:41051/path/file1393 -o log/6/download1393 -i > log/6/stdout1393 2> log/6/stderr1393 CMD (33792): ../libtool --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/valgrind1396 ./unit/units unit1396 - > log/12/stdout1396 2> log/12/stderr1396 :3029) ==153582== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153582== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1392 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/6/valgrind1393 ../src/curl -q --trace-ascii log/6/trace1393 --trace-time ftp://127.0.0.1:41051/path/file1393 -o log/6/download1393 -i > log/6/stdout1393 2> log/6/stderr1393 1393: 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/ dir 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/6/valgrind1393 ../src/curl -q --trace-ascii log/6/trace1393 --trace-time ftp://127.0.0.1:41051/path/file1393 -o log/6/download1393 -i > log/6/stdout1393 2> log/6/stderr1393 === End of file commands.log === Start of file ftp_server.log 07:52:24.965393 ====> Client connect 07:52:24.965580 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:24.965891 < "USER anonymous" 07:52:24.965934 > "331 We are happy you popped in![CR][LF]" 07:52:24.966118 < "PASS ftp@example.com" 07:52:24.966145 > "230 Welcome you silly person[CR][LF]" 07:52:24.966297 < "PWD" 07:52:24.966328 > "257 "/" is current directory[CR][LF]" 07:52:24.966486 < "EPSV" 07:52:24.966510 ====> Passive DATA channel requested by client 07:52:24.966524 DATA sockfilt for passive data channel starting... 07:52:24.972213 DATA sockfilt for passive data channel started (pid 153578) 07:52:24.972337 DATA sockfilt for passive data channel listens on port 33923 07:52:24.972384 > "229 Entering Passive Mode (|||33923|)[CR][LF]" 07:52:24.972405 Client has been notified that DATA conn will be accepted on port 33923 07:52:24.972669 Client connects to port 33923 07:52:24.972701 ====> Client established passive DATA connection on port 33923 07:52:24.972789 < "TYPE I" 07:52:24.972821 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:24.973004 < "SIZE verifiedserver" 07:52:24.973045 > "213 17[CR][LF]" 07:52:24.973217 < "RETR verifiedserver" 07:52:24.973255 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:24.973346 =====> Closing passive DATA connection... 07:52:24.973364 Server disconnects passive DATA connection 07:52:24.973645 Server disconnected passive DATA connection 07:52:24.973684 DATA sockfilt for passive data channel quits (pid 153578) 07:52:24.973956 DATA sockfilt for passive data channel quit (pid 153578) 07:52:24.973985 =====> Closed passive DATA connection 07:52:24.974016 > "226 File transfer complete[CR][LF]" 07:52:25.018277 < "QUIT" 07:52:25.018336 > "221 bye bye baby[CR][LF]" 07:52:25.028004 MAIN sockfilt said DISC 07:52:25.028065 ====> Client disconnected 07:52:25.028150 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:24.793221 ====> Client connect 07:52:24.793538 Received DATA (on stdin) 07:52:24.793557 > 160 bytes data, server => client 07:52:24.793570 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:24.793583 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:24.793594 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:24.793678 < 16 bytes data, client => server 07:52:24.793693 'USER anonymous\r\n' 07:52:24.793879 Received DATA (on stdin) 07:52:24.793892 > 33 bytes data, server => client 07:52:24.793905 '331 We are happy you popped in!\r\n' 07:52:24.793958 < 22 bytes data, client => server 07:52:24.793970 'PASS ftp@example.com\r\n' 07:52:24.794085 Received DATA (on stdin) 07:52:24.794097 > 30 bytes data, server => client 07:52:24.794109 '230 Welcome you silly person\r\n' 07:52:24.794156 < 5 bytes data, client => server 07:52:24.794167 'PWD\r\n' 07:52:24.794267 Received DATA (on stdin) 07:52:24.794279 > 30 bytes data, server => client 07:52:24.794291 '257 "/" is current directory\r\n' 07:52:24.794346 < 6 bytes data, client => server 07:52:24.794358 'EPSV\r\n' 07:52:24.800353 Received DATA (on stdin) 07:52:24.800369 > 39 bytes data, server => client 07:52:24.800381 '229 Entering Passive Mode (|||33923|)\r\n' 07:52:24.800517 < 8 bytes data, client => server 07:52:24.800536 'TYPE I\r\n' 07:52:24.800765 Received DATA (on stdin) 07:52:24.800778 > 33 bytes data, server => client 07:52:24.800791 '200 I modify TYPE as you wanted\r\n' 07:52:24.800847 < 21 bytes data, client => server 07:52:24.800862 'SIZE verifiedserver\r\n' 07:52:24.800990 Received DATA (on stdin) 07:52:24.801003 > 8 bytes data, server => client 07:52:24.801015 '213 17\r\n' 07:52:24.801067 < 21 bytes data, client => server 07:52:24.801081 'RETR verifiedserver\r\n' 07:52:24.801308 Received DATA (on stdin) 07:52:24.801322 > 29 bytes data, server => client 07:52:24.801334 '150 Binary junk (17 bytes).\r\n' 07:52:24.801963 Received DATA (on stdin) 07:52:24.801978 > 28 bytes data, server => client 07:52:24.801990 '226 File transfer complete\r\n' 07:52:24.846003 < 6 bytes data, client => server 07:52:24.846042 'QUIT\r\n' 07:52:24.846284 Received DATA (on stdin) 07:52:24.846298 > 18 bytes data, server => client 07:52:24.846310 '221 bye bye baby\r\n' 07:52:24.853033 ====> Client disconnect 07:52:24.856095 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:24.796448 Running IPv4 version 07:52:24.796520 Listening on port 33923 07:52:24.796563 Wrote pid 153578 to log/6/server/ftp_sockdata.pid 07:52:24.800079 Received PING (on stdin) 07:52:24.800186 Received PORT (on stdin) 07:52:24.800559 ====> Client connect 07:52:24.801393 Received DATA (on stdin) 07:52:24.801411 > 17 bytes data, server => client 07:52:24.801423 'WE ROOLZ: 81211\r\n' 07:52:24.801452 Received DISC (on stdin) 07:52:24.801466 ====> Client forcibly disconnected 07:52:24.801638 Received QUIT (on stdin) 07:52:24.801652 quits 07:52:24.801718 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==153689== ==153689== Process terminating with default action of signal 4 (SIGILL) ==153689== Illegal opcode at address 0x4013DC0 ==153689== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153689== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153689== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153689== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1393 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/12/valgrind1396 ./unit/units unit1396 - > log/12/stdout1396 2> log/12/stderr1396 units returned 132, when expecting 0 1396: exit FAILED == Contents of files in the log/12/ dir 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/12/valgrind1396 ./unit/units unit1396 - > log/12/stdout1396 2> log/12/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 ==153744== ==153744== Process terminating with default action of signal 4 (SIGILL) ==153744== Illegal opcode at address 0x407C5FF ==153744== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==153744== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==153744== by 0x407C5FF: Curl_open (url.c:525) ==153744== by 0x403E625: curl_easy_init (easy.CMD (33792): ../libtool --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/valgrind1400 ../src/curl -q --output log/19/curl1400.out --include --trace-ascii log/19/trace1400 --trace-time http://127.0.0.1:34835/we/want/1400 --libcurl log/19/test1400.c > log/19/stdout1400 2> log/19/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/23/valgrind1401 ../src/curl -q --output log/23/curl1401.out --include --trace-ascii log/23/trace1401 --trace-time http://127.0.0.1:41029/we/want/1401 --libcurl log/23/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/23/stdout1401 2> log/23/stderr1401 CMD (33792): ../libtool --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/valgrind1402 ../src/curl -q --output log/17/curl1402.out --include --trace-ascii log/17/trace1402 --trace-time http://127.0.0.1:42601/we/want/1402 --libcurl log/17/test1402.c -d "foo=bar" -d "baz=quux" > log/17/stdout1402 2> log/17/stderr1402 c:371) ==153744== by 0x402FE30: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==153744== by 0x400A12F: main (first.c:280) ==153744== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==153744== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==153744== by 0x407C59D: Curl_open (url.c:504) ==153744== by 0x403E625: curl_easy_init (easy.c:371) ==153744== by 0x402FE30: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==153744== by 0x400A12F: main (first.c:280) ==153744== === End of file valgrind1396 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/19/valgrind1400 ../src/curl -q --output log/19/curl1400.out --include --trace-ascii log/19/trace1400 --trace-time http://127.0.0.1:34835/we/want/1400 --libcurl log/19/test1400.c > log/19/stdout1400 2> log/19/stderr1400 1400: 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/ dir 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/19/valgrind1400 ../src/curl -q --output log/19/curl1400.out --include --trace-ascii log/19/trace1400 --trace-time http://127.0.0.1:34835/we/want/1400 --libcurl log/19/test1400.c > log/19/stdout1400 2> log/19/stderr1400 === End of file commands.log === Start of file http_server.log 07:52:25.395912 ====> Client connect 07:52:25.395959 accept_connection 3 returned 4 07:52:25.395980 accept_connection 3 returned 0 07:52:25.395999 Read 93 bytes 07:52:25.396011 Process 93 bytes request 07:52:25.396026 Got request: GET /verifiedserver HTTP/1.1 07:52:25.396036 Are-we-friendly question received 07:52:25.396064 Wrote request (93 bytes) input to log/19/server.input 07:52:25.396083 Identifying ourselves as friends 07:52:25.396166 Response sent (56 bytes) and written to log/19/server.response 07:52:25.396180 special request received, no persistency 07:52:25.396191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 57542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1400 ==153989== ==153989== Process terminating with default action of signal 4 (SIGILL) ==153989== Illegal opcode at address 0x4013DC0 ==153989== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153989== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153989== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153989== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1400 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/17/valgrind1402 ../src/curl -q --output log/17/curl1402.out --include --trace-ascii log/17/trace1402 --trace-time http://127.0.0.1:42601/we/want/1402 --libcurl log/17/test1402.c -d "foo=bar" -d "baz=quux" > log/17/stdout1402 2> log/17/stderr1402 1402: 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/ dir 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/17/valgrind1402 ../src/curl -q --output log/17/curl1402.out --include --trace-ascii log/17/trace1402 --trace-time http://127.0.0.1:42601/we/want/1402 --libcurl log/17/test1402.c -d "foo=bar" -d "baz=quux" > log/17/stdout1402 2> log/17/stderr1402 === End of file commands.log === Start of file http_server.log 07:52:26.405555 ====> Client connect 07:52:26.405590 accept_connection 3 returned 4 07:52:26.405610 accept_connection 3 returned 0 07:52:26.405624 Read 93 bytes 07:52:26.405635 Process 93 bytes request 07:52:26.405647 Got request: GET /verifiedserver HTTP/1.1 07:52:26.405657 Are-we-friendly question received 07:52:26.405681 Wrote request (93 bytes) input to log/17/server.input 07:52:26.405699 Identifying ourselves as friends 07:52:26.405762 Response sent (56 bytes) and written to log/17/server.response 07:52:26.405773 special request received, no persistency 07:52:26.405783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 34940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1402 ==153970== ==153970== Process terminating with default action of signal 4 (SIGILL) ==153970== Illegal opcode at address 0x4013DC0 ==153970== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153970== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153970== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153970== by 0x40037A4: main (tool_main.c:199) === 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/23/valgrind1401 ../src/curl -q --output log/23/curl1401.out --include --trace-ascii log/23/trace1401 --trace-time http://127.0.0.1:41029/we/want/1401 --libcurl log/23/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/23/stdout1401 2> log/23/stderr1401 1401: 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/ dir 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/23/valgrind1401 ../src/curl -q --output log/23/curl1401.out --include --trace-ascii log/23/trace1401 --trace-time http://127.0.0.1:41029/we/want/1401 --libcurl log/23/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/23/stdout1401 2> log/23/stderr1401 === End of file commands.log === Start of file http_server.log 07:52:25.403000 ====> Client connect 07:52:25.403039 accept_connection 3 returned 4 07:52:25.403058 accept_connection 3 returned 0 07:52:25.403074 Read 93 bytes 07:52:25.403085 Process 93 bytes request 07:52:25.403100 Got request: GET /verifiedserver HTTP/1.1 07:52:25.403111 Are-we-friendly question received 07:52:25.403138 WroCMD (33792): ../libtool --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/valgrind1403 ../src/curl -q --output log/3/curl1403.out --include --trace-ascii log/3/trace1403 --trace-time http://127.0.0.1:34059/we/want/1403 --libcurl log/3/test1403.c -G -d "foo=bar" -d "baz=quux" > log/3/stdout1403 2> log/3/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/20/valgrind1409 ../src/curl -q --output log/20/curl1409.out --include --trace-ascii log/20/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/20/stdout1409 2> log/20/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/15/valgrind1410 ../src/curl -q --output log/15/curl1410.out --include --trace-ascii log/15/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/15/stdout1410 2> log/15/stderr1410 CMD (33792): ../libtool --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/valgrind1405 ../src/curl -q --output log/24/curl1405.out --include --trace-ascii log/24/trace1405 --trace-time ftp://127.0.0.1:36707/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/24/test1405.c > log/24/stdout1405 2> log/24/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/14/valgrind1404 ../src/curl -q --output log/14/curl1404.out --include --trace-ascii log/14/trace1404 --trace-time http://127.0.0.1:34115/we/want/1404 -F name=value -F 'file=@log/14/test1404.txt,log/14/test1404.txt;type=magic/content;encoder=8bit,log/14/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/14/test1404.c > log/14/stdout1404 2> log/14/stderr1404 CMD (33792): ../libtool --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/valgrind1406 ../src/curl -q --output log/16/curl1406.out --include --trace-ascii log/16/trace1406 --trace-time smtp://127.0.0.1:43891/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/16/test1406.eml --libcurl log/16/test1406.c > log/16/stdout1406 2> log/16/stderr1406 te request (93 bytes) input to log/23/server.input 07:52:25.403156 Identifying ourselves as friends 07:52:25.403215 Response sent (56 bytes) and written to log/23/server.response 07:52:25.403227 special request received, no persistency 07:52:25.403237 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 37612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1401 ==153966== ==153966== Process terminating with default action of signal 4 (SIGILL) ==153966== Illegal opcode at address 0x4013DC0 ==153966== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==153966== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153966== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==153966== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1401 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/3/valgrind1403 ../src/curl -q --output log/3/curl1403.out --include --trace-ascii log/3/trace1403 --trace-time http://127.0.0.1:34059/we/want/1403 --libcurl log/3/test1403.c -G -d "foo=bar" -d "baz=quux" > log/3/stdout1403 2> log/3/stderr1403 1403: 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/ dir 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/3/valgrind1403 ../src/curl -q --output log/3/curl1403.out --include --trace-ascii log/3/trace1403 --trace-time http://127.0.0.1:34059/we/want/1403 --libcurl log/3/test1403.c -G -d "foo=bar" -d "baz=quux" > log/3/stdout1403 2> log/3/stderr1403 === End of file commands.log === Start of file http_server.log 07:52:26.617253 ====> Client connect 07:52:26.617320 accept_connection 3 returned 4 07:52:26.617341 accept_connection 3 returned 0 07:52:26.618233 Read 93 bytes 07:52:26.618252 Process 93 bytes request 07:52:26.618266 Got request: GET /verifiedserver HTTP/1.1 07:52:26.618277 Are-we-friendly question received 07:52:26.618310 Wrote request (93 bytes) input to log/3/server.input 07:52:26.618329 Identifying ourselves as friends 07:52:26.618391 Response sent (56 bytes) and written to log/3/server.response 07:52:26.618403 special request received, no persistency 07:52:26.618414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 46230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1403 ==154192== ==154192== Process terminating with default action of signal 4 (SIGILL) ==154192== Illegal opcode at address 0x4013DC0 ==154192== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154192== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154192== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154192== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1403 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/20/valgrind1409 ../src/curl -q --output log/20/curl1409.out --include --trace-ascii log/20/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/20/stdout1409 2> log/20/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/20/ dir 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/20/valgrind1409 ../src/curl -q --output log/20/curl1409.out --include --trace-ascii log/20/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/20/stdout1409 2> log/20/stderr1409 === End of file commands.log === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==154233== ==154233== Process terminating with default action of signal 4 (SIGILL) ==154233== Illegal opcode at address 0x4013DC0 ==154233== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1409 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/15/valgrind1410 ../src/curl -q --output log/15/curl1410.out --include --trace-ascii log/15/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/15/stdout1410 2> log/15/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind1410 ../src/curl -q --output log/15/curl1410.out --include --trace-ascii log/15/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/15/stdout1410 2> log/15/stderr1410 === End of file commands.log === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==154282== ==154282== Process terminating with default action of signal 4 (SIGILL) ==154282== Illegal opcode at address 0x4013DC0 ==154282== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154282== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154282== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154282== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1410 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/24/valgrind1405 ../src/curl -q --output log/24/curl1405.out --include --trace-ascii log/24/trace1405 --trace-time ftp://127.0.0.1:36707/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/24/test1405.c > log/24/stdout1405 2> log/24/stderr1405 1405: 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/ dir 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/24/valgrind1405 ../src/curl -q --output log/24/curl1405.out --include --trace-ascii log/24/trace1405 --trace-time ftp://127.0.0.1:36707/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/24/test1405.c > log/24/stdout1405 2> log/24/stderr1405 === End of file commands.log === Start of file ftp_server.log 07:52:25.786586 ====> Client connect 07:52:25.786751 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:25.787038 < "USER anonymous" 07:52:25.787081 > "331 We are happy you popped in![CR][LF]" 07:52:25.787281 < "PASS ftp@example.com" 07:52:25.787312 > "230 Welcome you silly person[CR][LF]" 07:52:25.787473 < "PWD" 07:52:25.787503 > "257 "/" is current directory[CR][LF]" 07:52:25.787664 < "EPSV" 07:52:25.787688 ====> Passive DATA channel requested by client 07:52:25.787702 DATA sockfilt for passive data channel starting... 07:52:25.789629 DATA sockfilt for passive data channel started (pid 154165) 07:52:25.789729 DATA sockfilt for passive data channel listens on port 37509 07:52:25.789766 > "229 Entering Passive Mode (|||37509|)[CR][LF]" 07:52:25.789782 Client has been notified that DATA conn will be accepted on port 37509 07:52:25.792581 Client connects to port 37509 07:52:25.792617 ====> Client established passive DATA connection on port 37509 07:52:25.792695 < "TYPE I" 07:52:25.792724 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:25.792897 < "SIZE verifiedserver" 07:52:25.792936 > "213 17[CR][LF]" 07:52:25.793101 < "RETR verifiedserver" 07:52:25.793137 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:25.793228 =====> Closing passive DATA connection... 07:52:25.793246 Server disconnects passive DATA connection 07:52:25.793421 Server disconnected passive DATA connection 07:52:25.793447 DATA sockfilt for passive data channel quits (pid 154165) 07:52:25.793669 DATA sockfilt for passive data channel quit (pid 154165) 07:52:25.793696 =====> Closed passive DATA connection 07:52:25.793725 > "226 File transfer complete[CR][LF]" 07:52:25.834916 < "QUIT" 07:52:25.835037 > "221 bye bye baby[CR][LF]" 07:52:25.835902 MAIN sockfilt said DISC 07:52:25.835943 ====> Client disconnected 07:52:25.836010 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:25.614401 ====> Client connect 07:52:25.614704 Received DATA (on stdin) 07:52:25.614719 > 160 bytes data, server => client 07:52:25.614732 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:25.614743 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:25.614754 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:25.614835 < 16 bytes data, client => server 07:52:25.614847 'USER anonymous\r\n' 07:52:25.615029 Received DATA (on stdin) 07:52:25.615043 > 33 bytes data, server => client 07:52:25.615055 '331 We are happy you popped in!\r\n' 07:52:25.615113 < 22 bytes data, client => server 07:52:25.615128 'PASS ftp@example.com\r\n' 07:52:25.615254 Received DATA (on stdin) 07:52:25.615268 > 30 bytes data, server => client 07:52:25.615280 '230 Welcome you silly person\r\n' 07:52:25.615329 < 5 bytes data, client => server 07:52:25.615341 'PWD\r\n' 07:52:25.615442 Received DATA (on stdin) 07:52:25.615454 > 30 bytes data, server => client 07:52:25.615466 '257 "/" is current directory\r\n' 07:52:25.615523 < 6 bytes data, client => server 07:52:25.615535 'EPSV\r\n' 07:52:25.617726 Received DATA (on stdin) 07:52:25.617740 > 39 bytes data, server => client 07:52:25.617752 '229 Entering Passive Mode (|||37509|)\r\n' 07:52:25.620423 < 8 bytes data, client => server 07:52:25.620444 'TYPE I\r\n' 07:52:25.620666 Received DATA (on stdin) 07:52:25.620680 > 33 bytes data, server => client 07:52:25.620692 '200 I modify TYPE as you wanted\r\n' 07:52:25.620745 < 21 bytes data, client => server 07:52:25.620759 'SIZE verifiedserver\r\n' 07:52:25.620876 Received DATA (on stdin) 07:52:25.620888 > 8 bytes data, server => client 07:52:25.620900 '213 17\r\n' 07:52:25.620951 < 21 bytes data, client => server 07:52:25.620964 'RETR verifiedserver\r\n' 07:52:25.621192 Received DATA (on stdin) 07:52:25.621206 > 29 bytes data, server => client 07:52:25.621218 '150 Binary junk (17 bytes).\r\n' 07:52:25.621669 Received DATA (on stdin) 07:52:25.621683 > 28 bytes data, server => client 07:52:25.621695 '226 File transfer complete\r\n' 07:52:25.662687 < 6 bytes data, client => server 07:52:25.662713 'QUIT\r\n' 07:52:25.662901 Received DATA (on stdin) 07:52:25.662914 > 18 bytes data, server => client 07:52:25.662926 '221 bye bye baby\r\n' 07:52:25.663776 ====> Client disconnect 07:52:25.663963 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:25.617272 Running IPv4 version 07:52:25.617327 Listening on port 37509 07:52:25.617361 Wrote pid 154165 to log/24/server/ftp_sockdata.pid 07:52:25.617513 Received PING (on stdin) 07:52:25.617588 Received PORT (on stdin) 07:52:25.620469 ====> Client connect 07:52:25.621245 Received DATA (on stdin) 07:52:25.621261 > 17 bytes data, server => client 07:52:25.621273 'WE ROOLZ: 83461\r\n' 07:52:25.621298 Received DISC (on stdin) 07:52:25.621311 ====> Client forcibly disconnected 07:52:25.621396 Received QUIT (on stdin) 07:52:25.621408 quits 07:52:25.621473 ============> 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 ==154211== ==154211== Process terminating with default action of signal 4 (SIGILL) ==154211== Illegal opcode at address 0x4013DC0 ==154211== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1405 test 1404...[--libcurl plus -F with 3 files, one with explicit type & 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/14/valgrind1404 ../src/curl -q --output log/14/curl1404.out --include --trace-ascii log/14/trace1404 --trace-time http://127.0.0.1:34115/we/want/1404 -F name=value -F 'file=@log/14/test1404.txt,log/14/test1404.txt;type=magic/content;encoder=8bit,log/14/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/14/test1404.c > log/14/stdout1404 2> log/14/stderr1404 1404: 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/ dir 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/14/valgrind1404 ../src/curl -q --output log/14/curl1404.out --include --trace-ascii log/14/trace1404 --trace-time http://127.0.0.1:34115/we/want/1404 -F name=value -F 'file=@log/14/test1404.txt,log/14/test1404.txt;type=magic/content;encoder=8bit,log/14/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/14/test1404.c > log/14/stdout1404 2> log/14/stderr1404 === End of file commands.log === Start of file http_server.log 07:52:25.664244 ====> Client connect 07:52:25.664277 accept_connection 3 returned 4 07:52:25.664295 accept_connection 3 returned 0 07:52:25.664310 Read 93 bytes 07:52:25.664322 Process 93 bytes request 07:52:25.664337 Got request: GET /verifiedserver HTTP/1.1 07:52:25.664347 Are-we-friendly question received 07:52:25.664371 Wrote request (93 bytes) input to log/14/server.input 07:52:25.664389 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/11/valgrind1413 ../src/curl -q --output log/11/curl1413.out --include --trace-ascii log/11/trace1413 --trace-time http://127.0.0.1:38169/this/1413 -L > log/11/stdout1413 2> log/11/stderr1413 riends 07:52:25.664441 Response sent (56 bytes) and written to log/14/server.response 07:52:25.664452 special request received, no persistency 07:52:25.664461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 50084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 17 WE ROOLZ: 74404 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==154214== ==154214== Process terminating with default action of signal 4 (SIGILL) ==154214== Illegal opcode at address 0x4013DC0 ==154214== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154214== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154214== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154214== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1404 test 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/16/valgrind1406 ../src/curl -q --output log/16/curl1406.out --include --trace-ascii log/16/trace1406 --trace-time smtp://127.0.0.1:43891/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/16/test1406.eml --libcurl log/16/test1406.c > log/16/stdout1406 2> log/16/stderr1406 1406: 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/ dir 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/16/valgrind1406 ../src/curl -q --output log/16/curl1406.out --include --trace-ascii log/16/trace1406 --trace-time smtp://127.0.0.1:43891/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/16/test1406.eml --libcurl log/16/test1406.c > log/16/stdout1406 2> log/16/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 07:52:25.827950 ====> Client connect 07:52:25.828162 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:25.832012 < "EHLO verifiedserver" 07:52:25.832081 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:25.832340 < "HELP" 07:52:25.832392 > "214 WE ROOLZ: 124032[CR][LF]" 07:52:25.832410 return proof we are we 07:52:25.832687 < "QUIT" 07:52:25.832727 > "221 curl ESMTP server signing off[CR][LF]" 07:52:25.833643 MAIN sockfilt said DISC 07:52:25.833676 ====> Client disconnected 07:52:25.833746 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:25.650091 ====> Client connect 07:52:25.656605 Received DATA (on stdin) 07:52:25.658035 > 160 bytes data, server => client 07:52:25.658054 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:25.658067 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:25.658078 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:25.659726 < 21 bytes data, client => server 07:52:25.659753 'EHLO verifiedserver\r\n' 07:52:25.660039 Received DATA (on stdin) 07:52:25.660057 > 53 bytes data, server => client 07:52:25.660069 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:25.660142 < 6 bytes data, client => server 07:52:25.660158 'HELP\r\n' 07:52:25.660353 Received DATA (on stdin) 07:52:25.660368 > 22 bytes data, server => client 07:52:25.660379 '214 WE ROOLZ: 124032\r\n' 07:52:25.660503 < 6 bytes data, client => server 07:52:25.660522 'QUIT\r\n' 07:52:25.660671 Received DATA (on stdin) 07:52:25.660684 > 35 bytes data, server => client 07:52:25.660696 '221 curl ESMTP server signing off\r\n' 07:52:25.661526 ====> Client disconnect 07:52:25.661692 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 ==154212== ==154212== Process terminating with default action of signal 4 (SIGILL) ==154212== Illegal opcode at address 0x4013DC0 ==154212== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154212== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154212== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154212== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1406 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/11/valgrind1413 ../src/curl -q --output log/11/curl1413.out --include --trace-ascii log/11/trace1413 --trace-time http://127.0.0.1:38169/this/1413 -L > log/11/stdout1413 2> log/11/stderr1413 1413: 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/ dir 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/11/valgrind1413 ../src/curl -q --output log/11/curl1413.out --include --trace-ascii log/11/trace1413 --trace-time http://127.0.0.1:38169/this/1413 -L > log/11/stdout1413 2> log/11/stderr1413 === End of file commands.log === Start of file http_server.log 07:52:25.955102 ====> Client connect 07:52:25.955136 accept_connection 3 returned 4 07:52:25.955153 accept_connection 3 returned 0 07:52:25.955167 Read 93 bytes 07:52:25.955177 Process 93 bytes request 07:52:25.955191 Got request: GET /verifiedserver HTTP/1.1 07:52:25.955201 Are-we-friendly question received 07:52:25.955254 Wrote request (93 bytes) input to log/11/server.input 07:52:25.955272 Identifying ourselves as friends 07:52:25.955324 Response sent (56 bytes) and written to log/11/server.response 07:52:25.955335 special request received, no persistency 07:52:25.955344 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 59152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1413 ==154634== ==154634== Process terminating with default action of signal 4 (SIGILL) ==154634== Illegal opcode at address 0x4013DC0 ==154634== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154634== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154634== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154634== 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/valgrind1407 ../src/curl -q --output log/1/curl1407.out --include --trace-ascii log/1/trace1407 --trace-time pop3://127.0.0.1:34957/1407 -l -u user:secret --libcurl log/1/test1407.c > log/1/stdout1407 2> log/1/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/2/valgrind1412 ../src/curl -q --output log/2/curl1412.out --include --trace-ascii log/2/trace1412 --trace-time http://127.0.0.1:43955/1412 -u testuser:testpass --anyauth http://127.0.0.1:43955/14120001 > log/2/stdout1412 2> log/2/stderr1412 CMD (33792): ../libtool --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/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-time http://127.0.0.1:42717/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 y 0x40037A4: main (tool_main.c:199) === End of file valgrind1413 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/1/valgrind1407 ../src/curl -q --output log/1/curl1407.out --include --trace-ascii log/1/trace1407 --trace-time pop3://127.0.0.1:34957/1407 -l -u user:secret --libcurl log/1/test1407.c > log/1/stdout1407 2> log/1/stderr1407 1407: 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/ dir 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/1/valgrind1407 ../src/curl -q --output log/1/curl1407.out --include --trace-ascii log/1/trace1407 --trace-time pop3://127.0.0.1:34957/1407 -l -u user:secret --libcurl log/1/test1407.c > log/1/stdout1407 2> log/1/stderr1407 === End of file commands.log === Start of file pop3_server.log 07:52:25.920901 ====> Client connect 07:52:25.921107 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 07:52:25.922145 < "CAPA" 07:52:25.922196 > "-ERR Unrecognized command[CR][LF]" 07:52:25.922393 < "RETR verifiedserver" 07:52:25.922423 return proof we are we 07:52:25.922446 > "+OK Mail transfer starts[CR][LF]" 07:52:25.922465 > "WE ROOLZ: 121499[CR][LF]" 07:52:25.922482 > ".[CR][LF]" 07:52:25.969846 < "QUIT" 07:52:25.969900 > "+OK curl POP3 server signing off[CR][LF]" 07:52:25.971556 MAIN sockfilt said DISC 07:52:25.971598 ====> Client disconnected 07:52:25.971666 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 07:52:25.748733 ====> Client connect 07:52:25.749089 Received DATA (on stdin) 07:52:25.749114 > 178 bytes data, server => client 07:52:25.749128 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:25.749140 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:25.749151 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 07:52:25.749415 've \r\n' 07:52:25.749910 < 6 bytes data, client => server 07:52:25.749931 'CAPA\r\n' 07:52:25.750142 Received DATA (on stdin) 07:52:25.750155 > 27 bytes data, server => client 07:52:25.750168 '-ERR Unrecognized command\r\n' 07:52:25.750228 < 21 bytes data, client => server 07:52:25.750241 'RETR verifiedserver\r\n' 07:52:25.750423 Received DATA (on stdin) 07:52:25.750436 > 26 bytes data, server => client 07:52:25.750448 '+OK Mail transfer starts\r\n' 07:52:25.750469 Received DATA (on stdin) 07:52:25.750480 > 18 bytes data, server => client 07:52:25.750491 'WE ROOLZ: 121499\r\n' 07:52:25.750506 Received DATA (on stdin) 07:52:25.750516 > 3 bytes data, server => client 07:52:25.750528 '.\r\n' 07:52:25.797595 < 6 bytes data, client => server 07:52:25.797625 'QUIT\r\n' 07:52:25.797842 Received DATA (on stdin) 07:52:25.797855 > 34 bytes data, server => client 07:52:25.797866 '+OK curl POP3 server signing off\r\n' 07:52:25.799432 ====> Client disconnect 07:52:25.799610 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 ==154515== ==154515== Process terminating with default action of signal 4 (SIGILL) ==154515== Illegal opcode at address 0x4013DC0 ==154515== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154515== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154515== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154515== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1407 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/2/valgrind1412 ../src/curl -q --output log/2/curl1412.out --include --trace-ascii log/2/trace1412 --trace-time http://127.0.0.1:43955/1412 -u testuser:testpass --anyauth http://127.0.0.1:43955/14120001 > log/2/stdout1412 2> log/2/stderr1412 1412: 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/ dir 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/2/valgrind1412 ../src/curl -q --output log/2/curl1412.out --include --trace-ascii log/2/trace1412 --trace-time http://127.0.0.1:43955/1412 -u testuser:testpass --anyauth http://127.0.0.1:43955/14120001 > log/2/stdout1412 2> log/2/stderr1412 === End of file commands.log === Start of file http_server.log 07:52:26.932289 ====> Client connect 07:52:26.932336 accept_connection 3 returned 4 07:52:26.932355 accept_connection 3 returned 0 07:52:26.932515 Read 93 bytes 07:52:26.932535 Process 93 bytes request 07:52:26.932549 Got request: GET /verifiedserver HTTP/1.1 07:52:26.932560 Are-we-friendly question received 07:52:26.932591 Wrote request (93 bytes) input to log/2/server.input 07:52:26.932609 Identifying ourselves as friends 07:52:26.932665 Response sent (56 bytes) and written to log/2/server.response 07:52:26.932676 special request received, no persistency 07:52:26.932686 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 56440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1412 ==154610== ==154610== Process terminating with default action of signal 4 (SIGILL) ==154610== Illegal opcode at address 0x4013DC0 ==154610== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154610== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154610== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154610== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1412 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/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-time http://127.0.0.1:42717/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 1411: 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/ dir 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/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-time http://127.0.0.1:42717/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 === End of file commands.log === Start of file http_server.log 07:52:25.933868 ====> Client connect 07:52:25.933901 accept_connectCMD (33792): ../libtool --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/valgrind1415 ../src/curl -q --output log/7/curl1415.out --include --trace-ascii log/7/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/7/jar1415.txt -x 127.0.0.1:39661 > log/7/stdout1415 2> log/7/stderr1415 CMD (33792): ../libtool --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/valgrind1417 ../src/curl -q --output log/21/curl1417.out --include --trace-ascii log/21/trace1417 --trace-time http://127.0.0.1:45761/1417 -D log/21/heads1417 > log/21/stdout1417 2> log/21/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/10/valgrind1414 ../src/curl -q --output log/10/curl1414.out --include --trace-ascii log/10/trace1414 --trace-time ftp://127.0.0.1:36851/1414 -P - > log/10/stdout1414 2> log/10/stderr1414 ion 3 returned 4 07:52:25.933919 accept_connection 3 returned 0 07:52:25.933934 Read 93 bytes 07:52:25.933945 Process 93 bytes request 07:52:25.933957 Got request: GET /verifiedserver HTTP/1.1 07:52:25.933967 Are-we-friendly question received 07:52:25.933992 Wrote request (93 bytes) input to log/9/server.input 07:52:25.934010 Identifying ourselves as friends 07:52:25.934064 Response sent (56 bytes) and written to log/9/server.response 07:52:25.934075 special request received, no persistency 07:52:25.934085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 42106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1411 ==154609== ==154609== Process terminating with default action of signal 4 (SIGILL) ==154609== Illegal opcode at address 0x4013DC0 ==154609== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154609== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154609== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154609== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1411 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/7/valgrind1415 ../src/curl -q --output log/7/curl1415.out --include --trace-ascii log/7/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/7/jar1415.txt -x 127.0.0.1:39661 > log/7/stdout1415 2> log/7/stderr1415 1415: 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/ dir 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/7/valgrind1415 ../src/curl -q --output log/7/curl1415.out --include --trace-ascii log/7/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/7/jar1415.txt -x 127.0.0.1:39661 > log/7/stdout1415 2> log/7/stderr1415 === End of file commands.log === Start of file http_server.log 07:52:27.042201 ====> Client connect 07:52:27.042235 accept_connection 3 returned 4 07:52:27.042252 accept_connection 3 returned 0 07:52:27.042267 Read 93 bytes 07:52:27.042277 Process 93 bytes request 07:52:27.042292 Got request: GET /verifiedserver HTTP/1.1 07:52:27.042302 Are-we-friendly question received 07:52:27.042328 Wrote request (93 bytes) input to log/7/server.input 07:52:27.042346 Identifying ourselves as friends 07:52:27.042402 Response sent (56 bytes) and written to log/7/server.response 07:52:27.042413 special request received, no persistency 07:52:27.042423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 54718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1415 ==154765== ==154765== Process terminating with default action of signal 4 (SIGILL) ==154765== Illegal opcode at address 0x4013DC0 ==154765== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154765== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154765== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154765== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1415 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/21/valgrind1417 ../src/curl -q --output log/21/curl1417.out --include --trace-ascii log/21/trace1417 --trace-time http://127.0.0.1:45761/1417 -D log/21/heads1417 > log/21/stdout1417 2> log/21/stderr1417 1417: 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/ dir 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/21/valgrind1417 ../src/curl -q --output log/21/curl1417.out --include --trace-ascii log/21/trace1417 --trace-time http://127.0.0.1:45761/1417 -D log/21/heads1417 > log/21/stdout1417 2> log/21/stderr1417 === End of file commands.log === Start of file http_server.log 07:52:26.086670 ====> Client connect 07:52:26.086704 accept_connection 3 returned 4 07:52:26.086722 accept_connection 3 returned 0 07:52:26.086737 Read 93 bytes 07:52:26.086748 Process 93 bytes request 07:52:26.086762 Got request: GET /verifiedserver HTTP/1.1 07:52:26.086772 Are-we-friendly question received 07:52:26.086797 Wrote request (93 bytes) input to log/21/server.input 07:52:26.086816 Identifying ourselves as friends 07:52:26.086871 Response sent (56 bytes) and written to log/21/server.response 07:52:26.086882 special request received, no persistency 07:52:26.086892 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 45982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1417 ==154883== ==154883== Process terminating with default action of signal 4 (SIGILL) ==154883== Illegal opcode at address 0x4013DC0 ==154883== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154883== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154883== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154883== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1417 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/10/valgrind1414 ../src/curl -q --output log/10/curl1414.out --include --trace-ascii log/10/trace1414 --trace-time ftp://127.0.0.1:36851/1414 -P - > log/10/stdout1414 2> log/10/stderr1414 1414: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? TotCMD (33792): ../libtool --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/valgrind1418 ../src/curl -q --output log/5/curl1418.out --include --trace-ascii log/5/trace1418 --trace-time http://127.0.0.1:42797/1418 -u testuser:testpass --anyauth http://127.0.0.1:42797/14180003 > log/5/stdout1418 2> log/5/stderr1418 al curl failure? Returned: 132 == Contents of files in the log/10/ dir 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/10/valgrind1414 ../src/curl -q --output log/10/curl1414.out --include --trace-ascii log/10/trace1414 --trace-time ftp://127.0.0.1:36851/1414 -P - > log/10/stdout1414 2> log/10/stderr1414 === End of file commands.log === Start of file ftp_server.log 07:52:26.151363 ====> Client connect 07:52:26.151525 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:26.152647 < "USER anonymous" 07:52:26.152698 > "331 We are happy you popped in![CR][LF]" 07:52:26.152901 < "PASS ftp@example.com" 07:52:26.152936 > "230 Welcome you silly person[CR][LF]" 07:52:26.153117 < "PWD" 07:52:26.153155 > "257 "/" is current directory[CR][LF]" 07:52:26.153338 < "EPSV" 07:52:26.153364 ====> Passive DATA channel requested by client 07:52:26.153378 DATA sockfilt for passive data channel starting... 07:52:26.155400 DATA sockfilt for passive data channel started (pid 154624) 07:52:26.155518 DATA sockfilt for passive data channel listens on port 33223 07:52:26.155562 > "229 Entering Passive Mode (|||33223|)[CR][LF]" 07:52:26.155582 Client has been notified that DATA conn will be accepted on port 33223 07:52:26.155826 Client connects to port 33223 07:52:26.155858 ====> Client established passive DATA connection on port 33223 07:52:26.155933 < "TYPE I" 07:52:26.155965 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:26.156141 < "SIZE verifiedserver" 07:52:26.156182 > "213 17[CR][LF]" 07:52:26.156352 < "RETR verifiedserver" 07:52:26.156389 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:26.156479 =====> Closing passive DATA connection... 07:52:26.156499 Server disconnects passive DATA connection 07:52:26.156753 Server disconnected passive DATA connection 07:52:26.156786 DATA sockfilt for passive data channel quits (pid 154624) 07:52:26.157020 DATA sockfilt for passive data channel quit (pid 154624) 07:52:26.157047 =====> Closed passive DATA connection 07:52:26.157078 > "226 File transfer complete[CR][LF]" 07:52:26.204860 < "QUIT" 07:52:26.204913 > "221 bye bye baby[CR][LF]" 07:52:26.209140 MAIN sockfilt said DISC 07:52:26.209187 ====> Client disconnected 07:52:26.209260 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:25.979190 ====> Client connect 07:52:25.979480 Received DATA (on stdin) 07:52:25.979497 > 160 bytes data, server => client 07:52:25.979511 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:25.979523 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:25.979535 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:25.980396 < 16 bytes data, client => server 07:52:25.980420 'USER anonymous\r\n' 07:52:25.980647 Received DATA (on stdin) 07:52:25.980661 > 33 bytes data, server => client 07:52:25.980674 '331 We are happy you popped in!\r\n' 07:52:25.980732 < 22 bytes data, client => server 07:52:25.980746 'PASS ftp@example.com\r\n' 07:52:25.980880 Received DATA (on stdin) 07:52:25.980894 > 30 bytes data, server => client 07:52:25.980906 '230 Welcome you silly person\r\n' 07:52:25.980962 < 5 bytes data, client => server 07:52:25.980976 'PWD\r\n' 07:52:25.981098 Received DATA (on stdin) 07:52:25.981112 > 30 bytes data, server => client 07:52:25.981124 '257 "/" is current directory\r\n' 07:52:25.981185 < 6 bytes data, client => server 07:52:25.981200 'EPSV\r\n' 07:52:25.983528 Received DATA (on stdin) 07:52:25.983544 > 39 bytes data, server => client 07:52:25.983556 '229 Entering Passive Mode (|||33223|)\r\n' 07:52:25.983679 < 8 bytes data, client => server 07:52:25.983697 'TYPE I\r\n' 07:52:25.983909 Received DATA (on stdin) 07:52:25.983923 > 33 bytes data, server => client 07:52:25.983935 '200 I modify TYPE as you wanted\r\n' 07:52:25.983987 < 21 bytes data, client => server 07:52:25.984002 'SIZE verifiedserver\r\n' 07:52:25.984126 Received DATA (on stdin) 07:52:25.984139 > 8 bytes data, server => client 07:52:25.984150 '213 17\r\n' 07:52:25.984202 < 21 bytes data, client => server 07:52:25.984216 'RETR verifiedserver\r\n' 07:52:25.984444 Received DATA (on stdin) 07:52:25.984457 > 29 bytes data, server => client 07:52:25.984469 '150 Binary junk (17 bytes).\r\n' 07:52:25.985022 Received DATA (on stdin) 07:52:25.985046 > 28 bytes data, server => client 07:52:25.985059 '226 File transfer complete\r\n' 07:52:26.032625 < 6 bytes data, client => server 07:52:26.032657 'QUIT\r\n' 07:52:26.032861 Received DATA (on stdin) 07:52:26.032874 > 18 bytes data, server => client 07:52:26.032886 '221 bye bye baby\r\n' 07:52:26.037010 ====> Client disconnect 07:52:26.037201 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:26.983015 Running IPv4 version 07:52:26.983077 Listening on port 33223 07:52:26.983114 Wrote pid 154624 to log/10/server/ftp_sockdata.pid 07:52:26.983275 Received PING (on stdin) 07:52:26.983365 Received PORT (on stdin) 07:52:26.983718 ====> Client connect 07:52:26.984497 Received DATA (on stdin) 07:52:26.984511 > 17 bytes data, server => client 07:52:26.984523 'WE ROOLZ: 80620\r\n' 07:52:26.984548 Received DISC (on stdin) 07:52:26.984560 ====> Client forcibly disconnected 07:52:26.984739 Received QUIT (on stdin) 07:52:26.984752 quits 07:52:26.984814 ============> 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 ==154855== ==154855== Process terminating with default action of signal 4 (SIGILL) ==154855== Illegal opcode at address 0x4013DC0 ==154855== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154855== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154855== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154855== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1414 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/5/valgrind1418 ../src/curl -q --output log/5/curl1418.out --include --trace-ascii log/5/trace1418 --trace-time http://127.0.0.1:42797/1418 -u testuser:testpass --anyauth http://127.0.0.1:42797/14180003 > log/5/stdout1418 2> log/5/stderr1418 1418: 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/ dir 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/5/valgrind1418 ../src/curl -q --output log/5/curl1418.out --include --trace-ascii log/5/trace1418 --trace-time http://127.0.0.1:42797/1418 -u testuser:testpass --anyauth http://127.0.0.1:42797/14180003 > log/5/stdout1418 2> log/5/stderr1418 === End of file commands.log === Start of file http_server.log 07:52:26.112718 ====> Client connect 07:52:26.112757 accept_connection 3 returned 4 07:52:26.112777 accept_connection 3 returned 0 07:52:26.112939 Read 93 bytes 07:52:26.112957 Process 93 bytes request 07:52:26.112972 Got request: GET /verifiedserver HTTP/1.1 07:52:26.112982 Are-we-friendly question received 07:52:26.113015 Wrote request (93 bytes) input to log/5/server.input 07:52:26.113033 Identifying ourselves as friends 07:52:26.113091 Response sent (56 bytes) and written to log/5/server.response 07:52:26.113103 special request received, no persistency 07:52:26.113114 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127CMD (33792): ../libtool --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/valgrind1421 ../src/curl -q --include --trace-ascii log/22/trace1421 --trace-time --proxy http://127.0.0.1:40377 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/22/stdout1421 2> log/22/stderr1421 .0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file valgrind1418 ==154903== ==154903== Process terminating with default action of signal 4 (SIGILL) ==154903== Illegal opcode at address 0x4013DC0 ==154903== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154903== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154903== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154903== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1418 CMD (33792): ../libtool --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/valgrind1419 ../src/curl -q --output log/18/curl1419.out --include --trace-ascii log/18/trace1419 --trace-time http://127.0.0.1:46763/1419 --anyauth http://127.0.0.1:46763/14190003 > log/18/stdout1419 2> log/18/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/6/valgrind1422 ../src/curl -q --trace-ascii log/6/trace1422 --trace-time http://127.0.0.1:45933/1422 -J -O file:///startdir/src/build-curl/tests/log/6/name1422 --output-dir log/6 > log/6/stdout1422 2> log/6/stderr1422 test 1421...[Reusing HTTP proxy connection for two different host names] ../libtool --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/valgrind1421 ../src/curl -q --include --trace-ascii log/22/trace1421 --trace-time --proxy http://127.0.0.1:40377 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/22/stdout1421 2> log/22/stderr1421 1421: stdout FAILED: --- log/22/check-expected 2025-11-07 07:52:27.710707542 +0000 +++ log/22/check-generated 2025-11-07 07:52:27.707374208 +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/22/ dir 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/22/valgrind1421 ../src/curl -q --include --trace-ascii log/22/trace1421 --trace-time --proxy http://127.0.0.1:40377 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/22/stdout1421 2> log/22/stderr1421 === End of file commands.log === Start of file http_server.log 07:52:26.210983 ====> Client connect 07:52:26.211028 accept_connection 3 returned 4 07:52:26.211047 accept_connection 3 returned 0 07:52:26.211063 Read 93 bytes 07:52:26.211075 Process 93 bytes request 07:52:26.211089 Got request: GET /verifiedserver HTTP/1.1 07:52:26.211100 Are-we-friendly question received 07:52:26.211126 Wrote request (93 bytes) input to log/22/server.input 07:52:26.211143 Identifying ourselves as friends 07:52:26.211204 Response sent (56 bytes) and written to log/22/server.response 07:52:26.211215 special request received, no persistency 07:52:26.211225 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 52360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1421 ==155081== ==155081== Process terminating with default action of signal 4 (SIGILL) ==155081== Illegal opcode at address 0x4013DC0 ==155081== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155081== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155081== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155081== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1421 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/18/valgrind1419 ../src/curl -q --output log/18/curl1419.out --include --trace-ascii log/18/trace1419 --trace-time http://127.0.0.1:46763/1419 --anyauth http://127.0.0.1:46763/14190003 > log/18/stdout1419 2> log/18/stderr1419 1419: 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/ dir 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/18/valgrind1419 ../src/curl -q --output log/18/curl1419.out --include --trace-ascii log/18/trace1419 --trace-time http://127.0.0.1:46763/1419 --anyauth http://127.0.0.1:46763/14190003 > log/18/stdout1419 2> log/18/stderr1419 === End of file commands.log === Start of file http_server.log 07:52:27.166813 ====> Client connect 07:52:27.166850 accept_connection 3 returned 4 07:52:27.166867 accept_connection 3 returned 0 07:52:27.166883 Read 93 bytes 07:52:27.166894 Process 93 bytes request 07:52:27.166909 Got request: GET /verifiedserver HTTP/1.1 07:52:27.166919 Are-we-friendly question received 07:52:27.166946 Wrote request (93 bytes) input to log/18/server.input 07:52:27.166970 Identifying ourselves as friends 07:52:27.167025 Response sent (56 bytes) and written to log/18/server.response 07:52:27.167035 special request received, no persistency 07:52:27.167045 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 47204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1419 ==154986== ==154986== Process terminating with default action of signal 4 (SIGILL) ==154986== Illegal opcode at address 0x4013DC0 ==154986== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==154986== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154986== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==154986== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1419 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:45933/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/ dir 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:45933/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 07:52:26.298891 ====> Client connect 07:52:26.298928 accept_connection 3 returned 4 07:52:26.298947 accept_connection 3 returned 0 07:52:26.299633 Read 93 bytes 07:52:26.299655 Process 93 bytes request 07:52:26.299670 Got request: GET /verifiedserver HTTP/1.1 07:52:26.299681 Are-we-friendly question received 07:52:26.299719 Wrote request (93 bytes) input to log/6/server.input 07:52:26.299738 Identifying ourselves as friends 07:52:26.299793 Response sent (56 bytes) and written to log/6/server.response 07:52:26.299805 special request received, no persistency 07:52:26.CMD (33792): ../libtool --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/valgrind1420 ../src/curl -q --output log/4/curl1420.out --include --trace-ascii log/4/trace1420 --trace-time 'imap://127.0.0.1:43341/1420/;MAILINDEX=1' -u user:secret --libcurl log/4/test1420.c > log/4/stdout1420 2> log/4/stderr1420 CMD (33792): ../libtool --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/valgrind1423 ../src/curl -q --trace-ascii log/12/trace1423 --trace-time http://127.0.0.1:38023/1423 -o log/12/outfile1423 file:///startdir/src/build-curl/tests/log/12/outfile1423 > log/12/stdout1423 2> log/12/stderr1423 299815 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 52586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1422 ==155202== ==155202== Process terminating with default action of signal 4 (SIGILL) ==155202== Illegal opcode at address 0x4013DC0 ==155202== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155202== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155202== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155202== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1422 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/4/valgrind1420 ../src/curl -q --output log/4/curl1420.out --include --trace-ascii log/4/trace1420 --trace-time 'imap://127.0.0.1:43341/1420/;MAILINDEX=1' -u user:secret --libcurl log/4/test1420.c > log/4/stdout1420 2> log/4/stderr1420 1420: 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/ dir 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/4/valgrind1420 ../src/curl -q --output log/4/curl1420.out --include --trace-ascii log/4/trace1420 --trace-time 'imap://127.0.0.1:43341/1420/;MAILINDEX=1' -u user:secret --libcurl log/4/test1420.c > log/4/stdout1420 2> log/4/stderr1420 === End of file commands.log === Start of file imap_server.log 07:52:26.377968 ====> Client connect 07:52:26.378148 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:26.378629 < "A001 CAPABILITY" 07:52:26.378682 > "A001 BAD Command[CR][LF]" 07:52:26.378892 < "A002 LIST "verifiedserver" *" 07:52:26.378926 LIST_imap got "verifiedserver" * 07:52:26.378954 > "* LIST () "/" "WE ROOLZ: 118777"[CR][LF]" 07:52:26.378972 > "A002 OK LIST Completed[CR][LF]" 07:52:26.378987 return proof we are we 07:52:26.425601 < "A003 LOGOUT" 07:52:26.425680 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:26.425808 > "A003 OK LOGOUT completed[CR][LF]" 07:52:26.426092 MAIN sockfilt said DISC 07:52:26.426122 ====> Client disconnected 07:52:26.426194 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:26.205756 ====> Client connect 07:52:26.206108 Received DATA (on stdin) 07:52:26.206127 > 178 bytes data, server => client 07:52:26.206141 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:26.206153 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:26.206165 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:26.206175 'rve\r\n' 07:52:26.206266 < 17 bytes data, client => server 07:52:26.206281 'A001 CAPABILITY\r\n' 07:52:26.206627 Received DATA (on stdin) 07:52:26.206642 > 18 bytes data, server => client 07:52:26.206654 'A001 BAD Command\r\n' 07:52:26.206719 < 30 bytes data, client => server 07:52:26.206733 'A002 LIST "verifiedserver" *\r\n' 07:52:26.206927 Received DATA (on stdin) 07:52:26.206939 > 34 bytes data, server => client 07:52:26.206951 '* LIST () "/" "WE ROOLZ: 118777"\r\n' 07:52:26.206971 Received DATA (on stdin) 07:52:26.206980 > 24 bytes data, server => client 07:52:26.206991 'A002 OK LIST Completed\r\n' 07:52:26.253145 < 13 bytes data, client => server 07:52:26.253220 'A003 LOGOUT\r\n' 07:52:26.253622 Received DATA (on stdin) 07:52:26.253654 > 36 bytes data, server => client 07:52:26.253666 '* BYE curl IMAP server signing off\r\n' 07:52:26.253754 Received DATA (on stdin) 07:52:26.253767 > 26 bytes data, server => client 07:52:26.253779 'A003 OK LOGOUT completed\r\n' 07:52:26.253983 ====> Client disconnect 07:52:26.254135 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 ==155138== ==155138== Process terminating with default action of signal 4 (SIGILL) ==155138== Illegal opcode at address 0x4013DC0 ==155138== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155138== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155138== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155138== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1420 test 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/12/valgrind1423 ../src/curl -q --trace-ascii log/12/trace1423 --trace-time http://127.0.0.1:38023/1423 -o log/12/outfile1423 file:///startdir/src/build-curl/tests/log/12/outfile1423 > log/12/stdout1423 2> log/12/stderr1423 1423: 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/ dir 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/12/valgrind1423 ../src/curl -q --trace-ascii log/12/trace1423 --trace-time http://127.0.0.1:38023/1423 -o log/12/outfile1423 file:///startdir/src/build-curl/tests/log/12/outfile1423 > log/12/stdout1423 2> log/12/stderr1423 === End of file commands.log === Start of file http_server.log 07:52:26.378068 ====> Client connect 07:52:26.378105 accept_connection 3 returned 4 07:52:26.378123 accept_connection 3 returned 0 07:52:26.378141 Read 93 bytes 07:52:26.378152 Process 93 bytes request 07:52:26.378166 Got request: GET /verifiedserver HTTP/1.1 07:52:26.378177 Are-we-friendly question received 07:52:26.378210 Wrote request (93 bytes) input to log/12/server.input 07:52:26.378228 Identifying ourselves as friends 07:52:26.378293 Response sent (56 bytes) and written to log/12/server.response 07:52:26.378305 special request received, no persistency 07:52:26.378314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1423 ==155277== ==155277== Process terminating with default action of signal 4 (SIGILL) ==155277== Illegal opcode at address 0x4013DC0 ==155277== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155277== by 0x40037A4: UnknownInlinedFun (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/8/valgrind1408 ../src/curl -q --output log/8/curl1408.out --include --trace-ascii log/8/trace1408 --trace-time -c log/8/jar1408 -g http://[::1]:41581/path/14080001 http://[::1]:41581/path/14080002 > log/8/stdout1408 2> log/8/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/23/valgrind1427 ../src/curl -q --output log/23/curl1427.out --include --trace-ascii log/23/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/23/stdout1427 2> log/23/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:34835/1424 -z "dec 12 11:00:00 1999 GMT" -o log/19/outfile1424 > log/19/stdout1424 2> log/19/stderr1424 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/13/valgrind1416 ../src/curl -q --output log/13/curl1416.out --include --trace-ascii log/13/trace1416 --trace-time http://127.0.0.1:37965/1416 > log/13/stdout1416 2> log/13/stderr1416 3029) ==155277== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155277== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1423 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_ipv6_server.pid" --logfile "log/8/http_ipv6_server.log" --logdir "log/8" --portfile log/8/server/http_ipv6_server.port --config log/8/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 154217 port 41581 * pid http-ipv6 => 154217 154217 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/8/valgrind1408 ../src/curl -q --output log/8/curl1408.out --include --trace-ascii log/8/trace1408 --trace-time -c log/8/jar1408 -g http://[::1]:41581/path/14080001 http://[::1]:41581/path/14080002 > log/8/stdout1408 2> log/8/stderr1408 1408: 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/ dir 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/8/valgrind1408 ../src/curl -q --output log/8/curl1408.out --include --trace-ascii log/8/trace1408 --trace-time -c log/8/jar1408 -g http://[::1]:41581/path/14080001 http://[::1]:41581/path/14080002 > log/8/stdout1408 2> log/8/stderr1408 === End of file commands.log === Start of file http_ipv6_server.log 07:52:25.740205 Running HTTP IPv6 version on port 41581 07:52:25.741148 Wrote pid 154217 to log/8/server/http_ipv6_server.pid 07:52:25.741181 Wrote port 41581 to log/8/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 ==155398== ==155398== Process terminating with default action of signal 4 (SIGILL) ==155398== Illegal opcode at address 0x4013DC0 ==155398== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155398== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155398== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155398== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1408 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/23/valgrind1427 ../src/curl -q --output log/23/curl1427.out --include --trace-ascii log/23/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/23/stdout1427 2> log/23/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/23/ dir 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/23/valgrind1427 ../src/curl -q --output log/23/curl1427.out --include --trace-ascii log/23/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/23/stdout1427 2> log/23/stderr1427 === End of file commands.log === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==155415== ==155415== Process terminating with default action of signal 4 (SIGILL) ==155415== Illegal opcode at address 0x4013DC0 ==155415== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155415== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155415== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155415== by 0x40037A4: main (tool_main.c:199) === 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:34835/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/ dir 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:34835/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 07:52:26.797983 ====> Client connect 07:52:26.798020 accept_connection 3 returned 4 07:52:26.798039 accept_connection 3 returned 0 07:52:26.798338 Read 93 bytes 07:52:26.798356 Process 93 bytes request 07:52:26.798372 Got request: GET /verifiedserver HTTP/1.1 07:52:26.798383 Are-we-friendly question received 07:52:26.798415 Wrote request (93 bytes) input to log/19/server.input 07:52:26.798438 Identifying ourselves as friends 07:52:26.798523 Response sent (56 bytes) and written to log/19/server.response 07:52:26.798535 special request received, no persistency 07:52:26.798545 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 57550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1424 ==155476== ==155476== Process terminating with default action of signal 4 (SIGILL) ==155476== Illegal opcode at address 0x4013DC0 ==155476== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155476== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155476== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155476== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1424 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 154708 port 37965 * pid http => 154708 154708 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:37965/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/ dir 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=16env: ‘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/valgrind1429 ../src/curl -q --include --trace-ascii log/3/trace1429 --trace-time http://127.0.0.1:34059/1429 --write-out '%{response_code}' > log/3/stdout1429 2> log/3/stderr1429 --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:37965/1416 > log/13/stdout1416 2> log/13/stderr1416 === End of file commands.log === Start of file http_server.log 07:52:26.059132 Running HTTP IPv4 version on port 37965 07:52:26.059265 Wrote pid 154708 to log/13/server/http_server.pid 07:52:26.059319 Wrote port 37965 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1416 === End of file server.cmd === Start of file valgrind1416 ==155641== ==155641== Process terminating with default action of signal 4 (SIGILL) ==155641== Illegal opcode at address 0x4013DC0 ==155641== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155641== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155641== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155641== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1416 CMD (33792): ../libtool --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/valgrind1431 ../src/curl -q --output log/15/curl1431.out --include --trace-ascii log/15/trace1431 --trace-time http://127.0.0.1:43789/1431 > log/15/stdout1431 2> log/15/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/20/valgrind1430 ../src/curl -q --output log/20/curl1430.out --include --trace-ascii log/20/trace1430 --trace-time http://127.0.0.1:40357/1430 > log/20/stdout1430 2> log/20/stderr1430 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/3/valgrind1429 ../src/curl -q --include --trace-ascii log/3/trace1429 --trace-time http://127.0.0.1:34059/1429 --write-out '%{response_code}' > log/3/stdout1429 2> log/3/stderr1429 1429: stdout FAILED: --- log/3/check-expected 2025-11-07 07:52:28.504040883 +0000 +++ log/3/check-generated 2025-11-07 07:52:28.504040883 +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/3/ dir 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/3/valgrind1429 ../src/curl -q --include --trace-ascii log/3/trace1429 --trace-time http://127.0.0.1:34059/1429 --write-out '%{response_code}' > log/3/stdout1429 2> log/3/stderr1429 === End of file commands.log === Start of file http_server.log 07:52:28.027369 ====> Client connect 07:52:28.027407 accept_connection 3 returned 4 07:52:28.027425 accept_connection 3 returned 0 07:52:28.027692 Read 93 bytes 07:52:28.027728 Process 93 bytes request 07:52:28.027743 Got request: GET /verifiedserver HTTP/1.1 07:52:28.027754 Are-we-friendly question received 07:52:28.027785 Wrote request (93 bytes) input to log/3/server.input 07:52:28.027829 Identifying ourselves as friends 07:52:28.027891 Response sent (56 bytes) and written to log/3/server.response 07:52:28.027903 special request received, no persistency 07:52:28.027913 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 46232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1429 ==155644== ==155644== Process terminating with default action of signal 4 (SIGILL) ==155644== Illegal opcode at address 0x4013DC0 ==155644== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155644== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155644== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155644== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1429 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/15/valgrind1431 ../src/curl -q --output log/15/curl1431.out --include --trace-ascii log/15/trace1431 --trace-time http://127.0.0.1:43789/1431 > log/15/stdout1431 2> log/15/stderr1431 1431: 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/ dir 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/15/valgrind1431 ../src/curl -q --output log/15/curl1431.out --include --trace-ascii log/15/trace1431 --trace-time http://127.0.0.1:43789/1431 > log/15/stdout1431 2> log/15/stderr1431 === End of file commands.log === Start of file http_server.log 07:52:27.053239 ====> Client connect 07:52:27.053277 accept_connection 3 returned 4 07:52:27.053296 accept_connection 3 returned 0 07:52:27.053312 Read 93 bytes 07:52:27.053324 Process 93 bytes request 07:52:27.053338 Got request: GET /verifiedserver HTTP/1.1 07:52:27.053349 Are-we-friendly question received 07:52:27.053379 Wrote request (93 bytes) input to log/15/server.input 07:52:27.053403 Identifying ourselves as friends 07:52:27.053465 Response sent (56 bytes) and written to log/15/server.response 07:52:27.053478 special request received, no persistency 07:52:27.053488 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 46050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1431 ==155698== ==155698== Process terminating with default action of signal 4 (SIGILL) ==155698== Illegal opcode at address 0x4013DC0 ==155698== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155698== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155698== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155698== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1431 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/20/valgrind1430 ../src/curl -q --output log/20/curl1430.out --include --trace-ascii log/20/trace1430 --trace-time http://127.0.0.1:40357/1430 > log/20/stdout1430 2> log/20/stderr1430 1430: 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/ dir 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/20/valgrind1430 ../src/curl -q --output log/20/curl1430.out --include --trace-ascii log/20/trace1430 --trace-time http://127.0.0.1:40357/1430 > log/20/stdout1430 2> log/20/stderr1430 === End of file commands.log === Start of file http_server.log 07:52:27.055888 ====> Client connect 07:52:27.055924 accept_connection 3 returned 4 07:52:27.055942 accept_connection 3 returned 0 07:52:27.056553 Read 93 bytes 07:52:27.056576 Process 93 bytes request 07:52:27.056589 Got request: GET /verifiedserver HTTP/1.1 07:52:27.056599 Are-we-friendly question received 07:52:27.056644 Wrote request (93 bytes) input to log/20/server.input 07:52:27.056666 Identifying ourselves as friends 07:52:27.056723 Response sent (56 bytes) and written to log/20/server.response 07:52:27.056735 special request received, no persistencyCMD (33792): ../libtool --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/valgrind1432 ../src/curl -q --output log/24/curl1432.out --include --trace-ascii log/24/trace1432 --trace-time http://127.0.0.1:41843/1432 > log/24/stdout1432 2> log/24/stderr1432 CMD (33792): ../libtool --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/valgrind1433 ../src/curl -q --output log/16/curl1433.out --include --trace-ascii log/16/trace1433 --trace-time http://127.0.0.1:44351/1433 > log/16/stdout1433 2> log/16/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/14/valgrind1434 ../src/curl -q --output log/14/curl1434.out --include --trace-ascii log/14/trace1434 --trace-time http://127.0.0.1:34115/1434 -C 100 > log/14/stdout1434 2> log/14/stderr1434 07:52:27.056745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 59218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 17 WE ROOLZ: 74397 === End of file server.response === Start of file valgrind1430 ==155662== ==155662== Process terminating with default action of signal 4 (SIGILL) ==155662== Illegal opcode at address 0x4013DC0 ==155662== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155662== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155662== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155662== by 0x40037A4: main (tool_main.c:199) === 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/24/valgrind1432 ../src/curl -q --output log/24/curl1432.out --include --trace-ascii log/24/trace1432 --trace-time http://127.0.0.1:41843/1432 > log/24/stdout1432 2> log/24/stderr1432 1432: 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/ dir 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/24/valgrind1432 ../src/curl -q --output log/24/curl1432.out --include --trace-ascii log/24/trace1432 --trace-time http://127.0.0.1:41843/1432 > log/24/stdout1432 2> log/24/stderr1432 === End of file commands.log === Start of file http_server.log 07:52:27.154000 ====> Client connect 07:52:27.154135 accept_connection 3 returned 4 07:52:27.154154 accept_connection 3 returned 0 07:52:27.154528 Read 93 bytes 07:52:27.154547 Process 93 bytes request 07:52:27.154562 Got request: GET /verifiedserver HTTP/1.1 07:52:27.154572 Are-we-friendly question received 07:52:27.154605 Wrote request (93 bytes) input to log/24/server.input 07:52:27.154623 Identifying ourselves as friends 07:52:27.154674 Response sent (56 bytes) and written to log/24/server.response 07:52:27.154685 special request received, no persistency 07:52:27.154694 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 33418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === End of file http_verify.out === Start of file server.cmd Testnum 1432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74393 === End of file server.response === Start of file valgrind1432 ==155866== ==155866== Process terminating with default action of signal 4 (SIGILL) ==155866== Illegal opcode at address 0x4013DC0 ==155866== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155866== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155866== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155866== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1432 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/16/valgrind1433 ../src/curl -q --output log/16/curl1433.out --include --trace-ascii log/16/trace1433 --trace-time http://127.0.0.1:44351/1433 > log/16/stdout1433 2> log/16/stderr1433 1433: 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/ dir 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/16/valgrind1433 ../src/curl -q --output log/16/curl1433.out --include --trace-ascii log/16/trace1433 --trace-time http://127.0.0.1:44351/1433 > log/16/stdout1433 2> log/16/stderr1433 === End of file commands.log === Start of file http_server.log 07:52:27.110264 ====> Client connect 07:52:27.110301 accept_connection 3 returned 4 07:52:27.110320 accept_connection 3 returned 0 07:52:27.110336 Read 93 bytes 07:52:27.110347 Process 93 bytes request 07:52:27.110362 Got request: GET /verifiedserver HTTP/1.1 07:52:27.110373 Are-we-friendly question received 07:52:27.110399 Wrote request (93 bytes) input to log/16/server.input 07:52:27.110418 Identifying ourselves as friends 07:52:27.110476 Response sent (56 bytes) and written to log/16/server.response 07:52:27.110489 special request received, no persistency 07:52:27.110500 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 35092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1433 ==155762== ==155762== Process terminating with default action of signal 4 (SIGILL) ==155762== Illegal opcode at address 0x4013DC0 ==155762== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155762== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155762== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155762== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1433 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/14/valgrind1434 ../src/curl -q --output log/14/curl1434.out --include --trace-ascii log/14/trace1434 --trace-time http://127.0.0.1:34115/1434 -C 100 > log/14/stdout1434 2> log/14/stderr1434 1434: 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/ dir 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/14/valgrind1434 ../src/curl -q --output log/14/curl1434.out --include --trace-ascii log/14/trace1434 --trace-time http://127.0.0.1:34115/1434 -C 100 > log/14/stdout1434 2> log/14/stderr1434 === End of file commands.log === Start of file curl1434.out 012345678 012345678 012345678 012345678 012345678 012345678 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/valgrind1437 ../src/curl -q --output log/2/curl1437.out --include --trace-ascii log/2/trace1437 --trace-time http://127.0.0.1:43955/1437 -u testuser:testpass --digest > log/2/stdout1437 2> log/2/stderr1437 CMD (33792): ../libtool --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/valgrind1438 ../src/curl -q --include --trace-ascii log/9/trace1438 --trace-time http://127.0.0.1:42717/1438 --write-out '%{scheme}' > log/9/stdout1438 2> log/9/stderr1438 12345678 012345678 012345678 012345678 === End of file curl1434.out === Start of file http_server.log 07:52:27.173746 ====> Client connect 07:52:27.173776 accept_connection 3 returned 4 07:52:27.173792 accept_connection 3 returned 0 07:52:27.173807 Read 93 bytes 07:52:27.173818 Process 93 bytes request 07:52:27.173832 Got request: GET /verifiedserver HTTP/1.1 07:52:27.173842 Are-we-friendly question received 07:52:27.173865 Wrote request (93 bytes) input to log/14/server.input 07:52:27.173882 Identifying ourselves as friends 07:52:27.173932 Response sent (56 bytes) and written to log/14/server.response 07:52:27.173942 special request received, no persistency 07:52:27.173952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 50100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1434 ==155931== ==155931== Process terminating with default action of signal 4 (SIGILL) ==155931== Illegal opcode at address 0x4013DC0 ==155931== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==155931== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155931== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==155931== by 0x40037A4: main (tool_main.c:199) === 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/2/valgrind1437 ../src/curl -q --output log/2/curl1437.out --include --trace-ascii log/2/trace1437 --trace-time http://127.0.0.1:43955/1437 -u testuser:testpass --digest > log/2/stdout1437 2> log/2/stderr1437 1437: 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/ dir 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/2/valgrind1437 ../src/curl -q --output log/2/curl1437.out --include --trace-ascii log/2/trace1437 --trace-time http://127.0.0.1:43955/1437 -u testuser:testpass --digest > log/2/stdout1437 2> log/2/stderr1437 === End of file commands.log === Start of file http_server.log 07:52:28.347378 ====> Client connect 07:52:28.347419 accept_connection 3 returned 4 07:52:28.347439 accept_connection 3 returned 0 07:52:28.347456 Read 93 bytes 07:52:28.347468 Process 93 bytes request 07:52:28.347483 Got request: GET /verifiedserver HTTP/1.1 07:52:28.347495 Are-we-friendly question received 07:52:28.347523 Wrote request (93 bytes) input to log/2/server.input 07:52:28.347543 Identifying ourselves as friends 07:52:28.347606 Response sent (56 bytes) and written to log/2/server.response 07:52:28.347618 special request received, no persistency 07:52:28.347629 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 56444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind1437 ==156083== ==156083== Process terminating with default action of signal 4 (SIGILL) ==156083== Illegal opcode at address 0x4013DC0 ==156083== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156083== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156083== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156083== by 0x40037A4: main (tool_main.c:199) === 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/7/valgrind1439 ../src/curl -q --include --trace-ascii log/7/trace1439 --trace-time http://127.0.0.1:39661/1439 --write-out '%{http_version}' > log/7/stdout1439 2> log/7/stderr1439 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/9/valgrind1438 ../src/curl -q --include --trace-ascii log/9/trace1438 --trace-time http://127.0.0.1:42717/1438 --write-out '%{scheme}' > log/9/stdout1438 2> log/9/stderr1438 1438: stdout FAILED: --- log/9/check-expected 2025-11-07 07:52:28.744040884 +0000 +++ log/9/check-generated 2025-11-07 07:52:28.744040884 +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/9/ dir 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/9/valgrind1438 ../src/curl -q --include --trace-ascii log/9/trace1438 --trace-time http://127.0.0.1:42717/1438 --write-out '%{scheme}' > log/9/stdout1438 2> log/9/stderr1438 === End of file commands.log === Start of file http_server.log 07:52:27.347390 ====> Client connect 07:52:27.347428 accept_connection 3 returned 4 07:52:27.347450 accept_connection 3 returned 0 07:52:27.347465 Read 93 bytes 07:52:27.347476 Process 93 bytes request 07:52:27.347489 Got request: GET /verifiedserver HTTP/1.1 07:52:27.347499 Are-we-friendly question received 07:52:27.347527 Wrote request (93 bytes) input to log/9/server.input 07:52:27.347545 Identifying ourselves as friends 07:52:27.347604 Response sent (56 bytes) and written to log/9/server.response 07:52:27.347615 special request received, no persistency 07:52:27.347625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 42108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1438 ==156088== ==156088== Process terminating with default action of signal 4 (SIGILL) ==156088== Illegal opcode at address 0x4013DC0 ==156088== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156088== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156088== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156088== by 0x40037A4: main (tool_main.c:199) === 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/21/valgrind1440 ../src/curl -q --include --trace-ascii log/21/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/21/non-existent-file.txt --write-out '%{' > log/21/stdout1440 2> log/21/stderr1440 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/7/valgrind1439 ../src/curl -q --include --trace-ascii log/7/trace1439 --trace-time http://127.0.0.1:39661/1439 --write-out '%{http_version}' > log/7/stdout1439 2> log/7/stderr1439 1439: stdout FAILED: --- log/7/check-expected 2025-11-07 07:52:28.844040886 +0000 +++ log/7/check-generated 2025-11-07 07:52:28.844040886 +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/7/ dir 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/7/valgrind1439 ../src/curl -q --include --trace-ascii log/7/trace1439 --trace-time http://127.0.0.1:39661/1439 --write-out '%{http_version}' > log/7/stdout1439 2> log/7/stderr1439 === End of file commands.log === Start of file http_server.log 07:52:28.380391 ====> Client connect 07:52:28.380427 accept_connection 3 returned 4 07:52:28.380444 accept_connection 3 returned 0 07:52:28.380460 Read 93 bytes 07:52:28.380472 Process 93 bytes request 07:52:28.380487 Got request: GET /verifiedserver HTTP/1.1 07:52:28.380502 Are-we-friendly question received 07:52:28.380526 Wrote request (93 bytes) input to log/7/server.input 07:52:28.380545 Identifying ourselves as friends 07:52:28.380600 Response sent (56 bytes) and written to log/7/server.response 07:52:28.380612 special request received, no persistency 07:52:28.380622 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 54724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1439 ==156102== ==156102== Process terminating with default action of signal 4 (SIGILL) ==156102== Illegal opcode at address 0x4013DC0 ==156102== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156102== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156102== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156102== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1439 CMD (33792): ../libtool --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/valgrind1441 ../src/curl -q --include --trace-ascii log/10/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/10/non-existent-file.txt --write-out '%' > log/10/stdout1441 2> log/10/stderr1441 CMD (33792): ../libtool --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/valgrind1442 ../src/curl -q --include --trace-ascii log/5/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/5/non-existent-file.txt --write-out='\' > log/5/stdout1442 2> log/5/stderr1442 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/21/valgrind1440 ../src/curl -q --include --trace-ascii log/21/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/21/non-existent-file.txt --write-out '%{' > log/21/stdout1440 2> log/21/stderr1440 1440: stdout FAILED: --- log/21/check-expected 2025-11-07 07:52:28.934040887 +0000 +++ log/21/check-generated 2025-11-07 07:52:28.934040887 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/21/ dir 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/21/valgrind1440 ../src/curl -q --include --trace-ascii log/21/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/21/non-existent-file.txt --write-out '%{' > log/21/stdout1440 2> log/21/stderr1440 === End of file commands.log === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==156201== ==156201== Process terminating with default action of signal 4 (SIGILL) ==156201== Illegal opcode at address 0x4013DC0 ==156201== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156201== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156201== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156201== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1440 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/10/valgrind1441 ../src/curl -q --include --trace-ascii log/10/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/10/non-existent-file.txt --write-out '%' > log/10/stdout1441 2> log/10/stderr1441 1441: stdout FAILED: --- log/10/check-expected 2025-11-07 07:52:28.940707554 +0000 +++ log/10/check-generated 2025-11-07 07:52:28.940707554 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/10/ dir 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/10/valgrind1441 ../src/curl -q --include --trace-ascii log/10/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/10/non-existent-file.txt --write-out '%' > log/10/stdout1441 2> log/10/stderr1441 === End of file commands.log === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==156211== ==156211== Process terminating with default action of signal 4 (SIGILL) ==156211== Illegal opcode at address 0x4013DC0 ==156211== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156211== by 0x40037A4: main (tool_main.c:199) === 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/22/valgrind1443 ../src/curl -q --trace-ascii log/22/trace1443 --trace-time http://127.0.0.1:40377/1443 -O --remote-time --output-dir log/22 > log/22/stdout1443 2> log/22/stderr1443 CMD (256): /usr/bin/perl -e 'exit((stat("log/22/1443"))[9] != 960898200)' CMD (33792): ../libtool --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/valgrind1444 ../src/curl -q --output log/18/curl1444.out --include --trace-ascii log/18/trace1444 --trace-time ftp://127.0.0.1:34455/1444 --remote-time > log/18/stdout1444 2> log/18/stderr1444 CMD (256): /usr/bin/perl -e 'exit((stat("log/18/curl1444.out"))[9] != 1234567890)' 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/5/valgrind1442 ../src/curl -q --include --trace-ascii log/5/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/5/non-existent-file.txt --write-out='\' > log/5/stdout1442 2> log/5/stderr1442 1442: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:28.957374220 +0000 +++ log/5/check-generated 2025-11-07 07:52:28.957374220 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/5/ dir 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/5/valgrind1442 ../src/curl -q --include --trace-ascii log/5/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/5/non-existent-file.txt --write-out='\' > log/5/stdout1442 2> log/5/stderr1442 === End of file commands.log === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==156228== ==156228== Process terminating with default action of signal 4 (SIGILL) ==156228== Illegal opcode at address 0x4013DC0 ==156228== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156228== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156228== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156228== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1442 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/22/valgrind1443 ../src/curl -q --trace-ascii log/22/trace1443 --trace-time http://127.0.0.1:40377/1443 -O --remote-time --output-dir log/22 > log/22/stdout1443 2> log/22/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/22/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/22/ dir 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/22/valgrind1443 ../src/curl -q --trace-ascii log/22/trace1443 --trace-time http://127.0.0.1:40377/1443 -O --remote-time --output-dir log/22 > log/22/stdout1443 2> log/22/stderr1443 === End of file commands.log === Start of file http_server.log 07:52:27.589126 ====> Client connect 07:52:27.589171 accept_connection 3 returned 4 07:52:27.589192 accept_connection 3 returned 0 07:52:27.589207 Read 93 bytes 07:52:27.589218 Process 93 bytes request 07:52:27.589233 Got request: GET /verifiedserver HTTP/1.1 07:52:27.589244 Are-we-friendly question received 07:52:27.589267 Wrote request (93 bytes) input to log/22/server.input 07:52:27.589284 Identifying ourselves as friends 07:52:27.589336 Response sent (56 bytes) and written to log/22/server.response 07:52:27.589347 special request received, no persistency 07:52:27.589357 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 52376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1443 ==156349== ==156349== Process terminating with default action of signal 4 (SIGILL) ==156349== Illegal opcode at address 0x4013DC0 ==156349== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156349== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156349== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156349== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1443 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/18/valgrind1444 ../src/curl -q --output log/18/curl1444.out --include --trace-ascii log/18/trace1444 --trace-time ftp://127.0.0.1:34455/1444 --remote-time > log/18/stdout1444 2> log/18/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/18/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/18/ dir 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/18/valgrind1444 ../src/curl -q --output log/18/curl1444.out --include --trace-ascii log/18/trace1444 --trace-time ftp://127.0.0.1:34455/1444 --remote-time > log/18/stdout1444 2> log/18/stderr1444 === End of file commands.log === Start of file ftp_server.log 07:52:27.786046 ====> Client connect 07:52:27.786216 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:27.786519 < "USER anonymous" 07:52:27.786559 > "331 We are happy you popped in![CR][LF]" 07:52:27.786734 < "PASS ftp@example.com" 07:52:27.786764 > "230 Welcome you silly person[CR][LF]" 07:52:27.786913 < "PWD" 07:52:27.786945 > "257 "/" is current directory[CR][LF]" 07:52:27.787100 < "EPSV" 07:52:27.787123 ====> Passive DATA channel requested by client 07:52:27.787138 DATA sockfilt for passive data channel starting... 07:52:27.792686 DATA sockfilt for passive data channel started (pid 156368) 07:52:27.792820 DATA sockfilt for passive data channel listens on port 45123 07:52:27.792867 > "229 Entering Passive Mode (|||45123|)[CR][LF]" 07:52:27.792886 Client has been notified that DATA conn will be accepted on port 45123 07:52:27.793138 Client connects to port 45123 07:52:27.793172 ====> Client established passive DATA connection on port 45123 07:52:27.793300 < "TYPE I" 07:52:27.793334 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:27.793491 < "SIZE verifiedserver" 07:52:27.793528 > "213 17[CR][LF]" 07:52:27.793672 < "RETR verifiedserver" 07:52:27.793704 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:27.793786 =====> Closing passive DATA connection... 07:52:27.793801 Server disconnects passive DATA connection 07:52:27.793912 Server disconnected passive DATA connection 07:52:27.793932 DATA sockfilt for passive data channel quits (pid 156368) 07:52:27.794143 DATA sockfilt for passive data channel quit (pid 156368) 07:52:27.794165 =====> Closed passive DATA connection 07:52:27.794189 > "226 File transfer complete[CR][LF]" 07:52:27.834951 < "QUIT" 07:52:27.835004 > "221 bye bye baby[CR][LF]" 07:52:27.836075 MAIN sockfilt said DISC 07:52:27.836119 ====> Client disconnected 07:52:27.836191 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:28.613591 ====> Client connect 07:52:28.614171 Received DATA (on stdin) 07:52:28.614190 > 160 bytes data, server => client 07:52:28.614204 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:28.614216 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:28.614228 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:28.614310 < 16 bytes data, client => server 07:52:28.614323 'USER anonymous\r\n' 07:52:28.614502 Received DATA (on stdin) 07:52:28.614515 > 33 bytes data, server => client 07:52:28.614528 '33CMD (33792): ../libtool --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/valgrind1445 ../src/curl -q --output log/6/curl1445.out --include --trace-ascii log/6/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/test1445.dir/plainfile.txt --remote-time > log/6/stdout1445 2> log/6/stderr1445 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/6/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/6/curl1445.out"))[9] != 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/4/valgrind1447 ../src/curl -q --output log/4/curl1447.out --include --trace-ascii log/4/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/4/stdout1447 2> log/4/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/12/valgrind1448 ../src/curl -q --include --trace-ascii log/12/trace1448 --trace-time http://åäö.se:38023/1448 --resolve xn--4cab6c.se:38023:127.0.0.1 -L --connect-to 127.0.0.1:38023:127.0.0.1:38023 > log/12/stdout1448 2> log/12/stderr1448 1 We are happy you popped in!\r\n' 07:52:28.614579 < 22 bytes data, client => server 07:52:28.614591 'PASS ftp@example.com\r\n' 07:52:28.614703 Received DATA (on stdin) 07:52:28.614716 > 30 bytes data, server => client 07:52:28.614727 '230 Welcome you silly person\r\n' 07:52:28.614773 < 5 bytes data, client => server 07:52:28.614784 'PWD\r\n' 07:52:28.614885 Received DATA (on stdin) 07:52:28.614897 > 30 bytes data, server => client 07:52:28.614909 '257 "/" is current directory\r\n' 07:52:28.614962 < 6 bytes data, client => server 07:52:28.614974 'EPSV\r\n' 07:52:28.620834 Received DATA (on stdin) 07:52:28.620852 > 39 bytes data, server => client 07:52:28.620863 '229 Entering Passive Mode (|||45123|)\r\n' 07:52:28.621129 < 8 bytes data, client => server 07:52:28.621142 'TYPE I\r\n' 07:52:28.621274 Received DATA (on stdin) 07:52:28.621286 > 33 bytes data, server => client 07:52:28.621297 '200 I modify TYPE as you wanted\r\n' 07:52:28.621348 < 21 bytes data, client => server 07:52:28.621360 'SIZE verifiedserver\r\n' 07:52:28.621468 Received DATA (on stdin) 07:52:28.621479 > 8 bytes data, server => client 07:52:28.621489 '213 17\r\n' 07:52:28.621534 < 21 bytes data, client => server 07:52:28.621545 'RETR verifiedserver\r\n' 07:52:28.622131 Received DATA (on stdin) 07:52:28.622144 > 29 bytes data, server => client 07:52:28.622155 '150 Binary junk (17 bytes).\r\n' 07:52:28.622176 Received DATA (on stdin) 07:52:28.622187 > 28 bytes data, server => client 07:52:28.622197 '226 File transfer complete\r\n' 07:52:28.662718 < 6 bytes data, client => server 07:52:28.662746 'QUIT\r\n' 07:52:28.662948 Received DATA (on stdin) 07:52:28.662963 > 18 bytes data, server => client 07:52:28.662975 '221 bye bye baby\r\n' 07:52:28.663952 ====> Client disconnect 07:52:28.664132 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:27.617460 Running IPv4 version 07:52:27.617527 Listening on port 45123 07:52:27.617562 Wrote pid 156368 to log/18/server/ftp_sockdata.pid 07:52:27.620546 Received PING (on stdin) 07:52:27.620666 Received PORT (on stdin) 07:52:27.621026 ====> Client connect 07:52:27.621743 Received DATA (on stdin) 07:52:27.621756 > 17 bytes data, server => client 07:52:27.621767 'WE ROOLZ: 80643\r\n' 07:52:27.621792 Received DISC (on stdin) 07:52:27.621804 ====> Client forcibly disconnected 07:52:27.621875 Received QUIT (on stdin) 07:52:27.621886 quits 07:52:27.621936 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==156439== ==156439== Process terminating with default action of signal 4 (SIGILL) ==156439== Illegal opcode at address 0x4013DC0 ==156439== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156439== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156439== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156439== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1444 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/6/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/6/valgrind1445 ../src/curl -q --output log/6/curl1445.out --include --trace-ascii log/6/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/test1445.dir/plainfile.txt --remote-time > log/6/stdout1445 2> log/6/stderr1445 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/6/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/6/curl1445.out"))[9] != 946728000)' 1445: postcheck FAILED == Contents of files in the log/6/ dir 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/6/valgrind1445 ../src/curl -q --output log/6/curl1445.out --include --trace-ascii log/6/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/test1445.dir/plainfile.txt --remote-time > log/6/stdout1445 2> log/6/stderr1445 === End of file commands.log === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==156438== ==156438== Process terminating with default action of signal 4 (SIGILL) ==156438== Illegal opcode at address 0x4013DC0 ==156438== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156438== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156438== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156438== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1445 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/4/valgrind1447 ../src/curl -q --output log/4/curl1447.out --include --trace-ascii log/4/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/4/stdout1447 2> log/4/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind1447 ../src/curl -q --output log/4/curl1447.out --include --trace-ascii log/4/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/4/stdout1447 2> log/4/stderr1447 === End of file commands.log === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==156452== ==156452== Process terminating with default action of signal 4 (SIGILL) ==156452== Illegal opcode at address 0x4013DC0 ==156452== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156452== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156452== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156452== by 0x40037A4: main (tool_main.c:199) === 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/17/valgrind1428 ../src/curl -q --output log/17/curl1428.out --include --trace-ascii log/17/trace1428 --trace-time http://test.1428:42601/we/want/that/page/1428 -p -x 127.0.0.1:41655 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/17/stdout1428 2> log/17/stderr1428 CMD (33792): ../libtool --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/valgrind1449 ../src/curl -q --output log/8/curl1449.out --include --trace-ascii log/8/trace1449 --trace-time ftp://127.0.0.1:35961/1449 -r 36893488147419103232- > log/8/stdout1449 2> log/8/stderr1449 setenv LC_ALL = C.UTF-8 test 1448...[Redirect following to UTF-8 IDN host 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/12/valgrind1448 ../src/curl -q --include --trace-ascii log/12/trace1448 --trace-time http://åäö.se:38023/1448 --resolve xn--4cab6c.se:38023:127.0.0.1 -L --connect-to 127.0.0.1:38023:127.0.0.1:38023 > log/12/stdout1448 2> log/12/stderr1448 1448: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:29.260707557 +0000 +++ log/12/check-generated 2025-11-07 07:52:29.260707557 +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:38023/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/12/ dir 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:38023/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/12/valgrind1448 ../src/curl -q --include --trace-ascii log/12/trace1448 --trace-time http://åäö.se:38023/1448 --resolve xn--4cab6c.se:38023:127.0.0.1 -L --connect-to 127.0.0.1:38023:127.0.0.1:38023 > log/12/stdout1448 2> log/12/stderr1448 === End of file commands.log === Start of file http_server.log 07:52:27.807845 ====> Client connect 07:52:27.807877 accept_connection 3 returned 4 07:52:27.807895 accept_connection 3 returned 0 07:52:27.816756 Read 93 bytes 07:52:27.816786 Process 93 bytes request 07:52:27.816803 Got request: GET /verifiedserver HTTP/1.1 07:52:27.816814 Are-we-friendly question received 07:52:27.816855 Wrote request (93 bytes) input to log/12/server.input 07:52:27.816874 Identifying ourselves as friends 07:52:27.816938 Response sent (56 bytes) and written to log/12/server.response 07:52:27.816951 special request received, no persistency 07:52:27.816961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1448 ==156621== ==156621== Process terminating with default action of signal 4 (SIGILL) ==156621== Illegal opcode at address 0x4013DC0 ==156621== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156621== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156621== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156621== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1448 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_server.port --config log/17/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 155495 port 41655 * pid http-proxy => 155495 155495 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/17/valgrind1428 ../src/curl -q --output log/17/curl1428.out --include --trace-ascii log/17/trace1428 --trace-time http://test.1428:42601/we/want/that/page/1428 -p -x 127.0.0.1:41655 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/17/stdout1428 2> log/17/stderr1428 1428: 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/ dir 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/17/valgrind1428 ../src/curl -q --output log/17/curl1428.out --include --trace-ascii log/17/trace1428 --trace-time http://test.1428:42601/we/want/that/page/1428 -p -x 127.0.0.1:41655 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/17/stdout1428 2> log/17/stderr1428 === End of file commands.log === Start of file http2_server.log 07:52:27.880580 Run as proxy, CONNECT to host 127.0.0.1 07:52:27.880699 Running HTTP IPv4 version on port 41655 07:52:27.880742 Wrote pid 155495 to log/17/server/http2_server.pid 07:52:27.880771 Wrote port 41655 to log/17/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:27.842577 ====> Client connect 07:52:27.842615 accept_connection 3 returned 4 07:52:27.842634 accept_connection 3 returned 0 07:52:27.842650 Read 93 bytes 07:52:27.842661 Process 93 bytes request 07:52:27.842677 Got request: GET /verifiedserver HTTP/1.1 07:52:27.842688 Are-we-friendly question received 07:52:27.842712 Wrote request (93 bytes) input to log/17/server.input 07:52:27.842730 Identifying ourselves as friends 07:52:27.842793 Response sent (56 bytes) and written to log/17/server.response 07:52:27.842804 special request received, no persistency 07:52:27.842814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 34948 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1428 ==156644== ==156644== Process terminating with default action of signal 4 (SIGILL) ==156644== Illegal opcode at address 0x4013DC0 ==156644== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156644== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156644== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156644== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1428 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/8/valgrind1449 ../src/curl -q --output log/8/curl1449.out --include --trace-ascii log/8/trace1449 --trace-time ftp://127.0.0.1:35961/1449 -r 36893488147419103232- > log/8/stdout1449 2> log/8/stderr1449 1449: 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/11/valgrind1435 ../src/curl -q --output log/11/curl1435.out --include --trace-ascii log/11/trace1435 --trace-time --unix-socket /tmp/curl-http-YidSuZ_y http://server-interpreted.example.com/1435 > log/11/stdout1435 2> log/11/stderr1435 ile log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ dir 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/8/valgrind1449 ../src/curl -q --output log/8/curl1449.out --include --trace-ascii log/8/trace1449 --trace-time ftp://127.0.0.1:35961/1449 -r 36893488147419103232- > log/8/stdout1449 2> log/8/stderr1449 === End of file commands.log === Start of file ftp_server.log 07:52:28.255551 ====> Client connect 07:52:28.255727 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:28.256045 < "USER anonymous" 07:52:28.256099 > "331 We are happy you popped in![CR][LF]" 07:52:28.256285 < "PASS ftp@example.com" 07:52:28.256314 > "230 Welcome you silly person[CR][LF]" 07:52:28.271391 < "PWD" 07:52:28.271452 > "257 "/" is current directory[CR][LF]" 07:52:28.274849 < "EPSV" 07:52:28.274882 ====> Passive DATA channel requested by client 07:52:28.274897 DATA sockfilt for passive data channel starting... 07:52:28.279473 DATA sockfilt for passive data channel started (pid 156761) 07:52:28.279588 DATA sockfilt for passive data channel listens on port 44993 07:52:28.279637 > "229 Entering Passive Mode (|||44993|)[CR][LF]" 07:52:28.279656 Client has been notified that DATA conn will be accepted on port 44993 07:52:28.279904 Client connects to port 44993 07:52:28.279933 ====> Client established passive DATA connection on port 44993 07:52:28.280061 < "TYPE I" 07:52:28.280093 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:28.280261 < "SIZE verifiedserver" 07:52:28.280300 > "213 17[CR][LF]" 07:52:28.280460 < "RETR verifiedserver" 07:52:28.280491 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:28.280576 =====> Closing passive DATA connection... 07:52:28.280592 Server disconnects passive DATA connection 07:52:28.280771 Server disconnected passive DATA connection 07:52:28.280794 DATA sockfilt for passive data channel quits (pid 156761) 07:52:28.281196 DATA sockfilt for passive data channel quit (pid 156761) 07:52:28.281223 =====> Closed passive DATA connection 07:52:28.281262 > "226 File transfer complete[CR][LF]" 07:52:28.321662 < "QUIT" 07:52:28.321722 > "221 bye bye baby[CR][LF]" 07:52:28.327977 MAIN sockfilt said DISC 07:52:28.328028 ====> Client disconnected 07:52:28.328114 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:28.083363 ====> Client connect 07:52:28.083682 Received DATA (on stdin) 07:52:28.083699 > 160 bytes data, server => client 07:52:28.083712 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:28.083723 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:28.083733 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:28.083811 < 16 bytes data, client => server 07:52:28.083824 'USER anonymous\r\n' 07:52:28.084045 Received DATA (on stdin) 07:52:28.084059 > 33 bytes data, server => client 07:52:28.084070 '331 We are happy you popped in!\r\n' 07:52:28.084125 < 22 bytes data, client => server 07:52:28.084136 'PASS ftp@example.com\r\n' 07:52:28.084254 Received DATA (on stdin) 07:52:28.084265 > 30 bytes data, server => client 07:52:28.084277 '230 Welcome you silly person\r\n' 07:52:28.084321 < 5 bytes data, client => server 07:52:28.084332 'PWD\r\n' 07:52:28.102527 Received DATA (on stdin) 07:52:28.102555 > 30 bytes data, server => client 07:52:28.102568 '257 "/" is current directory\r\n' 07:52:28.102673 < 6 bytes data, client => server 07:52:28.102685 'EPSV\r\n' 07:52:28.107607 Received DATA (on stdin) 07:52:28.107625 > 39 bytes data, server => client 07:52:28.107638 '229 Entering Passive Mode (|||44993|)\r\n' 07:52:28.107894 < 8 bytes data, client => server 07:52:28.107908 'TYPE I\r\n' 07:52:28.108035 Received DATA (on stdin) 07:52:28.108047 > 33 bytes data, server => client 07:52:28.108059 '200 I modify TYPE as you wanted\r\n' 07:52:28.108113 < 21 bytes data, client => server 07:52:28.108125 'SIZE verifiedserver\r\n' 07:52:28.108240 Received DATA (on stdin) 07:52:28.108253 > 8 bytes data, server => client 07:52:28.108264 '213 17\r\n' 07:52:28.108315 < 21 bytes data, client => server 07:52:28.108327 'RETR verifiedserver\r\n' 07:52:28.108969 Received DATA (on stdin) 07:52:28.108983 > 29 bytes data, server => client 07:52:28.108995 '150 Binary junk (17 bytes).\r\n' 07:52:28.109204 Received DATA (on stdin) 07:52:28.109218 > 28 bytes data, server => client 07:52:28.109230 '226 File transfer complete\r\n' 07:52:28.149390 < 6 bytes data, client => server 07:52:28.149425 'QUIT\r\n' 07:52:28.149670 Received DATA (on stdin) 07:52:28.149685 > 18 bytes data, server => client 07:52:28.149698 '221 bye bye baby\r\n' 07:52:28.155844 ====> Client disconnect 07:52:28.156063 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:28.107070 Running IPv4 version 07:52:28.107146 Listening on port 44993 07:52:28.107181 Wrote pid 156761 to log/8/server/ftp_sockdata.pid 07:52:28.107355 Received PING (on stdin) 07:52:28.107441 Received PORT (on stdin) 07:52:28.107793 ====> Client connect 07:52:28.108536 Received DATA (on stdin) 07:52:28.108550 > 17 bytes data, server => client 07:52:28.108562 'WE ROOLZ: 80636\r\n' 07:52:28.108647 Received DISC (on stdin) 07:52:28.108661 ====> Client forcibly disconnected 07:52:28.108741 Received QUIT (on stdin) 07:52:28.108752 quits 07:52:28.108817 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==156773== ==156773== Process terminating with default action of signal 4 (SIGILL) ==156773== Illegal opcode at address 0x4013DC0 ==156773== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156773== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156773== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156773== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1449 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_unix_server.pid" --logfile "log/11/http_unix_server.log" --logdir "log/11" --portfile log/11/server/http_unix_server.port --config log/11/server.cmd --unix-socket '/tmp/curl-http-YidSuZ_y' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 155986 port 8999 * pid http-unix => 155986 155986 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/11/valgrind1435 ../src/curl -q --output log/11/curl1435.out --include --trace-ascii log/11/trace1435 --trace-time --unix-socket /tmp/curl-http-YidSuZ_y http://server-interpreted.example.com/1435 > log/11/stdout1435 2> log/11/stderr1435 1435: 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/ dir 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/11/valgrind1435 ../src/curl -q --output log/11/curl1435.out --include --trace-ascii log/11/trace1435 --trace-time --unix-socket /tmp/curl-http-YidSuZ_y http://server-interpreted.example.com/1435 > log/11/stdout1435 2> log/11/stderr1435 === End of file commands.log === Start of file http_unix_server.log 07:52:27.329755 Running HTTP unix version on /tmp/curl-http-YidSuZ_y 07:52:27.329848 Wrote pid 155986 to log/11/server/http_unix_server.pid 07:52:27.329880 Wrote port 8999 to log/11/server/http_unix_server.port === End of file http_unix_server.log === Start of file 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/1/valgrind1436 ../src/curl -q --include --trace-ascii log/1/trace1436 --trace-time --unix-socket /tmp/curl-http-oZfFY_ix http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/1/stdout1436 2> log/1/stderr1436 CMD (33792): ../libtool --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/valgrind1453 ../src/curl -q --output log/3/curl1453.out --include --trace-ascii log/3/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/3/stdout1453 2> log/3/stderr1453 erver.cmd Testnum 1435 === End of file server.cmd === Start of file valgrind1435 ==156827== ==156827== Process terminating with default action of signal 4 (SIGILL) ==156827== Illegal opcode at address 0x4013DC0 ==156827== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156827== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156827== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156827== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1435 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/1/stdout1477 2> log/1/stderr1477 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/3/stdout1478 2> log/3/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/15/valgrind1455 ../src/curl -q --output log/15/curl1455.out --include --trace-ascii log/15/trace1455 --trace-time http://127.0.0.1:43789/1455 --haproxy-protocol -H "Testno: 1455" > log/15/stdout1455 2> log/15/stderr1455 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_unix_server.pid" --logfile "log/1/http_unix_server.log" --logdir "log/1" --portfile log/1/server/http_unix_server.port --config log/1/server.cmd --unix-socket '/tmp/curl-http-oZfFY_ix' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 155994 port 8999 * pid http-unix => 155994 155994 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/1/valgrind1436 ../src/curl -q --include --trace-ascii log/1/trace1436 --trace-time --unix-socket /tmp/curl-http-oZfFY_ix http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/1/stdout1436 2> log/1/stderr1436 1436: stdout FAILED: --- log/1/check-expected 2025-11-07 07:52:29.650707561 +0000 +++ log/1/check-generated 2025-11-07 07:52:29.650707561 +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/1/ dir 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/1/valgrind1436 ../src/curl -q --include --trace-ascii log/1/trace1436 --trace-time --unix-socket /tmp/curl-http-oZfFY_ix http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/1/stdout1436 2> log/1/stderr1436 === End of file commands.log === Start of file http_unix_server.log 07:52:27.307543 Running HTTP unix version on /tmp/curl-http-oZfFY_ix 07:52:27.307629 Wrote pid 155994 to log/1/server/http_unix_server.pid 07:52:27.307661 Wrote port 8999 to log/1/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 ==156845== ==156845== Process terminating with default action of signal 4 (SIGILL) ==156845== Illegal opcode at address 0x4013DC0 ==156845== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156845== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156845== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156845== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1436 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/3/valgrind1453 ../src/curl -q --output log/3/curl1453.out --include --trace-ascii log/3/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/3/stdout1453 2> log/3/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind1453 ../src/curl -q --output log/3/curl1453.out --include --trace-ascii log/3/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/3/stdout1453 2> log/3/stderr1453 === End of file commands.log === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==156910== ==156910== Process terminating with default action of signal 4 (SIGILL) ==156910== Illegal opcode at address 0x4013DC0 ==156910== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==156910== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156910== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==156910== by 0x40037A4: main (tool_main.c:199) === 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/1/stdout1477 2> log/1/stderr1477 valgrind SKIPPED s------e--- OK (1404 out of 1746, remaining: 00:26, took 0.032s, duration: 01:48) 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/3/stdout1478 2> log/3/stderr1478 valgrind SKIPPED s------e--- OK (1405 out of 1746, remaining: 00:26, took 0.061s, duration: 01:48) 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/15/valgrind1455 ../src/curl -q --output log/15/curl1455.out --include --trace-ascii log/15/trace1455 --trace-time http://127.0.0.1:43789/1455 --haproxy-protocol -H "Testno: 1455" > log/15/stdout1455 2> log/15/stderr1455 1455: 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/ dir 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/15/valgrind1455 ../src/curl -q --output log/15/curl1455.out --include --trace-ascii log/15/trace1455 --trace-time http://127.0.0.1:43789/1455 --haproxy-protocol -H "Testno: 1455" > log/15/stdout1455 2> log/15/stderr1455 === End of file commands.log === Start of file http_server.log 07:52:28.402986 ====> Client connect 07:52:28.403023 accept_connection 3 returned 4 07:52:28.403041 accept_connection 3 returned 0 07:52:28.403057 Read 93 bytes 07:52:28.403068 Process 93 bytes request 07:52:28.403084 Got request: GET /verifiedserver HTTP/1.1 07:52:28.403095 Are-we-friendly question received 07:52:28.403123 Wrote request (93 bytes) input to log/15/server.input 07:52:28.403142 Identifying ourselves as friends 07:52:28.403200 Response sent (56 bytes) and written to log/15/server.response 07:52:28.403212 special request received, no persistency 07:52:28.403223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 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/14/valgrind1460 ../src/curl -q --trace-ascii log/14/trace1460 --trace-time http://127.0.0.1:34115/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/24/valgrind1457 ../src/curl -q --include --trace-ascii log/24/trace1457 --trace-time http://127.0.0.1:41843/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/24/stdout1457 2> log/24/stderr1457 .0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 46052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 17 WE ROOLZ: 74402 === End of file server.response === Start of file valgrind1455 ==157022== ==157022== Process terminating with default action of signal 4 (SIGILL) ==157022== Illegal opcode at address 0x4013DC0 ==157022== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157022== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157022== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157022== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1455 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:34115/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/ dir 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:34115/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 07:52:28.497045 ====> Client connect 07:52:28.497080 accept_connection 3 returned 4 07:52:28.497098 accept_connection 3 returned 0 07:52:28.497114 Read 93 bytes 07:52:28.497126 Process 93 bytes request 07:52:28.497140 Got request: GET /verifiedserver HTTP/1.1 07:52:28.497151 Are-we-friendly question received 07:52:28.497211 Wrote request (93 bytes) input to log/14/server.input 07:52:28.497239 Identifying ourselves as friends 07:52:28.497301 Response sent (56 bytes) and written to log/14/server.response 07:52:28.497313 special request received, no persistency 07:52:28.497325 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 50114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind1460 ==157150== ==157150== Process terminating with default action of signal 4 (SIGILL) ==157150== Illegal opcode at address 0x4013DC0 ==157150== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157150== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157150== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157150== by 0x40037A4: main (tool_main.c:199) === 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/16/valgrind1458 ../src/curl -q --output log/16/curl1458.out --include --trace-ascii log/16/trace1458 --trace-time --resolve *:44351:127.0.0.1 http://example.com:44351/1458 > log/16/stdout1458 2> log/16/stderr1458 CMD (33792): ../libtool --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/valgrind1462 ../src/curl -q --include --trace-ascii log/2/trace1462 --trace-time --help sdfafdsfadsfsd > log/2/stdout1462 2> log/2/stderr1462 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/24/valgrind1457 ../src/curl -q --include --trace-ascii log/24/trace1457 --trace-time http://127.0.0.1:41843/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/24/stdout1457 2> log/24/stderr1457 1457: stdout FAILED: --- log/24/check-expected 2025-11-07 07:52:29.847374229 +0000 +++ log/24/check-generated 2025-11-07 07:52:29.847374229 +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/24/ dir 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/24/valgrind1457 ../src/curl -q --include --trace-ascii log/24/trace1457 --trace-time http://127.0.0.1:41843/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/24/stdout1457 2> log/24/stderr1457 === End of file commands.log === Start of file http_server.log 07:52:28.416167 ====> Client connect 07:52:28.416200 accept_connection 3 returned 4 07:52:28.416218 accept_connection 3 returned 0 07:52:28.416233 Read 93 bytes 07:52:28.416243 Process 93 bytes request 07:52:28.416258 Got request: GET /verifiedserver HTTP/1.1 07:52:28.416268 Are-we-friendly question received 07:52:28.416291 Wrote request (93 bytes) input to log/24/server.input 07:52:28.416308 Identifying ourselves as friends 07:52:28.416373 Response sent (56 bytes) and written to log/24/server.response 07:52:28.416385 special request received, no persistency 07:52:28.416394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 33420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1457 ==157019== ==157019== Process terminating with default action of signal 4 (SIGILL) ==157019== Illegal opcode at address 0x4013DC0 ==157019== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157019== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157019== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157019== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1457 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/16/valgrind1458 ../src/curl -q --output log/16/curl1458.out --include --trace-ascii log/16/trace1458 --trace-time --resolve *:44351:127.0.0.1 http://example.com:44351/1458 > log/16/stdout1458 2> log/16/stderr1458 1458: 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/ dir 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/16/valgrind1458 ../src/curl -q --output log/16/curl1458.out --include --trace-ascii log/16/trace1458 --trace-time --resolve *:44351:127.0.0.1 http://example.com:44351/1458 > log/16/stdout1458 2> log/16/stderr1458 === End of file commands.log === Start of file http_server.log 07:52:28.425899 ====> Client connect 07:52:28.425933 accept_connection 3 returned 4 07:52:28.425952 accept_connection 3 returned 0 07:52:28.426079 Read 93 bytes 07:52:28.426092 Process 93 bytes request 07:52:28.426106 Got request: GET /verifiedserver HTTP/1.1 07:52:28.426117 Are-we-friendly question received 07:52:28.426145 Wrote request (93 bytes) input to log/16/server.input 07:52:28.426161 Identifying ourselves as friends 07:52:28.426213 Response sent (56 bytes) and written to log/16/server.response 07:52:28.426224 special request received, no persistency 07:52:28.426234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 35098 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1458 ==157028== ==157028== Process terminating with default action of signal 4 (SIGILL) ==157028== Illegal opcode at address 0x4013DC0 ==157028== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157028== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157028== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157028== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1458 CMD (33792): ../libtool --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/valgrind1463 ../src/curl -q --include --trace-ascii log/9/trace1463 --trace-time --help file > log/9/stdout1463 2> log/9/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/2/valgrind1462 ../src/curl -q --include --trace-ascii log/2/trace1462 --trace-time --help sdfafdsfadsfsd > log/2/stdout1462 2> log/2/stderr1462 1462: stdout FAILED: --- log/2/check-expected 2025-11-07 07:52:29.937374229 +0000 +++ log/2/check-generated 2025-11-07 07:52:29.937374229 +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/2/ dir 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/2/valgrind1462 ../src/curl -q --include --trace-ascii log/2/trace1462 --trace-time --help sdfafdsfadsfsd > log/2/stdout1462 2> log/2/stderr1462 === End of file commands.log === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==157233== ==157233== Process terminating with default action of signal 4 (SIGILL) ==157233== Illegal opcode at address 0x4013DC0 ==157233== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1462 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/9/stdout1486 2> log/9/stderr1486 CMD (33792): ../libtool --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/valgrind1464 ../src/curl -q --include --trace-ascii log/7/trace1464 --trace-time --help fIlE > log/7/stdout1464 2> log/7/stderr1464 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/9/valgrind1463 ../src/curl -q --include --trace-ascii log/9/trace1463 --trace-time --help file > log/9/stdout1463 2> log/9/stderr1463 1463: stdout FAILED: --- log/9/check-expected 2025-11-07 07:52:29.950707563 +0000 +++ log/9/check-generated 2025-11-07 07:52:29.950707563 +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/ dir 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/9/valgrind1463 ../src/curl -q --include --trace-ascii log/9/trace1463 --trace-time --help file > log/9/stdout1463 2> log/9/stderr1463 === End of file commands.log === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==157238== ==157238== Process terminating with default action of signal 4 (SIGILL) ==157238== Illegal opcode at address 0x4013DC0 ==157238== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157238== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157238== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157238== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1463 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/9/stdout1486 2> log/9/stderr1486 valgrind SKIPPED s------e--- OK (1413 out of 1746, remaining: 00:25, took 0.017s, duration: 01:48) 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/7/stdout1488 2> log/7/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/21/valgrind1465 ../src/curl -q --output log/21/curl1465.out --include --trace-ascii log/21/trace1465 --trace-time http://127.0.0.1:45761/we/want/1465 --libcurl log/21/test1465.c --data-binary @log/21/1465-upload > log/21/stdout1465 2> log/21/stderr1465 CMD (33792): ../libtool --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/valgrind1472 ../src/curl -q --output log/4/curl1472.out --include --trace-ascii log/4/trace1472 --trace-time tasty.onion. > log/4/stdout1472 2> log/4/stderr1472 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/7/valgrind1464 ../src/curl -q --include --trace-ascii log/7/trace1464 --trace-time --help fIlE > log/7/stdout1464 2> log/7/stderr1464 1464: stdout FAILED: --- log/7/check-expected 2025-11-07 07:52:30.050707564 +0000 +++ log/7/check-generated 2025-11-07 07:52:30.050707564 +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/7/ dir 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/7/valgrind1464 ../src/curl -q --include --trace-ascii log/7/trace1464 --trace-time --help fIlE > log/7/stdout1464 2> log/7/stderr1464 === End of file commands.log === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==157301== ==157301== Process terminating with default action of signal 4 (SIGILL) ==157301== Illegal opcode at address 0x4013DC0 ==157301== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157301== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157301== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157301== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1464 test 1488...[symbols-in-versions and manpages 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/7/stdout1488 2> log/7/stderr1488 valgrind SKIPPED s------e--- OK (1415 out of 1746, remaining: 00:25, took 0.036s, duration: 01:48) 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/21/valgrind1465 ../src/curl -q --output log/21/curl1465.out --include --trace-ascii log/21/trace1465 --trace-time http://127.0.0.1:45761/we/want/1465 --libcurl log/21/test1465.c --data-binary @log/21/1465-upload > log/21/stdout1465 2> log/21/stderr1465 1465: 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/ dir 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/21/valgrind1465 ../src/curl -q --output log/21/curl1465.out --include --trace-ascii log/21/trace1465 --trace-time http://127.0.0.1:45761/we/want/1465 --libcurl log/21/test1465.c --data-binary @log/21/1465-upload > log/21/stdout1465 2> log/21/stderr1465 === End of file commands.log === Start of file http_server.log 07:52:28.828431 ====> Client connect 07:52:28.828466 accept_connection 3 returned 4 07:52:28.828486 accept_connection 3 returned 0 07:52:28.828502 Read 93 bytes 07:52:28.828514 Process 93 bytes request 07:52:28.828529 Got request: GET /verifiedserver HTTP/1.1 07:52:28.828539 Are-we-friendly question received 07:52:28.828568 Wrote request (93 bytes) input to log/21/server.input 07:52:28.828586 Identifying ourselves as friends 07:52:28.828643 Response sent (56 bytes) and written to log/21/server.response 07:52:28.828655 special request received, no persistency 07:52:28.828666 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 45992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1465 ==157457== ==157457== Process terminating with default action of signal 4 (SIGILL) ==157457== Illegal opcode at address 0x4013DC0 ==157457== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157457== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157457== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157457== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1465 CMD (33792): ../libtool --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/valgrind1466 ../src/curl -q --output log/10/curl1466.out --include --trace-ascii log/10/trace1466 --trace-time http://127.0.0.1:34041/1466 > log/10/stdout1466 2> log/10/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/18/valgrind1469 ../src/curl -q --output log/18/curl1469.out --include --trace-ascii log/18/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/18/irrelevant-file > log/18/stdout1469 2> log/18/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/6/valgrind1471 ../src/curl -q --output log/6/curl1471.out --include --trace-ascii log/6/trace1471 --trace-time red.onion > log/6/stdout1471 2> log/6/stderr1471 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/4/valgrind1472 ../src/curl -q --output log/4/curl1472.out --include --trace-ascii log/4/trace1472 --trace-time tasty.onion. > log/4/stdout1472 2> log/4/stderr1472 1472: stderr FAILED: --- log/4/check-expected 2025-11-07 07:52:30.194040899 +0000 +++ log/4/check-generated 2025-11-07 07:52:30.194040899 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/4/ dir 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/4/valgrind1472 ../src/curl -q --output log/4/curl1472.out --include --trace-ascii log/4/trace1472 --trace-time tasty.onion. > log/4/stdout1472 2> log/4/stderr1472 === End of file commands.log === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==157628== ==157628== Process terminating with default action of signal 4 (SIGILL) ==157628== Illegal opcode at address 0x4013DC0 ==157628== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157628== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157628== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157628== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1472 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/10/valgrind1466 ../src/curl -q --output log/10/curl1466.out --include --trace-ascii log/10/trace1466 --trace-time http://127.0.0.1:34041/1466 > log/10/stdout1466 2> log/10/stderr1466 1466: 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/ dir 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/10/valgrind1466 ../src/curl -q --output log/10/curl1466.out --include --trace-ascii log/10/trace1466 --trace-time http://127.0.0.1:34041/1466 > log/10/stdout1466 2> log/10/stderr1466 === End of file commands.log === Start of file http_server.log 07:52:28.819825 ====> Client connect 07:52:28.819860 accept_connection 3 returned 4 07:52:28.819877 accept_connection 3 returned 0 07:52:28.819892 Read 93 bytes 07:52:28.819903 Process 93 bytes request 07:52:28.819916 Got request: GET /verifiedserver HTTP/1.1 07:52:28.819926 Are-we-friendly question received 07:52:28.819962 Wrote request (93 bytes) input to log/10/server.input 07:52:28.819981 Identifying ourselves as friends 07:52:28.820038 Response sent (56 bytes) and written to log/10/server.response 07:52:28.820048 special request received, no persistency 07:52:28.820058 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 37226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1466 ==157450== ==157450== Process terminating with default action of signal 4 (SIGILL) ==157450== Illegal opcode at address 0x4013DC0 ==157450== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157450== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157450== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157450== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1466 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/18/valgrind1469 ../src/curl -q --output log/18/curl1469.out --include --trace-ascii log/18/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/18/irrelevant-file > log/18/stdout1469 2> log/18/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind1469 ../src/curl -q --output log/18/curl1469.out --include --trace-ascii log/18/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/18/irrelevant-file > log/18/stdout1469 2> log/18/stderr1469 === End of file commands.log === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==157543== ==157543== Process terminating with default action of signal 4 (SIGILL) ==157543== Illegal opcode at address 0x4013DC0 ==157543== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157543== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157543== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157543== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1469 CMD (33792): ../libtool --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/valgrind1473 ../src/curl -q --output log/12/curl1473.out --include --trace-ascii log/12/trace1473 --trace-time http://127.0.0.1:38023/1473 > log/12/stdout1473 2> log/12/stderr1473 CMD (33792): ../libtool --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/valgrind1474 ../src/curl -q --output log/17/curl1474.out --include --trace-ascii log/17/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/17/stdout1474 2> log/17/stderr1474 CMD (33792): ../libtool --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/valgrind1456 ../src/curl -q --output log/20/curl1456.out --include --trace-ascii log/20/trace1456 --trace-time -g "http://[::1]:38489/1456" --haproxy-protocol > log/20/stdout1456 2> log/20/stderr1456 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/6/valgrind1471 ../src/curl -q --output log/6/curl1471.out --include --trace-ascii log/6/trace1471 --trace-time red.onion > log/6/stdout1471 2> log/6/stderr1471 1471: stderr FAILED: --- log/6/check-expected 2025-11-07 07:52:30.274040900 +0000 +++ log/6/check-generated 2025-11-07 07:52:30.274040900 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/6/ dir 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/6/valgrind1471 ../src/curl -q --output log/6/curl1471.out --include --trace-ascii log/6/trace1471 --trace-time red.onion > log/6/stdout1471 2> log/6/stderr1471 === End of file commands.log === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==157630== ==157630== Process terminating with default action of signal 4 (SIGILL) ==157630== Illegal opcode at address 0x4013DC0 ==157630== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157630== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157630== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157630== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1471 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/12/valgrind1473 ../src/curl -q --output log/12/curl1473.out --include --trace-ascii log/12/trace1473 --trace-time http://127.0.0.1:38023/1473 > log/12/stdout1473 2> log/12/stderr1473 1473: 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/ dir 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/12/valgrind1473 ../src/curl -q --output log/12/curl1473.out --include --trace-ascii log/12/trace1473 --trace-time http://127.0.0.1:38023/1473 > log/12/stdout1473 2> log/12/stderr1473 === End of file commands.log === Start of file http_server.log 07:52:29.123067 ====> Client connect 07:52:29.123100 accept_connection 3 returned 4 07:52:29.123118 accept_connection 3 returned 0 07:52:29.123135 Read 93 bytes 07:52:29.123146 Process 93 bytes request 07:52:29.123161 Got request: GET /verifiedserver HTTP/1.1 07:52:29.123172 Are-we-friendly question received 07:52:29.123200 Wrote request (93 bytes) input to log/12/server.input 07:52:29.123217 Identifying ourselves as friends 07:52:29.123270 Response sent (56 bytes) and written to log/12/server.response 07:52:29.123281 special request received, no persistency 07:52:29.123291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1473 ==157746== ==157746== Process terminating with default action of signal 4 (SIGILL) ==157746== Illegal opcode at address 0x4013DC0 ==157746== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157746== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157746== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157746== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1473 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/17/valgrind1474 ../src/curl -q --output log/17/curl1474.out --include --trace-ascii log/17/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/17/stdout1474 2> log/17/stderr1474 curl returned 132, when expecting 1 1474: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind1474 ../src/curl -q --output log/17/curl1474.out --include --trace-ascii log/17/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/17/stdout1474 2> log/17/stderr1474 === End of file commands.log === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==157786== ==157786== Process terminating with default action of signal 4 (SIGILL) ==157786== Illegal opcode at address 0x4013DC0 ==157786== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157786== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157786== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157786== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1474 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_ipv6_server.pid" --logfile "log/20/http_ipv6_server.log" --logdir "log/20" --portfile log/20/server/http_ipv6_server.port --config log/20/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 156906 port 38489 * pid http-ipv6 => 156906 156906 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/20/valgrind1456 ../src/curl -q --output log/20/curl1456.out --include --trace-ascii log/20/trace1456 --trace-time -g "http://[::1]:38489/1456" --haproxy-protocol > log/20/stdout1456 2> log/20/stderr1456 1456: 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/ dir 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/20/valgrind1456 ../src/curl -q --output log/20/curl1456.out --include --trace-ascii log/20/trace1456 --trace-time -g "http://[::1]:38489/1456" --haproxy-protocol > log/20/stdout1456 2> log/20/stderr1456 === End of file commands.log === Start of file http_ipv6_server.log 07:52:28.395937 Running HTTP IPv6 version on port 38489 07:52:28.396057 Wrote pid 156906 to log/20/server/http_ipv6_server.pid 07:52:28.396101 Wrote port 38489 to log/20/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1456 === End of file server.cmd === Start of file valgrind1456 ==157882== ==157882== Process terminating with default action of signal 4 (SIGILL) ==157882== Illegal opcode at address 0x4013DC0 ==157882== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157882== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157882== by 0x40037CMD (33792): ../libtool --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/valgrind1475 ../src/curl -q --output log/8/curl1475.out --include --trace-ascii log/8/trace1475 --trace-time http://127.0.0.1:36147/1475 -C - -f > log/8/stdout1475 2> log/8/stderr1475 RUN: Process with pid 74664 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/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:43955/1485 > log/2/stdout1485 2> log/2/stderr1485 RUN: Process with pid 74664 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/1/valgrind1479 ../src/curl -q --output log/1/curl1479.out --include --trace-ascii log/1/trace1479 --trace-time http://127.0.0.1:35709/1479 http://127.0.0.1:35709/14790002 > log/1/stdout1479 2> log/1/stderr1479 A4: UnknownInlinedFun (tool_operate.c:2234) ==157882== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1456 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/2/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:43955/1485 > log/2/stdout1485 2> log/2/stderr1485 1485: 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/ dir 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/2/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:43955/1485 > log/2/stdout1485 2> log/2/stderr1485 === End of file commands.log === Start of file http_server.log 07:52:30.812997 ====> Client connect 07:52:30.813027 accept_connection 3 returned 4 07:52:30.813044 accept_connection 3 returned 0 07:52:30.813059 Read 93 bytes 07:52:30.813070 Process 93 bytes request 07:52:30.813085 Got request: GET /verifiedserver HTTP/1.1 07:52:30.813095 Are-we-friendly question received 07:52:30.813117 Wrote request (93 bytes) input to log/2/server.input 07:52:30.813134 Identifying ourselves as friends 07:52:30.813188 Response sent (56 bytes) and written to log/2/server.response 07:52:30.813198 special request received, no persistency 07:52:30.813207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 60994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr1485 URL: http://127.0.0.1:43955/1485 === End of file stderr1485 === Start of file valgrind1485 ==158446== ==158446== Process terminating with default action of signal 4 (SIGILL) ==158446== Illegal opcode at address 0x40297AD ==158446== at 0x40297AD: UnknownInlinedFun (string_fortified.h:59) ==158446== by 0x40297AD: test_lib1485.lto_priv.0 (lib1485.c:96) ==158446== by 0x400347F: main (first.c:280) === End of file valgrind1485 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/8/valgrind1475 ../src/curl -q --output log/8/curl1475.out --include --trace-ascii log/8/trace1475 --trace-time http://127.0.0.1:36147/1475 -C - -f > log/8/stdout1475 2> log/8/stderr1475 1475: 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/ dir 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/8/valgrind1475 ../src/curl -q --output log/8/curl1475.out --include --trace-ascii log/8/trace1475 --trace-time http://127.0.0.1:36147/1475 -C - -f > log/8/stdout1475 2> log/8/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 07:52:29.360545 ====> Client connect 07:52:29.360584 accept_connection 3 returned 4 07:52:29.360603 accept_connection 3 returned 0 07:52:29.360619 Read 93 bytes 07:52:29.360631 Process 93 bytes request 07:52:29.360646 Got request: GET /verifiedserver HTTP/1.1 07:52:29.360657 Are-we-friendly question received 07:52:29.360689 Wrote request (93 bytes) input to log/8/server.input 07:52:29.360708 Identifying ourselves as friends 07:52:29.360766 Response sent (56 bytes) and written to log/8/server.response 07:52:29.360777 special request received, no persistency 07:52:29.360788 ====> Client disconnect 0 exit_signal_handler: called 07:52:30.604158 signalled to die 07:52:30.604271 ========> IPv4 sws (port 36147 pid: 74664) exits with signal (15) 07:52:30.604290 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36147... * Established connection to 127.0.0.1 (127.0.0.1 port 36147) from 127.0.0.1 port 48402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36147 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36147 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74664 === 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: 74664 === End of file server.response === Start of file valgrind1475 ==157875== ==157875== Process terminating with default action of signal 4 (SIGILL) ==157875== Illegal opcode at address 0x4013DC0 ==157875== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==157875== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157875== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==157875== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1475 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/1/valgrind1479 ../src/curl -q --output log/1/curl1479.out --include --trace-ascii log/1/trace1479 --trace-time http://127.0.0.1:35709/1479 http://127.0.0.1:35709/14790002 > log/1/stdout1479 2> log/1/stderr1479 1479: 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/ dir 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/1/valgrind1479 ../src/curl -q --output log/1/curl1479.out --include --trace-ascii log/1/trace1479 --trace-time http://127.0.0.1:35709/1479 http://127.0.0.1:35709/14790002 > log/1/stdout1479 2> log/1/stderr1479 === End of file commands.log === Start of file http_server.log 07:52:29.559623 ====> Client connect 07:52:29.559660 accept_connection 3 returned 4 07:52:29.559678 accept_connection 3 returned 0 07:52:29.559694 Read 93 bytes 07:52:29.559706 Process 93 bytes request 07:52:29.559720 Got request: GET /verifiedserver HTTP/1.1 07:52:29.559731 Are-we-friendly question received 07:52:29.559757 Wrote request (93 bytes) input to log/1/server.input 07:52:29.559775 Identifying ourselves as friends 07:52:29.559832 Response sent (56 bytes) and written to log/1/server.response 07:52:29.559844 special request received, no persistency 07:52:29.559854 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 57436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completeCMD (33792): ../libtool --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/valgrind1476 ../src/curl -q --output log/11/curl1476.out --include --trace-ascii log/11/trace1476 --trace-time -x http://127.0.0.1:38169/1476 http://curl.co.UK -c log/11/cookies1476.txt > log/11/stdout1476 2> log/11/stderr1476 CMD (33792): ../libtool --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/valgrind1480 ../src/curl -q --output log/3/curl1480.out --include --trace-ascii log/3/trace1480 --trace-time http://127.0.0.1:34059/1480 > log/3/stdout1480 2> log/3/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/14/valgrind1482 ../src/curl -q --output log/14/curl1482.out --include --trace-ascii log/14/trace1482 --trace-time http://127.0.0.1:34115/1482 -D log/14/heads1482 > log/14/stdout1482 2> log/14/stderr1482 ly sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1479 ==158047== ==158047== Process terminating with default action of signal 4 (SIGILL) ==158047== Illegal opcode at address 0x4013DC0 ==158047== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158047== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158047== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158047== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1479 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/11/valgrind1476 ../src/curl -q --output log/11/curl1476.out --include --trace-ascii log/11/trace1476 --trace-time -x http://127.0.0.1:38169/1476 http://curl.co.UK -c log/11/cookies1476.txt > log/11/stdout1476 2> log/11/stderr1476 1476: 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/ dir 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/11/valgrind1476 ../src/curl -q --output log/11/curl1476.out --include --trace-ascii log/11/trace1476 --trace-time -x http://127.0.0.1:38169/1476 http://curl.co.UK -c log/11/cookies1476.txt > log/11/stdout1476 2> log/11/stderr1476 === End of file commands.log === Start of file http_server.log 07:52:29.519244 ====> Client connect 07:52:29.519291 accept_connection 3 returned 4 07:52:29.519312 accept_connection 3 returned 0 07:52:29.519330 Read 93 bytes 07:52:29.519341 Process 93 bytes request 07:52:29.519355 Got request: GET /verifiedserver HTTP/1.1 07:52:29.519366 Are-we-friendly question received 07:52:29.519394 Wrote request (93 bytes) input to log/11/server.input 07:52:29.519413 Identifying ourselves as friends 07:52:29.519492 Response sent (56 bytes) and written to log/11/server.response 07:52:29.519506 special request received, no persistency 07:52:29.519516 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 59166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === 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: 74504 === End of file server.response === Start of file valgrind1476 ==158014== ==158014== Process terminating with default action of signal 4 (SIGILL) ==158014== Illegal opcode at address 0x4013DC0 ==158014== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158014== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158014== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158014== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1476 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/3/valgrind1480 ../src/curl -q --output log/3/curl1480.out --include --trace-ascii log/3/trace1480 --trace-time http://127.0.0.1:34059/1480 > log/3/stdout1480 2> log/3/stderr1480 1480: 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/ dir 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/3/valgrind1480 ../src/curl -q --output log/3/curl1480.out --include --trace-ascii log/3/trace1480 --trace-time http://127.0.0.1:34059/1480 > log/3/stdout1480 2> log/3/stderr1480 === End of file commands.log === Start of file http_server.log 07:52:30.589577 ====> Client connect 07:52:30.589615 accept_connection 3 returned 4 07:52:30.589634 accept_connection 3 returned 0 07:52:30.589651 Read 93 bytes 07:52:30.589663 Process 93 bytes request 07:52:30.589681 Got request: GET /verifiedserver HTTP/1.1 07:52:30.589692 Are-we-friendly question received 07:52:30.589722 Wrote request (93 bytes) input to log/3/server.input 07:52:30.589742 Identifying ourselves as friends 07:52:30.589804 Response sent (56 bytes) and written to log/3/server.response 07:52:30.589817 special request received, no persistency 07:52:30.589828 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 46236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file valgrind1480 ==158089== ==158089== Process terminating with default action of signal 4 (SIGILL) ==158089== Illegal opcode at address 0x4013DC0 ==158089== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158089== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158089== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158089== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1480 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/14/valgrind1482 ../src/curl -q --output log/14/curl1482.out --include --trace-ascii log/14/trace1482 --trace-time http://127.0.0.1:34115/1482 -D log/14/heads1482 > log/14/stdout1482 2> log/14/stderr1482 1482: 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/ dir 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/14/valgrind1482 ../src/curl -q --output log/14/curl1482.out --include --trace-ascii log/14/trace1482 --trace-time http://127.0.0.1:34115/1482 -D log/14/heads1482 > log/14/stdout1482 2> log/14/stderr1482 === End of file commands.log === Start of file http_server.log 07:52:29.711554 ====> Client connect 07:52:29.711590 accept_connection 3 returned 4 07:52:29.711610 accept_connection 3 returned 0 07:52:29.713041 Read 93 bytes 07:52:29.713063 Process 93 bytes request 07:52:29.713077 Got request: GET /verifiedserver HTTP/1.1 07:52:29.713087 Are-we-friendly question received 07:52:29.71311CMD (33792): ../libtool --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/valgrind1481 ../src/curl -q --output log/15/curl1481.out --include --trace-ascii log/15/trace1481 --trace-time http://moo/ --libcurl log/15/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:43789 > log/15/stdout1481 2> log/15/stderr1481 CMD (33792): ../libtool --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/valgrind1484 ../src/curl -q --output log/16/curl1484.out --include --trace-ascii log/16/trace1484 --trace-time -I http://127.0.0.1:44351/1484 --http1.1 > log/16/stdout1484 2> log/16/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/24/valgrind1483 ../src/curl -q --output log/24/curl1483.out --include --trace-ascii log/24/trace1483 --trace-time http://127.0.0.1:41843/1483 -D log/24/heads1483 > log/24/stdout1483 2> log/24/stderr1483 7 Wrote request (93 bytes) input to log/14/server.input 07:52:29.713134 Identifying ourselves as friends 07:52:29.713187 Response sent (56 bytes) and written to log/14/server.response 07:52:29.713197 special request received, no persistency 07:52:29.713207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 50116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 17 WE ROOLZ: 74404 === End of file server.response === Start of file valgrind1482 ==158246== ==158246== Process terminating with default action of signal 4 (SIGILL) ==158246== Illegal opcode at address 0x4013DC0 ==158246== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158246== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158246== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158246== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1482 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/15/valgrind1481 ../src/curl -q --output log/15/curl1481.out --include --trace-ascii log/15/trace1481 --trace-time http://moo/ --libcurl log/15/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:43789 > log/15/stdout1481 2> log/15/stderr1481 1481: 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/ dir 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/15/valgrind1481 ../src/curl -q --output log/15/curl1481.out --include --trace-ascii log/15/trace1481 --trace-time http://moo/ --libcurl log/15/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:43789 > log/15/stdout1481 2> log/15/stderr1481 === End of file commands.log === Start of file http_server.log 07:52:29.716709 ====> Client connect 07:52:29.716746 accept_connection 3 returned 4 07:52:29.716764 accept_connection 3 returned 0 07:52:29.716779 Read 93 bytes 07:52:29.716791 Process 93 bytes request 07:52:29.716804 Got request: GET /verifiedserver HTTP/1.1 07:52:29.716815 Are-we-friendly question received 07:52:29.716842 Wrote request (93 bytes) input to log/15/server.input 07:52:29.716861 Identifying ourselves as friends 07:52:29.716918 Response sent (56 bytes) and written to log/15/server.response 07:52:29.716930 special request received, no persistency 07:52:29.716940 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 46060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1481 ==158254== ==158254== Process terminating with default action of signal 4 (SIGILL) ==158254== Illegal opcode at address 0x4013DC0 ==158254== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158254== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158254== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158254== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1481 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/16/valgrind1484 ../src/curl -q --output log/16/curl1484.out --include --trace-ascii log/16/trace1484 --trace-time -I http://127.0.0.1:44351/1484 --http1.1 > log/16/stdout1484 2> log/16/stderr1484 1484: 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/ dir 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/16/valgrind1484 ../src/curl -q --output log/16/curl1484.out --include --trace-ascii log/16/trace1484 --trace-time -I http://127.0.0.1:44351/1484 --http1.1 > log/16/stdout1484 2> log/16/stderr1484 === End of file commands.log === Start of file http_server.log 07:52:29.759242 ====> Client connect 07:52:29.759285 accept_connection 3 returned 4 07:52:29.759304 accept_connection 3 returned 0 07:52:29.759323 Read 93 bytes 07:52:29.759335 Process 93 bytes request 07:52:29.759349 Got request: GET /verifiedserver HTTP/1.1 07:52:29.759359 Are-we-friendly question received 07:52:29.759387 Wrote request (93 bytes) input to log/16/server.input 07:52:29.759406 Identifying ourselves as friends 07:52:29.759485 Response sent (56 bytes) and written to log/16/server.response 07:52:29.759497 special request received, no persistency 07:52:29.759507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 35106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1484 ==158327== ==158327== Process terminating with default action of signal 4 (SIGILL) ==158327== Illegal opcode at address 0x4013DC0 ==158327== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158327== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158327== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158327== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1484 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/24/valgrind1483 ../src/curl -q --output log/24/curl1483.out --include --trace-ascii log/24/trace1483 --trace-time http://127.0.0.1:41843/1483 -D log/24/heads1483 > log/24/stdout1483 2> log/24/stderr1483 1483: 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/ dir after test 1483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/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/9/valgrind1487 ../src/curl -q --trace-ascii log/9/trace1487 --trace-time http://127.0.0.1:42717/1487 -J -O --output-dir log/9 > log/9/stdout1487 2> log/9/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/5/valgrind1467 ../src/curl -q --output log/5/curl1467.out --include --trace-ascii log/5/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-QGZAfQhY http://127.0.0.1:42797/1467 > log/5/stdout1467 2> log/5/stderr1467 dir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1483 ../src/curl -q --output log/24/curl1483.out --include --trace-ascii log/24/trace1483 --trace-time http://127.0.0.1:41843/1483 -D log/24/heads1483 > log/24/stdout1483 2> log/24/stderr1483 === End of file commands.log === Start of file http_server.log 07:52:29.735919 ====> Client connect 07:52:29.735981 accept_connection 3 returned 4 07:52:29.736003 accept_connection 3 returned 0 07:52:29.736022 Read 93 bytes 07:52:29.736033 Process 93 bytes request 07:52:29.736048 Got request: GET /verifiedserver HTTP/1.1 07:52:29.736059 Are-we-friendly question received 07:52:29.736083 Wrote request (93 bytes) input to log/24/server.input 07:52:29.736100 Identifying ourselves as friends 07:52:29.736180 Response sent (56 bytes) and written to log/24/server.response 07:52:29.736192 special request received, no persistency 07:52:29.736202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 33426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind1483 ==158269== ==158269== Process terminating with default action of signal 4 (SIGILL) ==158269== Illegal opcode at address 0x4013DC0 ==158269== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158269== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158269== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158269== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1483 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/9/valgrind1487 ../src/curl -q --trace-ascii log/9/trace1487 --trace-time http://127.0.0.1:42717/1487 -J -O --output-dir log/9 > log/9/stdout1487 2> log/9/stderr1487 1487: 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/ dir 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/9/valgrind1487 ../src/curl -q --trace-ascii log/9/trace1487 --trace-time http://127.0.0.1:42717/1487 -J -O --output-dir log/9 > log/9/stdout1487 2> log/9/stderr1487 === End of file commands.log === Start of file http_server.log 07:52:29.854113 ====> Client connect 07:52:29.854150 accept_connection 3 returned 4 07:52:29.854168 accept_connection 3 returned 0 07:52:29.854183 Read 93 bytes 07:52:29.854193 Process 93 bytes request 07:52:29.854208 Got request: GET /verifiedserver HTTP/1.1 07:52:29.854218 Are-we-friendly question received 07:52:29.854244 Wrote request (93 bytes) input to log/9/server.input 07:52:29.854262 Identifying ourselves as friends 07:52:29.854318 Response sent (56 bytes) and written to log/9/server.response 07:52:29.854329 special request received, no persistency 07:52:29.854338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1487 ==158512== ==158512== Process terminating with default action of signal 4 (SIGILL) ==158512== Illegal opcode at address 0x4013DC0 ==158512== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158512== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158512== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158512== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1487 startnew: ./server/servers socksd --pidfile log/5/server/socks2_server.pid --reqfile log/5/socksd-request.log --logfile log/5/socks2_server.log --unix-socket /tmp/curl-socksd-QGZAfQhY --backend 127.0.0.1 --config log/5/server.cmd RUN: SOCKS2 server is now running PID 157477 * pid socks5unix => 157477 157477 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/5/valgrind1467 ../src/curl -q --output log/5/curl1467.out --include --trace-ascii log/5/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-QGZAfQhY http://127.0.0.1:42797/1467 > log/5/stdout1467 2> log/5/stderr1467 1467: 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/ dir 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/5/valgrind1467 ../src/curl -q --output log/5/curl1467.out --include --trace-ascii log/5/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-QGZAfQhY http://127.0.0.1:42797/1467 > log/5/stdout1467 2> log/5/stderr1467 === End of file commands.log === Start of file http_server.log 07:52:28.862574 ====> Client connect 07:52:28.862611 accept_connection 3 returned 4 07:52:28.862630 accept_connection 3 returned 0 07:52:28.862646 Read 93 bytes 07:52:28.862657 Process 93 bytes request 07:52:28.862673 Got request: GET /verifiedserver HTTP/1.1 07:52:28.862683 Are-we-friendly question received 07:52:28.862709 Wrote request (93 bytes) input to log/5/server.input 07:52:28.862727 Identifying ourselves as friends 07:52:28.862789 Response sent (56 bytes) and written to log/5/server.response 07:52:28.862800 special request received, no persistency 07:52:28.862810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 36496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file socks2_server.log 07:52:29.871292 Running unix version 07:52:29.871378 Listening on Unix socket /tmp/curl-socksd-QGZAfQhY 07:52:29.871414 Wrote pid 157477 to log/5/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==158513== ==158513== Process terminating with default action of signalCMD (33792): ../libtool --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/valgrind1468 ../src/curl -q --output log/22/curl1468.out --include --trace-ascii log/22/trace1468 --trace-time http://this.is.a.host.name:40377/1468 --proxy socks5h://localhost/tmp/curl-socksd-n1bUQUFu > log/22/stdout1468 2> log/22/stderr1468 CMD (33792): ../libtool --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/valgrind1491 ../src/curl -q --include --trace-ascii log/4/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test1491.txt -o log/4/test1491.txt --skip-existing > log/4/stdout1491 2> log/4/stderr1491 4 (SIGILL) ==158513== Illegal opcode at address 0x4013DC0 ==158513== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158513== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158513== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158513== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1467 CMD (33792): ../libtool --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/valgrind1490 ../src/curl -q --output log/21/curl1490.out --trace-ascii log/21/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/result1490.txt -T log/21/upload1490.txt > log/21/stdout1490 2> log/21/stderr1490 test 1491...[file:// don't 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/4/valgrind1491 ../src/curl -q --include --trace-ascii log/4/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test1491.txt -o log/4/test1491.txt --skip-existing > log/4/stdout1491 2> log/4/stderr1491 1491: stderr FAILED: --- log/4/check-expected 2025-11-07 07:52:31.350707576 +0000 +++ log/4/check-generated 2025-11-07 07:52:31.350707576 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/4/test1491.txt" exists locally[CR][LF] == Contents of files in the log/4/ dir after test 1491 === Start of file check-expected Note: skips transfer, "log/4/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/4/valgrind1491 ../src/curl -q --include --trace-ascii log/4/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test1491.txt -o log/4/test1491.txt --skip-existing > log/4/stdout1491 2> log/4/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 ==158717== ==158717== Process terminating with default action of signal 4 (SIGILL) ==158717== Illegal opcode at address 0x4013DC0 ==158717== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158717== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158717== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158717== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1491 startnew: ./server/servers socksd --pidfile log/22/server/socks2_server.pid --reqfile log/22/socksd-request.log --logfile log/22/socks2_server.log --unix-socket /tmp/curl-socksd-n1bUQUFu --backend 127.0.0.1 --config log/22/server.cmd RUN: SOCKS2 server is now running PID 157559 * pid socks5unix => 157559 157559 test 1468...[HTTP GET with host name 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/22/valgrind1468 ../src/curl -q --output log/22/curl1468.out --include --trace-ascii log/22/trace1468 --trace-time http://this.is.a.host.name:40377/1468 --proxy socks5h://localhost/tmp/curl-socksd-n1bUQUFu > log/22/stdout1468 2> log/22/stderr1468 1468: 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/ dir 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/22/valgrind1468 ../src/curl -q --output log/22/curl1468.out --include --trace-ascii log/22/trace1468 --trace-time http://this.is.a.host.name:40377/1468 --proxy socks5h://localhost/tmp/curl-socksd-n1bUQUFu > log/22/stdout1468 2> log/22/stderr1468 === End of file commands.log === Start of file http_server.log 07:52:28.934398 ====> Client connect 07:52:28.934469 accept_connection 3 returned 4 07:52:28.934488 accept_connection 3 returned 0 07:52:28.934504 Read 93 bytes 07:52:28.934515 Process 93 bytes request 07:52:28.934530 Got request: GET /verifiedserver HTTP/1.1 07:52:28.934540 Are-we-friendly question received 07:52:28.934564 Wrote request (93 bytes) input to log/22/server.input 07:52:28.934581 Identifying ourselves as friends 07:52:28.934634 Response sent (56 bytes) and written to log/22/server.response 07:52:28.934645 special request received, no persistency 07:52:28.934655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 52384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file socks2_server.log 07:52:29.941693 Running unix version 07:52:29.941776 Listening on Unix socket /tmp/curl-socksd-n1bUQUFu 07:52:29.941813 Wrote pid 157559 to log/22/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==158601== ==158601== Process terminating with default action of signal 4 (SIGILL) ==158601== Illegal opcode at address 0x4013DC0 ==158601== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158601== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158601== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158601== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1468 CMD (33792): ../libtool --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/valgrind1489 ../src/curl -q --output log/7/curl1489.out --trace-ascii log/7/trace1489 --trace-time http://127.0.0.1:39661/1489 -D % -s > log/7/stdout1489 2> log/7/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/21/valgrind1490 ../src/curl -q --output log/21/curl1490.out --trace-ascii log/21/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/result1490.txt -T log/21/upload1490.txt > log/21/stdout1490 2> log/21/stderr1490 1490: output (log/21/result1490.txt) FAILED: --- log/21/check-expected 2025-11-07 07:52:31.440707578 +0000 +++ log/21/check-generated 2025-11-07 07:52:31.440707578 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/21/ dir 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/21/valgrind1490 ../src/curl -q --output log/21/curl1490.out --trace-ascii log/21/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/result1490.txt -T log/21/upload1490.txt > log/21/stdout1490 2> log/21/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 ==158675== ==158675== Process terminating with default action of signal 4 (SIGILL) ==158675== Illegal opcode at address 0x4013DC0 ==158675== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158675== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158675== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158675== by 0x40037A4: main (tool_main.c:199) === 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/10/valgrind1492 ../src/curl -q --trace-ascii log/10/trace1492 --trace-time http://127.0.0.1:34041/junk1492 -J -O --show-headers --output-dir log/10 > log/10/stdout1492 2> log/10/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/18/valgrind1493 ../src/curl -q --output log/18/curl1493.out --include --trace-ascii log/18/trace1493 --trace-time http://127.0.0.1:46763/1493 -D log/18/heads1493 > log/18/stdout1493 2> log/18/stderr1493 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/7/valgrind1489 ../src/curl -q --output log/7/curl1489.out --trace-ascii log/7/trace1489 --trace-time http://127.0.0.1:39661/1489 -D % -s > log/7/stdout1489 2> log/7/stderr1489 1489: stderr FAILED: --- log/7/check-expected 2025-11-07 07:52:31.460707578 +0000 +++ log/7/check-generated 2025-11-07 07:52:31.460707578 +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/7/ dir 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/7/valgrind1489 ../src/curl -q --output log/7/curl1489.out --trace-ascii log/7/trace1489 --trace-time http://127.0.0.1:39661/1489 -D % -s > log/7/stdout1489 2> log/7/stderr1489 === End of file commands.log === Start of file http_server.log 07:52:30.986007 ====> Client connect 07:52:30.986041 accept_connection 3 returned 4 07:52:30.986058 accept_connection 3 returned 0 07:52:30.986179 Read 93 bytes 07:52:30.986195 Process 93 bytes request 07:52:30.986209 Got request: GET /verifiedserver HTTP/1.1 07:52:30.986220 Are-we-friendly question received 07:52:30.986249 Wrote request (93 bytes) input to log/7/server.input 07:52:30.986267 Identifying ourselves as friends 07:52:30.986319 Response sent (56 bytes) and written to log/7/server.response 07:52:30.986330 special request received, no persistency 07:52:30.986340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 40918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind1489 ==158657== ==158657== Process terminating with default action of signal 4 (SIGILL) ==158657== Illegal opcode at address 0x4013DC0 ==158657== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1489 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/10/valgrind1492 ../src/curl -q --trace-ascii log/10/trace1492 --trace-time http://127.0.0.1:34041/junk1492 -J -O --show-headers --output-dir log/10 > log/10/stdout1492 2> log/10/stderr1492 1492: 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/ dir 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/10/valgrind1492 ../src/curl -q --trace-ascii log/10/trace1492 --trace-time http://127.0.0.1:34041/junk1492 -J -O --show-headers --output-dir log/10 > log/10/stdout1492 2> log/10/stderr1492 === End of file commands.log === Start of file http_server.log 07:52:30.086664 ====> Client connect 07:52:30.086702 accept_connection 3 returned 4 07:52:30.086719 accept_connection 3 returned 0 07:52:30.086735 Read 93 bytes 07:52:30.086746 Process 93 bytes request 07:52:30.086761 Got request: GET /verifiedserver HTTP/1.1 07:52:30.086772 Are-we-friendly question received 07:52:30.086800 Wrote request (93 bytes) input to log/10/server.input 07:52:30.086818 Identifying ourselves as friends 07:52:30.086876 Response sent (56 bytes) and written to log/10/server.response 07:52:30.086888 special request received, no persistency 07:52:30.086899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 44974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file valgrind1492 ==158867== ==158867== Process terminating with default action of signal 4 (SIGILL) ==158867== Illegal opcode at address 0x4013DC0 ==158867== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158867== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158867== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158867== by 0x40037A4: main (tool_main.c:199) === 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/18/valgrind1493 ../src/curl -q --output log/18/curl1493.out --include --trace-ascii log/18/trace1493 --trace-time http://127.0.0.1:46763/1493 -D log/18/heads1493 > log/18/stdout1493 2> log/18/stderr1493 1493: 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/ dir 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/18/valgrind1493 ../src/curl -q --output log/18/curl1493.out --include --trace-ascii log/18/trace1493 --trace-time http://127.0.0.1:46763/1493 -D log/18/heads1493 > log/18/stdout1493 2> log/18/stderr1493 === End of file commands.log === Start of file http_server.log 07:52:31.094883 ====> Client connect 07:52:31.094920 accept_connection 3 returned 4 07:52:31.094939 accept_connection 3 returned 0 07:52:31.094953 Read 93 bytes 07:52:31.094964 Process 93 bytes request 07:52:31.094979 Got request: GET /verifiedserver HTTP/1.1 07:52:31.094989 Are-we-friendly question received 07:52:31.095016 Wrote request (93 bytes) input to log/18/server.input 07:52:31.095032 Identifying ourselves as friends 07:52:31.095090 Response sent (56 bytes) and written to log/18/server.response 07:52:31.095100 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/6/valgrind1494 ../src/curl -q --output log/6/curl1494.out --include --trace-ascii log/6/trace1494 --trace-time http://127.0.0.1:45933/1494 -D log/6/heads1494 > log/6/stdout1494 2> log/6/stderr1494 CMD (33792): ../libtool --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/valgrind1495 ../src/curl -q --output log/12/curl1495.out --include --trace-ascii log/12/trace1495 --trace-time http://127.0.0.1:38023/1495 -D log/12/heads1495 > log/12/stdout1495 2> log/12/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/17/valgrind1496 ../src/curl -q --output log/17/curl1496.out --include --trace-ascii log/17/trace1496 --trace-time http://127.0.0.1:42601/1496 -D log/17/heads1496 > log/17/stdout1496 2> log/17/stderr1496 t received, no persistency 07:52:31.095110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1493 ==158870== ==158870== Process terminating with default action of signal 4 (SIGILL) ==158870== Illegal opcode at address 0x4013DC0 ==158870== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158870== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1493 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/6/valgrind1494 ../src/curl -q --output log/6/curl1494.out --include --trace-ascii log/6/trace1494 --trace-time http://127.0.0.1:45933/1494 -D log/6/heads1494 > log/6/stdout1494 2> log/6/stderr1494 1494: 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/ dir 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/6/valgrind1494 ../src/curl -q --output log/6/curl1494.out --include --trace-ascii log/6/trace1494 --trace-time http://127.0.0.1:45933/1494 -D log/6/heads1494 > log/6/stdout1494 2> log/6/stderr1494 === End of file commands.log === Start of file http_server.log 07:52:30.195910 ====> Client connect 07:52:30.195950 accept_connection 3 returned 4 07:52:30.195970 accept_connection 3 returned 0 07:52:30.195987 Read 93 bytes 07:52:30.195998 Process 93 bytes request 07:52:30.196012 Got request: GET /verifiedserver HTTP/1.1 07:52:30.196023 Are-we-friendly question received 07:52:30.196049 Wrote request (93 bytes) input to log/6/server.input 07:52:30.196067 Identifying ourselves as friends 07:52:30.196131 Response sent (56 bytes) and written to log/6/server.response 07:52:30.196142 special request received, no persistency 07:52:30.196152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1494 ==158953== ==158953== Process terminating with default action of signal 4 (SIGILL) ==158953== Illegal opcode at address 0x4013DC0 ==158953== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==158953== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158953== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==158953== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1494 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/12/valgrind1495 ../src/curl -q --output log/12/curl1495.out --include --trace-ascii log/12/trace1495 --trace-time http://127.0.0.1:38023/1495 -D log/12/heads1495 > log/12/stdout1495 2> log/12/stderr1495 1495: 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/ dir 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/12/valgrind1495 ../src/curl -q --output log/12/curl1495.out --include --trace-ascii log/12/trace1495 --trace-time http://127.0.0.1:38023/1495 -D log/12/heads1495 > log/12/stdout1495 2> log/12/stderr1495 === End of file commands.log === Start of file http_server.log 07:52:30.338739 ====> Client connect 07:52:30.338776 accept_connection 3 returned 4 07:52:30.338794 accept_connection 3 returned 0 07:52:30.338947 Read 93 bytes 07:52:30.338963 Process 93 bytes request 07:52:30.338977 Got request: GET /verifiedserver HTTP/1.1 07:52:30.338988 Are-we-friendly question received 07:52:30.339021 Wrote request (93 bytes) input to log/12/server.input 07:52:30.339041 Identifying ourselves as friends 07:52:30.339095 Response sent (56 bytes) and written to log/12/server.response 07:52:30.339108 special request received, no persistency 07:52:30.339119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 41182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind1495 ==159072== ==159072== Process terminating with default action of signal 4 (SIGILL) ==159072== Illegal opcode at address 0x4013DC0 ==159072== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==159072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==159072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1495 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/17/valgrind1496 ../src/curl -q --output log/17/curl1496.out --include --trace-ascii log/17/trace1496 --trace-time http://127.0.0.1:42601/1496 -D log/17/heads1496 > log/17/stdout1496 2> log/17/stderr1496 1496: 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/ dir 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/17/valgrind1496 ../src/curl -q --output log/17/curl1496.out --include --trace-ascii log/17/trace1496 --trace-time http://127.0.0.1:42601/1496 -D log/17/heads1496 > log/17/stdout1496 2> log/17/stderr1496 === End of file comCMD (33792): ../libtool --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/valgrind1497 ../src/curl -q --output log/20/curl1497.out --include --trace-ascii log/20/trace1497 --trace-time http://127.0.0.1:40357/1497 --retry 3 -o /dev/null > log/20/stdout1497 2> log/20/stderr1497 CMD (33792): ../libtool --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/valgrind1498 ../src/curl -q --output log/2/curl1498.out --include --trace-ascii log/2/trace1498 --trace-time http://127.0.0.1:43955/bzz/1498 -T . log/2/stdout1498 2> log/2/stderr1498 mands.log === Start of file http_server.log 07:52:31.469244 ====> Client connect 07:52:31.469276 accept_connection 3 returned 4 07:52:31.469293 accept_connection 3 returned 0 07:52:31.469398 Read 93 bytes 07:52:31.469411 Process 93 bytes request 07:52:31.469426 Got request: GET /verifiedserver HTTP/1.1 07:52:31.469436 Are-we-friendly question received 07:52:31.469462 Wrote request (93 bytes) input to log/17/server.input 07:52:31.469479 Identifying ourselves as friends 07:52:31.469529 Response sent (56 bytes) and written to log/17/server.response 07:52:31.469539 special request received, no persistency 07:52:31.469548 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 47556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1496 ==159134== ==159134== Process terminating with default action of signal 4 (SIGILL) ==159134== Illegal opcode at address 0x4013DC0 ==159134== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==159134== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159134== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==159134== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1496 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/20/valgrind1497 ../src/curl -q --output log/20/curl1497.out --include --trace-ascii log/20/trace1497 --trace-time http://127.0.0.1:40357/1497 --retry 3 -o /dev/null > log/20/stdout1497 2> log/20/stderr1497 1497: 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/ dir 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/20/valgrind1497 ../src/curl -q --output log/20/curl1497.out --include --trace-ascii log/20/trace1497 --trace-time http://127.0.0.1:40357/1497 --retry 3 -o /dev/null > log/20/stdout1497 2> log/20/stderr1497 === End of file commands.log === Start of file http_server.log 07:52:30.595894 ====> Client connect 07:52:30.595935 accept_connection 3 returned 4 07:52:30.595953 accept_connection 3 returned 0 07:52:30.595968 Read 93 bytes 07:52:30.595980 Process 93 bytes request 07:52:30.595993 Got request: GET /verifiedserver HTTP/1.1 07:52:30.596004 Are-we-friendly question received 07:52:30.596031 Wrote request (93 bytes) input to log/20/server.input 07:52:30.596049 Identifying ourselves as friends 07:52:30.596120 Response sent (56 bytes) and written to log/20/server.response 07:52:30.596131 special request received, no persistency 07:52:30.596141 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 58838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1497 ==159209== ==159209== Process terminating with default action of signal 4 (SIGILL) ==159209== Illegal opcode at address 0x4013DC0 ==159209== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==159209== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159209== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==159209== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1497 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/2/valgrind1498 ../src/curl -q --output log/2/curl1498.out --include --trace-ascii log/2/trace1498 --trace-time http://127.0.0.1:43955/bzz/1498 -T . log/2/stdout1498 2> log/2/stderr1498 1498: 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/ dir 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/2/valgrind1498 ../src/curl -q --output log/2/curl1498.out --include --trace-ascii log/2/trace1498 --trace-time http://127.0.0.1:43955/bzz/1498 -T . log/2/stdout1498 2> log/2/stderr1498 === End of file commands.log === Start of file http_server.log 07:52:31.657495 ====> Client connect 07:52:31.657561 accept_connection 3 returned 4 07:52:31.657581 accept_connection 3 returned 0 07:52:31.657599 Read 93 bytes 07:52:31.657611 Process 93 bytes request 07:52:31.657627 Got request: GET /verifiedserver HTTP/1.1 07:52:31.657638 Are-we-friendly question received 07:52:31.657666 Wrote request (93 bytes) input to log/2/server.input 07:52:31.657685 Identifying ourselves as friends 07:52:31.657747 Response sent (56 bytes) and written to log/2/server.response 07:52:31.657761 special request received, no persistency 07:52:31.657771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 32770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stdin-for-1498 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejheCMD (33792): ../libtool --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/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:35709/1500 > log/1/stdout1500 2> log/1/stderr1500 jhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhej === End of file stdin-for-1498 === Start of file valgrind1498 ==159285== ==159285== Process terminating with default action of signal 4 (SIGILL) ==159285== Illegal opcode at address 0x4013DC0 ==159285== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==159285== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159285== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==159285== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1498 CMD (33792): ../libtool --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/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:46223/1501/ > log/11/stdout1501 2> log/11/stderr1501 CMD (33792): ../libtool --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/valgrind1504 ./libtest/libtests lib1502 http://google.com:43789/1504 43789 127.0.0.1 > log/15/stdout1504 2> log/15/stderr1504 * kill pid for ftp-ctrl => 83311 RUN: Process with pid 83264 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/3/valgrind1502 ./libtest/libtests lib1502 http://google.com:34059/1502 34059 127.0.0.1 > log/3/stdout1502 2> log/3/stderr1502 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/1/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:35709/1500 > log/1/stdout1500 2> log/1/stderr1500 1500: data FAILED: --- log/1/check-expected 2025-11-07 07:52:32.097374250 +0000 +++ log/1/check-generated 2025-11-07 07:52:32.097374250 +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/1/ dir 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/1/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:35709/1500 > log/1/stdout1500 2> log/1/stderr1500 === End of file commands.log === Start of file http_server.log 07:52:30.782582 ====> Client connect 07:52:30.782618 accept_connection 3 returned 4 07:52:30.782636 accept_connection 3 returned 0 07:52:30.782652 Read 93 bytes 07:52:30.782662 Process 93 bytes request 07:52:30.782677 Got request: GET /verifiedserver HTTP/1.1 07:52:30.782687 Are-we-friendly question received 07:52:30.782711 Wrote request (93 bytes) input to log/1/server.input 07:52:30.782727 Identifying ourselves as friends 07:52:30.782789 Response sent (56 bytes) and written to log/1/server.response 07:52:30.782800 special request received, no persistency 07:52:30.782809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 48374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === End of file http_verify.out === Start of file server.cmd Testnum 1500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74928 === End of file server.response === Start of file stderr1500 URL: http://127.0.0.1:35709/1500 === End of file stderr1500 === Start of file valgrind1500 ==159351== ==159351== Process terminating with default action of signal 4 (SIGILL) ==159351== Illegal opcode at address 0x519E800 ==159351== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==159351== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==159351== by 0x519E800: Curl_multi_handle (multi.c:247) ==159351== by 0x4028B40: UnknownInlinedFun (lib1500.c:41) ==159351== by 0x4028B40: test_lib1500.lto_priv.0 (lib1500.c:28) ==159351== by 0x400347F: main (first.c:280) ==159351== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==159351== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159351== by 0x519E794: Curl_multi_handle (multi.c:239) ==159351== by 0x4028B40: UnknownInlinedFun (lib1500.c:41) ==159351== by 0x4028B40: test_lib1500.lto_priv.0 (lib1500.c:28) ==159351== by 0x400347F: main (first.c:280) ==159351== === End of file valgrind1500 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/15/valgrind1504 ./libtest/libtests lib1502 http://google.com:43789/1504 43789 127.0.0.1 > log/15/stdout1504 2> log/15/stderr1504 1504: 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/ dir 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/15/valgrind1504 ./libtest/libtests lib1502 http://google.com:43789/1504 43789 127.0.0.1 > log/15/stdout1504 2> log/15/stderr1504 === End of file commands.log === Start of file http_server.log 07:52:30.946948 ====> Client connect 07:52:30.946981 accept_connection 3 returned 4 07:52:30.946997 accept_connection 3 returned 0 07:52:30.947011 Read 93 bytes 07:52:30.947021 Process 93 bytes request 07:52:30.947034 Got request: GET /verifiedserver HTTP/1.1 07:52:30.947043 Are-we-friendly question received 07:52:30.947068 Wrote request (93 bytes) input to log/15/server.input 07:52:30.947084 Identifying ourselves as friends 07:52:30.947136 Response sent (56 bytes) and written to log/15/server.response 07:52:30.947145 special request received, no persistency 07:52:30.947154 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 38208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 17 WE ROOLZ: 74402 === End of file server.response === Start of file stderr1504 URL: http://google.com:43789/1504 === End of file stderr1504 === Start of file valgrind1504 ==159586== ==159586== Process terminating with default action of signal 4 (SIGILL) ==159586== Illegal opcode at address 0x51D5F1F ==159586== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159586== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159586== by 0x51D5F1F: Curl_open (url.c:525) ==159586== by 0x514F6EF: curl_easy_init (easy.c:371) ==159586== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159586== by 0x400347F: main (first.c:280) ==159586== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159586== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159586== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159586== by 0x51C1329: curl_slist_append (slist.c:99) ==159586== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159586== by 0x400347F: main (first.c:280) ==159586== ==159586== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159586== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159586== by 0x51D5EBD: Curl_open (url.c:504) ==159586== by 0x514F6EF: curl_easy_init (easy.c:371) ==159586== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159586== by 0x400347F: main (first.c:280) ==159586== === End of file valgrind1504 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/3/valgrind1502 ./libtest/libtests lib1502 http://google.com:34059/1502 34059 127.0.0.1 > log/3/stdout1502 2> log/3/stderr1502 1502: 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/ dir after 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/14/valgrind1503 ./libtest/libtests lib1502 http://google.com:34115/1503 34115 127.0.0.1 > log/14/stdout1503 2> log/14/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/16/valgrind1505 ./libtest/libtests lib1502 http://google.com:44351/1505 44351 127.0.0.1 > log/16/stdout1505 2> log/16/stderr1505 t 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/3/valgrind1502 ./libtest/libtests lib1502 http://google.com:34059/1502 34059 127.0.0.1 > log/3/stdout1502 2> log/3/stderr1502 === End of file commands.log === Start of file http_server.log 07:52:31.893809 ====> Client connect 07:52:31.893854 accept_connection 3 returned 4 07:52:31.893871 accept_connection 3 returned 0 07:52:31.893887 Read 93 bytes 07:52:31.893897 Process 93 bytes request 07:52:31.893912 Got request: GET /verifiedserver HTTP/1.1 07:52:31.893921 Are-we-friendly question received 07:52:31.893950 Wrote request (93 bytes) input to log/3/server.input 07:52:31.893966 Identifying ourselves as friends 07:52:31.894035 Response sent (56 bytes) and written to log/3/server.response 07:52:31.894045 special request received, no persistency 07:52:31.894054 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file stderr1502 URL: http://google.com:34059/1502 === End of file stderr1502 === Start of file valgrind1502 ==159476== ==159476== Process terminating with default action of signal 4 (SIGILL) ==159476== Illegal opcode at address 0x51D5F1F ==159476== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159476== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159476== by 0x51D5F1F: Curl_open (url.c:525) ==159476== by 0x514F6EF: curl_easy_init (easy.c:371) ==159476== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159476== by 0x400347F: main (first.c:280) ==159476== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159476== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159476== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159476== by 0x51C1329: curl_slist_append (slist.c:99) ==159476== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159476== by 0x400347F: main (first.c:280) ==159476== ==159476== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159476== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159476== by 0x51D5EBD: Curl_open (url.c:504) ==159476== by 0x514F6EF: curl_easy_init (easy.c:371) ==159476== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159476== by 0x400347F: main (first.c:280) ==159476== === End of file valgrind1502 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/14/valgrind1503 ./libtest/libtests lib1502 http://google.com:34115/1503 34115 127.0.0.1 > log/14/stdout1503 2> log/14/stderr1503 1503: 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/ dir 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/14/valgrind1503 ./libtest/libtests lib1502 http://google.com:34115/1503 34115 127.0.0.1 > log/14/stdout1503 2> log/14/stderr1503 === End of file commands.log === Start of file http_server.log 07:52:30.892239 ====> Client connect 07:52:30.892274 accept_connection 3 returned 4 07:52:30.892291 accept_connection 3 returned 0 07:52:30.892307 Read 93 bytes 07:52:30.892318 Process 93 bytes request 07:52:30.892331 Got request: GET /verifiedserver HTTP/1.1 07:52:30.892341 Are-we-friendly question received 07:52:30.892363 Wrote request (93 bytes) input to log/14/server.input 07:52:30.892380 Identifying ourselves as friends 07:52:30.892435 Response sent (56 bytes) and written to log/14/server.response 07:52:30.892446 special request received, no persistency 07:52:30.892455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 40350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr1503 URL: http://google.com:34115/1503 === End of file stderr1503 === Start of file valgrind1503 ==159485== ==159485== Process terminating with default action of signal 4 (SIGILL) ==159485== Illegal opcode at address 0x51D5F1F ==159485== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159485== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159485== by 0x51D5F1F: Curl_open (url.c:525) ==159485== by 0x514F6EF: curl_easy_init (easy.c:371) ==159485== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159485== by 0x400347F: main (first.c:280) ==159485== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159485== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159485== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159485== by 0x51C1329: curl_slist_append (slist.c:99) ==159485== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159485== by 0x400347F: main (first.c:280) ==159485== ==159485== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159485== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159485== by 0x51D5EBD: Curl_open (url.c:504) ==159485== by 0x514F6EF: curl_easy_init (easy.c:371) ==159485== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159485== by 0x400347F: main (first.c:280) ==159485== === End of file valgrind1503 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/16/valgrind1505 ./libtest/libtests lib1502 http://google.com:44351/1505 44351 127.0.0.1 > log/16/stdout1505 2> log/16/stderr1505 1505: 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/ dir 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/16/valgrind1505 ./libtest/libtests lib1502 http://google.com:44351/1505 44351 127.0.0.1 > log/16/stdout1505 2> log/16/stderr1505 === End of file commands.log === Start of file http_server.log 07:52:30.965061 ====> Client connect 07:52:30.965125 accept_connection 3 returned 4 07:52:30.965143 accept_connection 3 returned 0 07:52:30.965159 Read 93 bytes 07:52:30.965169 Process 93 bytes requesRUN: Process with pid 83264 gracefully died t 07:52:30.965184 Got request: GET /verifiedserver HTTP/1.1 07:52:30.965193 Are-we-friendly question received 07:52:30.965218 Wrote request (93 bytes) input to log/16/server.input 07:52:30.965234 Identifying ourselves as friends 07:52:30.965294 Response sent (56 bytes) and written to log/16/server.response 07:52:30.965305 special request received, no persistency 07:52:30.965315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file stderr1505 URL: http://google.com:44351/1505 === End of file stderr1505 === Start of file valgrind1505 ==159639== ==159639== Process terminating with default action of signal 4 (SIGILL) ==159639== Illegal opcode at address 0x51D5F1F ==159639== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159639== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159639== by 0x51D5F1F: Curl_open (url.c:525) ==159639== by 0x514F6EF: curl_easy_init (easy.c:371) ==159639== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159639== by 0x400347F: main (first.c:280) ==159639== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159639== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159639== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159639== by 0x51C1329: curl_slist_append (slist.c:99) ==159639== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159639== by 0x400347F: main (first.c:280) ==159639== ==159639== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159639== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159639== by 0x51D5EBD: Curl_open (url.c:504) ==159639== by 0x514F6EF: curl_easy_init (easy.c:371) ==159639== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159639== by 0x400347F: main (first.c:280) ==159639== === End of file valgrind1505 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/11/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:46223/1501/ > log/11/stdout1501 2> log/11/stderr1501 1501: 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/ dir 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/11/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:46223/1501/ > log/11/stdout1501 2> log/11/stderr1501 === End of file commands.log === Start of file ftp_server.log 07:52:30.941392 ====> Client connect 07:52:30.941560 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:30.949858 < "USER anonymous" 07:52:30.949913 > "331 We are happy you popped in![CR][LF]" 07:52:30.950284 < "PASS ftp@example.com" 07:52:30.950324 > "230 Welcome you silly person[CR][LF]" 07:52:30.950504 < "PWD" 07:52:30.950542 > "257 "/" is current directory[CR][LF]" 07:52:30.950717 < "EPSV" 07:52:30.950744 ====> Passive DATA channel requested by client 07:52:30.950758 DATA sockfilt for passive data channel starting... 07:52:30.958421 DATA sockfilt for passive data channel started (pid 159345) 07:52:30.958865 DATA sockfilt for passive data channel listens on port 41687 07:52:30.958926 > "229 Entering Passive Mode (|||41687|)[CR][LF]" 07:52:30.958946 Client has been notified that DATA conn will be accepted on port 41687 07:52:30.959892 Client connects to port 41687 07:52:30.959928 ====> Client established passive DATA connection on port 41687 07:52:30.960010 < "TYPE I" 07:52:30.960042 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:30.960203 < "SIZE verifiedserver" 07:52:30.960240 > "213 17[CR][LF]" 07:52:30.960394 < "RETR verifiedserver" 07:52:30.960427 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:30.960513 =====> Closing passive DATA connection... 07:52:30.960529 Server disconnects passive DATA connection 07:52:30.960767 Server disconnected passive DATA connection 07:52:30.960794 DATA sockfilt for passive data channel quits (pid 159345) 07:52:30.961013 DATA sockfilt for passive data channel quit (pid 159345) 07:52:30.961038 =====> Closed passive DATA connection 07:52:30.961066 > "226 File transfer complete[CR][LF]" 07:52:31.004904 < "QUIT" 07:52:31.004968 > "221 bye bye baby[CR][LF]" 07:52:31.005921 MAIN sockfilt said DISC 07:52:31.005963 ====> Client disconnected 07:52:31.006040 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:30.769214 ====> Client connect 07:52:30.769517 Received DATA (on stdin) 07:52:30.769536 > 160 bytes data, server => client 07:52:30.769550 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:30.769562 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:30.769573 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:30.777495 < 16 bytes data, client => server 07:52:30.777523 'USER anonymous\r\n' 07:52:30.777861 Received DATA (on stdin) 07:52:30.777877 > 33 bytes data, server => client 07:52:30.777890 '331 We are happy you popped in!\r\n' 07:52:30.778092 < 22 bytes data, client => server 07:52:30.778109 'PASS ftp@example.com\r\n' 07:52:30.778267 Received DATA (on stdin) 07:52:30.778281 > 30 bytes data, server => client 07:52:30.778292 '230 Welcome you silly person\r\n' 07:52:30.778344 < 5 bytes data, client => server 07:52:30.778355 'PWD\r\n' 07:52:30.778481 Received DATA (on stdin) 07:52:30.778493 > 30 bytes data, server => client 07:52:30.778505 '257 "/" is current directory\r\n' 07:52:30.778564 < 6 bytes data, client => server 07:52:30.778577 'EPSV\r\n' 07:52:30.787578 Received DATA (on stdin) 07:52:30.787601 > 39 bytes data, server => client 07:52:30.787613 '229 Entering Passive Mode (|||41687|)\r\n' 07:52:30.787739 < 8 bytes data, client => server 07:52:30.787756 'TYPE I\r\n' 07:52:30.787982 Received DATA (on stdin) 07:52:30.787995 > 33 bytes data, server => client 07:52:30.788006 '200 I modify TYPE as you wanted\r\n' 07:52:30.788057 < 21 bytes data, client => server 07:52:30.788069 'SIZE verifiedserver\r\n' 07:52:30.788180 Received DATA (on stdin) 07:52:30.788192 > 8 bytes data, server => client 07:52:30.788203 '213 17\r\n' 07:52:30.788251 < 21 bytes data, client => server 07:52:30.788263 'RETR verifiedserver\r\n' 07:52:30.788472 Received DATA (on stdin) 07:52:30.788484 > 29 bytes data, server => client 07:52:30.788496 '150 Binary junk (17 bytes).\r\n' 07:52:30.789007 Received DATA (on stdin) 07:52:30.789021 > 28 bytes data, server => client 07:52:30.789033 '226 File transfer complete\r\n' 07:52:30.832636 < 6 bytes data, client => server 07:52:30.832668 'QUIT\r\n' 07:52:30.832917 Received DATA (on stdin) 07:52:30.832933 > 18 bytes data, server => client 07:52:30.832945 '221 bye bye baby\r\n' 07:52:30.833799 ====> Client disconnect 07:52:30.833978 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:30.781751 Running IPv4 version 07:52:30.781811 Listening on port 41687 CMD (33792): ../libtool --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/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 41843 > log/24/stdout1506 2> log/24/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/5/valgrind1508 ./libtest/libtests lib1508 - > log/5/stdout1508 2> log/5/stderr1508 07:52:30.781849 Wrote pid 159345 to log/11/server/ftp_sockdata.pid 07:52:30.785850 Received PING (on stdin) 07:52:30.786400 Received PORT (on stdin) 07:52:30.787779 ====> Client connect 07:52:30.788522 Received DATA (on stdin) 07:52:30.788537 > 17 bytes data, server => client 07:52:30.788549 'WE ROOLZ: 83264\r\n' 07:52:30.788574 Received DISC (on stdin) 07:52:30.788587 ====> Client forcibly disconnected 07:52:30.788745 Received QUIT (on stdin) 07:52:30.788757 quits 07:52:30.788816 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY LIST 2 DELAY TYPE 2 Testnum 1501 === End of file server.cmd === Start of file stderr1501 URL: ftp://127.0.0.1:46223/1501/ === End of file stderr1501 === Start of file valgrind1501 ==159402== ==159402== Process terminating with default action of signal 4 (SIGILL) ==159402== Illegal opcode at address 0x51D5F1F ==159402== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159402== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159402== by 0x51D5F1F: Curl_open (url.c:525) ==159402== by 0x514F6EF: curl_easy_init (easy.c:371) ==159402== by 0x402B4F9: test_lib1501.lto_priv.0 (lib1501.c:44) ==159402== by 0x400347F: main (first.c:280) ==159402== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==159402== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159402== by 0x51D5EBD: Curl_open (url.c:504) ==159402== by 0x514F6EF: curl_easy_init (easy.c:371) ==159402== by 0x402B4F9: test_lib1501.lto_priv.0 (lib1501.c:44) ==159402== by 0x400347F: main (first.c:280) ==159402== === End of file valgrind1501 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/24/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 41843 > log/24/stdout1506 2> log/24/stderr1506 1506: 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/ dir 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/24/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 41843 > log/24/stdout1506 2> log/24/stderr1506 === End of file commands.log === Start of file http_server.log 07:52:30.987789 ====> Client connect 07:52:30.987830 accept_connection 3 returned 4 07:52:30.987850 accept_connection 3 returned 0 07:52:30.987867 Read 93 bytes 07:52:30.987878 Process 93 bytes request 07:52:30.987893 Got request: GET /verifiedserver HTTP/1.1 07:52:30.987904 Are-we-friendly question received 07:52:30.987929 Wrote request (93 bytes) input to log/24/server.input 07:52:30.987947 Identifying ourselves as friends 07:52:30.988018 Response sent (56 bytes) and written to log/24/server.response 07:52:30.988030 special request received, no persistency 07:52:30.988040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 53304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file stderr1506 URL: - === End of file stderr1506 === Start of file valgrind1506 ==159704== ==159704== Process terminating with default action of signal 4 (SIGILL) ==159704== Illegal opcode at address 0x519E800 ==159704== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==159704== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==159704== by 0x519E800: Curl_multi_handle (multi.c:247) ==159704== by 0x402C8BB: test_lib1506.lto_priv.0 (lib1506.c:60) ==159704== by 0x400347F: main (first.c:280) ==159704== 712 bytes in 1 blocks are definitely lost in loss record 614 of 648 ==159704== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159704== by 0x519E794: Curl_multi_handle (multi.c:239) ==159704== by 0x402C8BB: test_lib1506.lto_priv.0 (lib1506.c:60) ==159704== by 0x400347F: main (first.c:280) ==159704== === 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/9/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:33035/1507 log/9/stdout1507 2> log/9/stderr1507 CMD (33792): ../libtool --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/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 40377 > log/22/stdout1510 2> log/22/stderr1510 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/5/valgrind1508 ./libtest/libtests lib1508 - > log/5/stdout1508 2> log/5/stderr1508 1508: output (log/5/stdout1508) FAILED: --- log/5/check-expected 2025-11-07 07:52:32.437374254 +0000 +++ log/5/check-generated 2025-11-07 07:52:32.437374254 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/5/ dir 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/5/valgrind1508 ./libtest/libtests lib1508 - > log/5/stdout1508 2> log/5/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 ==159809== ==159809== Process terminating with default action of signal 4 (SIGILL) ==159809== Illegal opcode at address 0x519E800 ==159809== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==159809== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==159809== by 0x519E800: Curl_multi_handle (multi.c:247) ==159809== by 0x402C5E3: UnknownInlinedFun (lib1508.c:37) ==159809== by 0x402C5E3: test_lib1508.lto_priv.0 (lib1508.c:28) ==159809== by 0x400347F: main (first.c:280) ==159809== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==159809== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159809== by 0x519E794: Curl_multi_handle (multi.c:239) ==159809== by 0x402C5E3: UnknownInlinedFun (lib1508.c:37) ==159809== by 0x402C5E3: test_lib1508.lto_priv.0 (lib1508.c:28) ==159809== by 0x400347F: main (first.c:280) ==159809== === End of file valgrind1508 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/9/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:33035/1507 log/9/stdout1507 2> log/9/stderr1507 1507: 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/ dir after test 1507 === Start of file commands.log ../libtool --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/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:33035/1507 log/9/stdout1507 2> log/9/stderr1507 === End of file commands.log === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 07:52:31.352245 ====> Client connect 07:52:31.352370 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:31.352650 < "EHLO verifiedserver" 07:52:31.352693 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:31.352871 < "HELP" 07:52:31.352903 > "214 WE ROOLZ: 109786[CR][LF]" 07:52:31.352918 return proof we are we 07:52:31.353143 < "QUIT" 07:52:31.353173 > "221 curl ESMTP server signing off[CR][LF]" 07:52:31.354059 MAIN sockfilt said DISC 07:52:31.354086 ====> Client disconnected 07:52:31.354150 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:31.180085 ====> Client connect 07:52:31.180320 Received DATA (on stdin) 07:52:31.180336 > 160 bytes data, server => client 07:52:31.180350 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:31.180362 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:31.180374 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:31.180450 < 21 bytes data, client => server 07:52:31.180463 'EHLO verifiedserver\r\n' 07:52:31.180635 Received DATA (on stdin) 07:52:31.180648 > 53 bytes data, server => client 07:52:31.180660 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:31.180716 < 6 bytes data, client => server 07:52:31.180728 'HELP\r\n' 07:52:31.180856 Received DATA (on stdin) 07:52:31.180869 > 22 bytes data, server => client 07:52:31.180881 '214 WE ROOLZ: 109786\r\n' 07:52:31.180978 < 6 bytes data, client => server 07:52:31.180992 'QUIT\r\n' 07:52:31.181112 Received DATA (on stdin) 07:52:31.181124 > 35 bytes data, server => client 07:52:31.181136 '221 curl ESMTP server signing off\r\n' 07:52:31.181947 ====> Client disconnect 07:52:31.182088 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1507 URL: smtp://127.0.0.1:33035/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 ==159894== ==159894== Process terminating with default action of signal 4 (SIGILL) ==159894== Illegal opcode at address 0x51D5F1F ==159894== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159894== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159894== by 0x51D5F1F: Curl_open (url.c:525) ==159894== by 0x514F6EF: curl_easy_init (easy.c:371) ==159894== by 0x402D20B: test_lib1507.lto_priv.0 (lib1507.c:50) ==159894== by 0x400347F: main (first.c:280) ==159894== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==159894== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159894== by 0x51D5EBD: Curl_open (url.c:504) ==159894== by 0x514F6EF: curl_easy_init (easy.c:371) ==159894== by 0x402D20B: test_lib1507.lto_priv.0 (lib1507.c:50) ==159894== by 0x400347F: main (first.c:280) ==159894== === End of file valgrind1507 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/22/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 40377 > log/22/stdout1510 2> log/22/stderr1510 1510: 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/ dir 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/22/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 40377 > log/22/stdout1510 2> log/22/stderr1510 === End of file commands.log === Start of file http_server.log 07:52:31.207532 ====> Client connect 07:52:31.207564 accept_connection 3 returned 4 07:52:31.207581 accept_connection 3 returned 0 07:52:31.207597 Read 93 bytes 07:52:31.207607 Process 93 bytes request 07:52:31.207621 Got request: GET /verifiedserver HTTP/1.1 07:52:31.207631 Are-we-friendly question received 07:52:31.207654 Wrote request (93 bytes) input to log/22/server.input 07:52:31.207670 Identifying ourselves as friends 07:52:31.207720 Response sent (56 bytes) and written to log/22/server.response 07:52:31.207730 special request received, no persistency 07:52:31.207740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.ouCMD (33792): ../libtool --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/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:45761/1511 > log/21/stdout1511 2> log/21/stderr1511 t WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file stderr1510 URL: - === End of file stderr1510 === Start of file valgrind1510 ==159922== ==159922== Process terminating with default action of signal 4 (SIGILL) ==159922== Illegal opcode at address 0x51D5F1F ==159922== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159922== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159922== by 0x51D5F1F: Curl_open (url.c:525) ==159922== by 0x514F6EF: curl_easy_init (easy.c:371) ==159922== by 0x402D8DE: test_lib1510.lto_priv.0 (lib1510.c:61) ==159922== by 0x400347F: main (first.c:280) ==159922== 5,384 bytes in 1 blocks are definitely lost in loss record 646 of 648 ==159922== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159922== by 0x51D5EBD: Curl_open (url.c:504) ==159922== by 0x514F6EF: curl_easy_init (easy.c:371) ==159922== by 0x402D8DE: test_lib1510.lto_priv.0 (lib1510.c:61) ==159922== by 0x400347F: main (first.c:280) ==159922== === End of file valgrind1510 CMD (33792): ../libtool --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/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:39661/1513 > log/7/stdout1513 2> log/7/stderr1513 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/21/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:45761/1511 > log/21/stdout1511 2> log/21/stderr1511 1511: data FAILED: --- log/21/check-expected 2025-11-07 07:52:32.567374255 +0000 +++ log/21/check-generated 2025-11-07 07:52:32.567374255 +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/21/ dir 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/21/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:45761/1511 > log/21/stdout1511 2> log/21/stderr1511 === End of file commands.log === Start of file http_server.log 07:52:31.310191 ====> Client connect 07:52:31.310225 accept_connection 3 returned 4 07:52:31.310242 accept_connection 3 returned 0 07:52:31.310258 Read 93 bytes 07:52:31.310269 Process 93 bytes request 07:52:31.310283 Got request: GET /verifiedserver HTTP/1.1 07:52:31.310293 Are-we-friendly question received 07:52:31.310318 Wrote request (93 bytes) input to log/21/server.input 07:52:31.310335 Identifying ourselves as friends 07:52:31.310390 Response sent (56 bytes) and written to log/21/server.response 07:52:31.310401 special request received, no persistency 07:52:31.310411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file stderr1511 URL: http://127.0.0.1:45761/1511 === End of file stderr1511 === Start of file valgrind1511 ==160035== ==160035== Process terminating with default action of signal 4 (SIGILL) ==160035== Illegal opcode at address 0x51D5F1F ==160035== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160035== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160035== by 0x51D5F1F: Curl_open (url.c:525) ==160035== by 0x514F6EF: curl_easy_init (easy.c:371) ==160035== by 0x40302B9: UnknownInlinedFun (lib1511.c:36) ==160035== by 0x40302B9: test_lib1511.lto_priv.0 (lib1511.c:28) ==160035== by 0x400347F: main (first.c:280) ==160035== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160035== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160035== by 0x51D5EBD: Curl_open (url.c:504) ==160035== by 0x514F6EF: curl_easy_init (easy.c:371) ==160035== by 0x40302B9: UnknownInlinedFun (lib1511.c:36) ==160035== by 0x40302B9: test_lib1511.lto_priv.0 (lib1511.c:28) ==160035== by 0x400347F: main (first.c:280) ==160035== === 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/10/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:34041/1514 > log/10/stdout1514 2> log/10/stderr1514 CMD (33792): ../libtool --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/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 46763 > log/18/stdout1515 2> log/18/stderr1515 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/7/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:39661/1513 > log/7/stdout1513 2> log/7/stderr1513 1513: stdout FAILED: --- log/7/check-expected 2025-11-07 07:52:32.647374255 +0000 +++ log/7/check-generated 2025-11-07 07:52:32.647374255 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/7/ dir 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/7/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:39661/1513 > log/7/stdout1513 2> log/7/stderr1513 === End of file commands.log === Start of file http_server.log 07:52:32.334060 ====> Client connect 07:52:32.334091 accept_connection 3 returned 4 07:52:32.334107 accept_connection 3 returned 0 07:52:32.334121 Read 93 bytes 07:52:32.334131 Process 93 bytes request 07:52:32.334143 Got request: GET /verifiedserver HTTP/1.1 07:52:32.334152 Are-we-friendly question received 07:52:32.334200 Wrote request (93 bytes) input to log/7/server.input 07:52:32.334217 Identifying ourselves as friends 07:52:32.334266 Response sent (56 bytes) and written to log/7/server.response 07:52:32.334275 special request received, no persistency 07:52:32.334284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 40930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr1513 URL: http://127.0.0.1:39661/1513 === End of file stderr1513 === Start of file valgrind1513 ==160056== ==160056== Process terminating with default action of signal 4 (SIGILL) ==160056== Illegal opcode at address 0x51D5F1F ==160056== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160056== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160056== by 0x51D5F1F: Curl_open (url.c:525) ==160056== by 0x514F6EF: curl_easy_init (easy.c:371) ==160056== by 0x402E08C: UnknownInlinedFun (lib1513.c:57) ==160056== by 0x402E08C: test_lib1513.lto_priv.0 (lib1513.c:50) ==160056== by 0x400347F: main (first.c:280) ==160056== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160056== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160056== by 0x51D5EBD: Curl_open (url.c:504) ==160056== by 0x514F6EF: curl_easy_init (easy.c:371) ==160056== by 0x402E08C: UnknownInlinedFun (lib1513.c:57) ==160056== by 0x402E08C: test_lib1513.lto_priv.0 (lib1513.c:50) ==160056== by 0x400347F: main (first.c:280) ==160056== === End of file valgrind1513 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/10/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:34041/1514 > log/10/stdout1514 2> log/10/stderr1514 1514: 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/ dir 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/10/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:34041/1514 > log/10/stdout1514 2> log/10/stderr1514 === End of file commands.log === Start of file http_server.log 07:52:31.397344 ====> Client connect 07:52:31.397379 accept_connection 3 returned 4 07:52:31.397397 accept_connection 3 returned 0 07:52:31.397554 Read 93 bytes 07:52:31.397569 Process 93 bytes request 07:52:31.397584 Got request: GET /verifiedserver HTTP/1.1 07:52:31.397595 Are-we-friendly question received 07:52:31.397627 Wrote request (93 bytes) input to log/10/server.input 07:52:31.397645 Identifying ourselves as friends 07:52:31.397700 Response sent (56 bytes) and written to log/10/server.response 07:52:31.397711 special request received, no persistency 07:52:31.397721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 44990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr1514 URL: http://127.0.0.1:34041/1514 === End of file stderr1514 === Start of file valgrind1514 ==160146== ==160146== Process terminating with default action of signal 4 (SIGILL) ==160146== Illegal opcode at address 0x51D5F1F ==160146== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160146== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160146== by 0x51D5F1F: Curl_open (url.c:525) ==160146== by 0x514F6EF: curl_easy_init (easy.c:371) ==160146== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==160146== by 0x400347F: main (first.c:280) ==160146== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160146== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160146== by 0x51D5EBD: Curl_open (url.c:504) ==160146== by 0x514F6EF: curl_easy_init (easy.c:371) ==160146== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==160146== by 0x400347F: main (first.c:280) ==160146== === End of file valgrind1514 CMD (33792): ../libtool --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/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 45933 > log/6/stdout1516 2> log/6/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/12/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:38023/1517 > log/12/stdout1517 2> log/12/stderr1517 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/18/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 46763 > log/18/stdout1515 2> log/18/stderr1515 1515: data FAILED: --- log/18/check-expected 2025-11-07 07:52:32.837374258 +0000 +++ log/18/check-generated 2025-11-07 07:52:32.837374258 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/18/ dir 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/18/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 46763 > log/18/stdout1515 2> log/18/stderr1515 === End of file commands.log === Start of file http_server.log 07:52:32.504439 ====> Client connect 07:52:32.504476 accept_connection 3 returned 4 07:52:32.504495 accept_connection 3 returned 0 07:52:32.504509 Read 93 bytes 07:52:32.504521 Process 93 bytes request 07:52:32.504536 Got request: GET /verifiedserver HTTP/1.1 07:52:32.504547 Are-we-friendly question received 07:52:32.504573 Wrote request (93 bytes) input to log/18/server.input 07:52:32.504591 Identifying ourselves as friends 07:52:32.504645 Response sent (56 bytes) and written to log/18/server.response 07:52:32.504656 special request received, no persistency 07:52:32.504665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr1515 URL: path/1515 === End of file stderr1515 === Start of file valgrind1515 ==160223== ==160223== Process terminating with default action of signal 4 (SIGILL) ==160223== Illegal opcode at address 0x519E800 ==160223== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==160223== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==160223== by 0x519E800: Curl_multi_handle (multi.c:247) ==160223== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160223== by 0x400347F: main (first.c:280) ==160223== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==160223== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160223== by 0x519E794: Curl_multi_handle (multi.c:239) ==160223== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160223== by 0x400347F: main (first.c:280) ==160223== === End of file valgrind1515 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/6/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 45933 > log/6/stdout1516 2> log/6/stderr1516 libtests returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/6/ dir 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/6/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 45933 > log/6/stdout1516 2> log/6/stderr1516 === End of file commands.log === Start of file http_server.log 07:52:31.494363 ====> Client connect 07:52:31.494403 accept_connection 3 returned 4 07:52:31.494425 accept_connection 3 returned 0 07:52:31.494443 Read 93 bytes 07:52:31.494456 Process 93 bytes request 07:52:31.494472 Got request: GET /verifiedserver HTTP/1.1 07:52:31.494483 Are-we-friendly question received 07:52:31.494511 Wrote request (93 bytes) input to log/6/server.input 07:52:31.494530 Identifying ourselves as friends 07:52:31.494599 Response sent (56 bytes) and written to log/6/server.response 07:52:31.494613 special request received, no persistency 07:52:31.494624 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr1516 URL: path/1516 === End of file stderr1516 === Start of file valgrind1516 ==160219== ==160219== Process terminating with default action of signal 4 (SIGILL) ==160219== Illegal opcode at address 0x519E800 ==160219== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==160219== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==160219== by 0x519E800: Curl_multi_handle (multi.c:247) ==160219== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160219== by 0x400347F: main (first.c:280) ==160219== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==160219== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160219== by 0x519E794: Curl_multi_handle (multi.c:239) ==160219== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160219== by 0x400347F: main (first.c:280) ==160219== === End of file valgrind1516 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/12/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:38023/1517 > log/12/stdout1517 2> log/12/stderr1517 1517: 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/ dir 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/12/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:38023/1517 > log/12/stdout1517 2> log/12/stderr1517 === End of file commands.log === Start of file http_server.log 07:52:31.628797 ====> Client connect 07:52:31.628836 accept_connection 3 returned 4 07:52:31.628856 accept_connection 3 returned 0 07:52:31.629015 Read 93 bytes 07:52:31.629035 Process 93 bytes request 07:52:31.629052 Got request: GET /verifiedserver HTTP/1.1 07:52:31.629064 Are-we-friendly question received 07:52:31.629102 Wrote request (93 bytes) input to log/12/server.input 07:52:31.629123 Identifying ourselves as friends 07:52:31.629205 Response sent (56 bytes) and written to log/12/server.response 07:52:31.629219 special request received, no persistency 07:52:31.629230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 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/valgrind1499 ../src/curl -q --output log/8/curl1499.out --include --trace-ascii log/8/trace1499 --trace-time http://127.0.0.1:36233/1499 http://127.0.0.1:36233/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/17/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:42601/1518 > log/17/stdout1518 2> log/17/stderr1518 .0.1 port 41196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file stderr1517 URL: http://127.0.0.1:38023/1517 === End of file stderr1517 === Start of file valgrind1517 ==160353== ==160353== Process terminating with default action of signal 4 (SIGILL) ==160353== Illegal opcode at address 0x51D5F1F ==160353== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160353== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160353== by 0x51D5F1F: Curl_open (url.c:525) ==160353== by 0x514F6EF: curl_easy_init (easy.c:371) ==160353== by 0x402E56A: test_lib1517.lto_priv.0 (lib1517.c:72) ==160353== by 0x400347F: main (first.c:280) ==160353== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160353== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160353== by 0x51D5EBD: Curl_open (url.c:504) ==160353== by 0x514F6EF: curl_easy_init (easy.c:371) ==160353== by 0x402E56A: test_lib1517.lto_priv.0 (lib1517.c:72) ==160353== by 0x400347F: main (first.c:280) ==160353== === End of file valgrind1517 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 159283 port 36233 * pid http => 159283 159283 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:36233/1499 http://127.0.0.1:36233/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/ dir 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:36233/1499 http://127.0.0.1:36233/1499 -D log/8/heads1499 > log/8/stdout1499 2> log/8/stderr1499 === End of file commands.log === Start of file http_server.log 07:52:30.741841 Running HTTP IPv4 version on port 36233 07:52:30.741928 Wrote pid 159283 to log/8/server/http_server.pid 07:52:30.741959 Wrote port 36233 to log/8/server/http_server.port === End of file http_server.log === Start of file server.cmd writedelay: 10 Testnum 1499 === End of file server.cmd === Start of file valgrind1499 ==160393== ==160393== Process terminating with default action of signal 4 (SIGILL) ==160393== Illegal opcode at address 0x4013DC0 ==160393== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==160393== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==160393== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==160393== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1499 CMD (33792): ../libtool --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:40357/1519 > log/20/stdout1519 2> log/20/stderr1519 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/17/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:42601/1518 > log/17/stdout1518 2> log/17/stderr1518 1518: stdout FAILED: --- log/17/check-expected 2025-11-07 07:52:33.104040926 +0000 +++ log/17/check-generated 2025-11-07 07:52:33.104040926 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:42601/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/17/ dir after test 1518 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:42601/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/17/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:42601/1518 > log/17/stdout1518 2> log/17/stderr1518 === End of file commands.log === Start of file http_server.log 07:52:32.752587 ====> Client connect 07:52:32.752631 accept_connection 3 returned 4 07:52:32.752650 accept_connection 3 returned 0 07:52:32.752668 Read 93 bytes 07:52:32.752678 Process 93 bytes request 07:52:32.752692 Got request: GET /verifiedserver HTTP/1.1 07:52:32.752702 Are-we-friendly question received 07:52:32.752726 Wrote request (93 bytes) input to log/17/server.input 07:52:32.752743 Identifying ourselves as friends 07:52:32.752814 Response sent (56 bytes) and written to log/17/server.response 07:52:32.752825 special request received, no persistency 07:52:32.752834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 47570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file stderr1518 URL: http://127.0.0.1:42601/1518 === End of file stderr1518 === Start of file valgrind1518 ==160443== ==160443== Process terminating with default action of signal 4 (SIGILL) ==160443== Illegal opcode at address 0x51D5F1F ==160443== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160443== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160443== by 0x51D5F1F: Curl_open (url.c:525) ==160443== by 0x514F6EF: curl_easy_init (easy.c:371) ==160443== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160443== by 0x400347F: main (first.c:280) ==160443== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160443== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160443== by 0x51D5EBD: Curl_open (url.c:504) ==160443== by 0x514F6EF: curl_easy_init (easy.c:371) ==160443== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160443== by 0x400347F: main (first.c:280) ==160443== === End of file valgrind1518 CMD (33792): ../libtool --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/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:40237/1520 log/2/stdout1520 2> log/2/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/1/valgrind1521 ./libtest/libtests lib1521 - > log/1/stdout1521 2> log/1/stderr1521 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:40357/1519 > log/20/stdout1519 2> log/20/stderr1519 1519: stdout FAILED: --- log/20/check-expected 2025-11-07 07:52:33.114040926 +0000 +++ log/20/check-generated 2025-11-07 07:52:33.114040926 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:40357/1519[LF] -redirecturl http://127.0.0.1:40357/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/20/ dir after test 1519 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:40357/1519[LF] redirecturl http://127.0.0.1:40357/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:40357/1519 > log/20/stdout1519 2> log/20/stderr1519 === End of file commands.log === Start of file http_server.log 07:52:31.768026 ====> Client connect 07:52:31.768062 accept_connection 3 returned 4 07:52:31.768079 accept_connection 3 returned 0 07:52:31.768096 Read 93 bytes 07:52:31.768107 Process 93 bytes request 07:52:31.768122 Got request: GET /verifiedserver HTTP/1.1 07:52:31.768132 Are-we-friendly question received 07:52:31.768159 Wrote request (93 bytes) input to log/20/server.input 07:52:31.768176 Identifying ourselves as friends 07:52:31.768260 Response sent (56 bytes) and written to log/20/server.response 07:52:31.768272 special request received, no persistency 07:52:31.768282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 58852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr1519 URL: http://127.0.0.1:40357/1519 === End of file stderr1519 === Start of file valgrind1519 ==160466== ==160466== Process terminating with default action of signal 4 (SIGILL) ==160466== Illegal opcode at address 0x51D5F1F ==160466== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160466== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160466== by 0x51D5F1F: Curl_open (url.c:525) ==160466== by 0x514F6EF: curl_easy_init (easy.c:371) ==160466== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160466== by 0x400347F: main (first.c:280) ==160466== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160466== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160466== by 0x51D5EBD: Curl_open (url.c:504) ==160466== by 0x514F6EF: curl_easy_init (easy.c:371) ==160466== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160466== by 0x400347F: main (first.c:280) ==160466== === End of file valgrind1519 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/2/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:40237/1520 log/2/stdout1520 2> log/2/stderr1520 1520: 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/ dir 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/2/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:40237/1520 log/2/stdout1520 2> log/2/stderr1520 === End of file commands.log === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 07:52:32.133285 ====> Client connect 07:52:32.133438 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:32.134259 < "EHLO verifiedserver" 07:52:32.134307 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:32.134484 < "HELP" 07:52:32.134515 > "214 WE ROOLZ: 124355[CR][LF]" 07:52:32.134529 return proof we are we 07:52:32.134752 < "QUIT" 07:52:32.134780 > "221 curl ESMTP server signing off[CR][LF]" 07:52:32.135587 MAIN sockfilt said DISC 07:52:32.135615 ====> Client disconnected 07:52:32.135677 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:31.961104 ====> Client connect 07:52:31.961389 Received DATA (on stdin) 07:52:31.961406 > 160 bytes data, server => client 07:52:31.961418 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:31.961430 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:31.961440 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:31.962026 < 21 bytes data, client => server 07:52:31.962047 'EHLO verifiedserver\r\n' 07:52:31.962252 Received DATA (on stdin) 07:52:31.962266 > 53 bytes data, server => client 07:52:31.962279 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:31.962333 < 6 bytes data, client => server 07:52:31.962345 'HELP\r\n' 07:52:31.962466 Received DATA (on stdin) 07:52:31.962477 > 22 bytes data, server => client 07:52:31.962488 '214 WE ROOLZ: 124355\r\n' 07:52:31.962600 < 6 bytes data, client => server 07:52:31.962613 'QUIT\r\n' 07:52:31.962719 Received DATA (on stdin) 07:52:31.962730 > 35 bytes data, server => client 07:52:31.962741 '221 curl ESMTP server signing off\r\n' 07:52:31.963478 ====> Client disconnect 07:52:31.963614 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1520 URL: smtp://127.0.0.1:40237/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 ==160624== ==160624== Process terminating with default action of signal 4 (SIGILL) ==160624== Illegal opcode at address 0x51D5F1F ==160624== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160624== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160624== by 0x51D5F1F: Curl_open (url.c:525) ==160624== by 0x514F6EF: curl_easy_init (easy.c:371) ==160624== by 0x402E700: test_lib1520.lto_priv.0 (lib1520.c:80) ==160624== by 0x400347F: main (first.c:280) ==160624== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160624== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160624== by 0x51D5EBD: Curl_open (url.c:504) ==160624== by 0x514F6EF: curl_easy_init (easy.c:371) ==160624== by 0x402E700: test_lib1520.lto_priv.0 (lib1520.c:80) ==160624== by 0x400347F: main (first.c:280) ==160624== === 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/15/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:43789/1522 > log/15/stdout1522 2> log/15/stderr1522 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/1/valgrind1521 ./libtest/libtests lib1521 - > log/1/stdout1521 2> log/1/stderr1521 1521: stdout FAILED: --- log/1/check-expected 2025-11-07 07:52:33.230707595 +0000 +++ log/1/check-generated 2025-11-07 07:52:33.230707595 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/1/ dir 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/1/valgrind1521 ./libtest/libtests lib1521 - > log/1/stdout1521 2> log/1/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 ==160601== ==160601== Process terminating with default action of signal 4 (SIGILL) ==160601== Illegal opcode at address 0x51D5F1F ==160601== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160601== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160601== by 0x51D5F1F: Curl_open (url.c:525) ==160601== by 0x514F6EF: curl_easy_init (easy.c:371) ==160601== by 0x404983A: test_lib1521.lto_priv.0 (lib1521.c:240) ==160601== by 0x400347F: main (first.c:280) ==160601== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160601== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160601== by 0x51D5EBD: Curl_open (url.c:504) ==160601== by 0x514F6EF: curl_easy_init (easy.c:371) ==160601== by 0x404983A: test_lib1521.lto_priv.0 (lib1521.c:240) ==160601== by 0x400347F: main (first.c:280) ==160601== === End of file valgrind1521 startnew: /startdir/src/curl/tests/dictserver.py --port 38157 --pidfile "log/23/server/dict_server.pid" --logfile "log/23/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 CMD (33792): ../libtool --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/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:34059/1523 > log/3/stdout1523 2> log/3/stderr1523 CMD (33792): ../libtool --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/valgrind1524 ../src/curl -q --output log/14/curl1524.out --include --trace-ascii log/14/trace1524 --trace-time http://127.0.0.1:34115/blah/1524 -L -T log/14/upload1524.txt > log/14/stdout1524 2> log/14/stderr1524 RUN: Process with pid 74873 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/16/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:44351/1525 127.0.0.1:43299 > log/16/stdout1525 2> log/16/stderr1525 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/15/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:43789/1522 > log/15/stdout1522 2> log/15/stderr1522 1522: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:33.367374262 +0000 +++ log/15/check-generated 2025-11-07 07:52:33.367374262 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/15/ dir 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/15/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:43789/1522 > log/15/stdout1522 2> log/15/stderr1522 === End of file commands.log === Start of file http_server.log 07:52:32.101054 ====> Client connect 07:52:32.101105 accept_connection 3 returned 4 07:52:32.101122 accept_connection 3 returned 0 07:52:32.101137 Read 93 bytes 07:52:32.101147 Process 93 bytes request 07:52:32.101163 Got request: GET /verifiedserver HTTP/1.1 07:52:32.101174 Are-we-friendly question received 07:52:32.101202 Wrote request (93 bytes) input to log/15/server.input 07:52:32.101221 Identifying ourselves as friends 07:52:32.101281 Response sent (56 bytes) and written to log/15/server.response 07:52:32.101294 special request received, no persistency 07:52:32.101304 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 38216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file stderr1522 URL: http://127.0.0.1:43789/1522 === End of file stderr1522 === Start of file valgrind1522 ==160748== ==160748== Process terminating with default action of signal 4 (SIGILL) ==160748== Illegal opcode at address 0x51D5F1F ==160748== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160748== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160748== by 0x51D5F1F: Curl_open (url.c:525) ==160748== by 0x514F6EF: curl_easy_init (easy.c:371) ==160748== by 0x4031DA6: test_lib1522.lto_priv.0 (lib1522.c:55) ==160748== by 0x400347F: main (first.c:280) ==160748== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160748== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160748== by 0x51D5EBD: Curl_open (url.c:504) ==160748== by 0x514F6EF: curl_easy_init (easy.c:371) ==160748== by 0x4031DA6: test_lib1522.lto_priv.0 (lib1522.c:55) ==160748== by 0x400347F: main (first.c:280) ==160748== === End of file valgrind1522 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/14/valgrind1524 ../src/curl -q --output log/14/curl1524.out --include --trace-ascii log/14/trace1524 --trace-time http://127.0.0.1:34115/blah/1524 -L -T log/14/upload1524.txt > log/14/stdout1524 2> log/14/stderr1524 1524: 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/ dir 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/14/valgrind1524 ../src/curl -q --output log/14/curl1524.out --include --trace-ascii log/14/trace1524 --trace-time http://127.0.0.1:34115/blah/1524 -L -T log/14/upload1524.txt > log/14/stdout1524 2> log/14/stderr1524 === End of file commands.log === Start of file http_server.log 07:52:32.137939 ====> Client connect 07:52:32.137972 accept_connection 3 returned 4 07:52:32.137990 accept_connection 3 returned 0 07:52:32.138004 Read 93 bytes 07:52:32.138015 Process 93 bytes request 07:52:32.138030 Got request: GET /verifiedserver HTTP/1.1 07:52:32.138040 Are-we-friendly question received 07:52:32.138064 Wrote request (93 bytes) input to log/14/server.input 07:52:32.138082 Identifying ourselves as friends 07:52:32.138135 Response sent (56 bytes) and written to log/14/server.response 07:52:32.138146 special request received, no persistency 07:52:32.138156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 40358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==160860== ==160860== Process terminating with default action of signal 4 (SIGILL) ==160860== Illegal opcode at address 0x4013DC0 ==160860== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==160860== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==160860== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==160860== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1524 startnew: /startdir/src/curl/tests/smbserver.py --port 40827 --pidfile "log/19/server/smb_server.pid" --logfile "log/19/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 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/16/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:44351/1525 127.0.0.1:43299 > log/16/stdout1525 2> log/16/stderr1525 1525: 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/ dir 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/16/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:44351/1525 127.0.0.1:43299 > log/16/stdout1525 2> log/16/stderr1525 === End of file commands.log === Start of file http2_server.log 07:52:32.165660 ====> Client connect 07:52:32.165698 accept_connection 3 returned 4 07:52:32.165716 accept_connection 3 returned 0 07:52:32.165731 Read 93 bytes 07:52:32.165748 Process 93 bytes request 07:52:32.165762 Got request: GET /verifiedserver HTTP/1.1 07:52:32.165773 Are-we-friendly question received 07:52:32.165800 Wrote request (93 bytes) input to log/16/proCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/14/stdout1544 2> log/14/stderr1544 RUN: Process with pid 74873 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/4/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:43573/1509 127.0.0.1:38079 > log/4/stdout1509 2> log/4/stderr1509 xy.input 07:52:32.165835 Identifying ourselves as friends 07:52:32.165903 Response sent (57 bytes) and written to log/16/proxy.response 07:52:32.165919 special request received, no persistency 07:52:32.165929 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:43299... * Established connection to 127.0.0.1 (127.0.0.1 port 43299) from 127.0.0.1 port 44854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43299 > User-Agent: curl/8.17.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:43299 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 134940 === End of file http2_verify.out === Start of file http_server.log 07:52:32.128048 ====> Client connect 07:52:32.128085 accept_connection 3 returned 4 07:52:32.128104 accept_connection 3 returned 0 07:52:32.128617 Read 93 bytes 07:52:32.128638 Process 93 bytes request 07:52:32.128653 Got request: GET /verifiedserver HTTP/1.1 07:52:32.128664 Are-we-friendly question received 07:52:32.128697 Wrote request (93 bytes) input to log/16/server.input 07:52:32.128716 Identifying ourselves as friends 07:52:32.128773 Response sent (56 bytes) and written to log/16/server.response 07:52:32.128784 special request received, no persistency 07:52:32.128795 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 134940 === 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: 74401 === End of file server.response === Start of file stderr1525 URL: http://the.old.moo.1525:44351/1525 === End of file stderr1525 === Start of file valgrind1525 ==160894== ==160894== Process terminating with default action of signal 4 (SIGILL) ==160894== Illegal opcode at address 0x51D5F1F ==160894== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160894== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160894== by 0x51D5F1F: Curl_open (url.c:525) ==160894== by 0x514F6EF: curl_easy_init (easy.c:371) ==160894== by 0x402EA6C: test_lib1525.lto_priv.0 (lib1525.c:60) ==160894== by 0x400347F: main (first.c:280) ==160894== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160894== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160894== by 0x51D5EBD: Curl_open (url.c:504) ==160894== by 0x514F6EF: curl_easy_init (easy.c:371) ==160894== by 0x402EA6C: test_lib1525.lto_priv.0 (lib1525.c:60) ==160894== by 0x400347F: main (first.c:280) ==160894== === End of file valgrind1525 startnew: /startdir/src/curl/tests/negtelnetserver.py --port 36797 --pidfile "log/13/server/telnet_server.pid" --logfile "log/13/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 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/14/stdout1544 2> log/14/stderr1544 valgrind SKIPPED -------e--- OK (1470 out of 1746, remaining: 00:21, took 0.059s, duration: 01:52) 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/3/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:34059/1523 > log/3/stdout1523 2> log/3/stderr1523 libtests returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:34059/1523 > log/3/stdout1523 2> log/3/stderr1523 === End of file commands.log === Start of file http_server.log 07:52:33.086739 ====> Client connect 07:52:33.086773 accept_connection 3 returned 4 07:52:33.086789 accept_connection 3 returned 0 07:52:33.086804 Read 93 bytes 07:52:33.086815 Process 93 bytes request 07:52:33.086829 Got request: GET /verifiedserver HTTP/1.1 07:52:33.086839 Are-we-friendly question received 07:52:33.086864 Wrote request (93 bytes) input to log/3/server.input 07:52:33.086880 Identifying ourselves as friends 07:52:33.086931 Response sent (56 bytes) and written to log/3/server.response 07:52:33.086941 special request received, no persistency 07:52:33.086951 ====> Client disconnect 0 exit_signal_handler: called 07:52:34.262173 signalled to die 07:52:34.262288 ========> IPv4 sws (port 34059 pid: 74873) exits with signal (15) 07:52:34.262305 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34059... * Established connection to 127.0.0.1 (127.0.0.1 port 34059) from 127.0.0.1 port 43366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34059 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34059 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74873 === 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: 74873 === End of file server.response === Start of file stderr1523 URL: http://127.0.0.1:34059/1523 === End of file stderr1523 === Start of file valgrind1523 ==160747== ==160747== Process terminating with default action of signal 4 (SIGILL) ==160747== Illegal opcode at address 0x51D5F1F ==160747== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160747== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160747== by 0x51D5F1F: Curl_open (url.c:525) ==160747== by 0x514F6EF: curl_easy_init (easy.c:371) ==160747== by 0x402E8B4: test_lib1523.lto_priv.0 (lib1523.c:62) ==160747== by 0x400347F: main (first.c:280) ==160747== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160747== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160747== by 0x51D5EBD: Curl_open (url.c:504) ==160747== by 0x514F6EF: curl_easy_init (easy.c:371) ==160747== by 0x402E8B4: test_lib1523.lto_priv.0 (lib1523.c:62) ==160747== by 0x400347F: main (first.c:280) ==160747== === End of file valgrind1523 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 159904 port 38079 * pid http-proxy => 159904 159904 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/4/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509CMD (33792): ../libtool --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/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:41843/1527 127.0.0.1:35703 > log/24/stdout1527 2> log/24/stderr1527 :43573/1509 127.0.0.1:38079 > log/4/stdout1509 2> log/4/stderr1509 1509: 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/ dir 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/4/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:43573/1509 127.0.0.1:38079 > log/4/stdout1509 2> log/4/stderr1509 === End of file commands.log === Start of file http2_server.log 07:52:31.241503 Run as proxy, CONNECT to host 127.0.0.1 07:52:31.241629 Running HTTP IPv4 version on port 38079 07:52:31.241673 Wrote pid 159904 to log/4/server/http2_server.pid 07:52:31.241704 Wrote port 38079 to log/4/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:32.210985 ====> Client connect 07:52:32.211015 accept_connection 3 returned 4 07:52:32.211033 accept_connection 3 returned 0 07:52:32.211047 Read 93 bytes 07:52:32.211059 Process 93 bytes request 07:52:32.211071 Got request: GET /verifiedserver HTTP/1.1 07:52:32.211082 Are-we-friendly question received 07:52:32.211106 Wrote request (93 bytes) input to log/4/server.input 07:52:32.211123 Identifying ourselves as friends 07:52:32.211174 Response sent (56 bytes) and written to log/4/server.response 07:52:32.211184 special request received, no persistency 07:52:32.211194 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 48082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === End of file http_verify.out === 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: 74732 === End of file server.response === Start of file stderr1509 URL: http://the.old.moo.1509:43573/1509 === End of file stderr1509 === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==160993== ==160993== Process terminating with default action of signal 4 (SIGILL) ==160993== Illegal opcode at address 0x51D5F1F ==160993== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160993== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160993== by 0x51D5F1F: Curl_open (url.c:525) ==160993== by 0x514F6EF: curl_easy_init (easy.c:371) ==160993== by 0x402FF59: UnknownInlinedFun (lib1509.c:42) ==160993== by 0x402FF59: test_lib1509.lto_priv.0 (lib1509.c:33) ==160993== by 0x400347F: main (first.c:280) ==160993== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160993== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160993== by 0x51D5EBD: Curl_open (url.c:504) ==160993== by 0x514F6EF: curl_easy_init (easy.c:371) ==160993== by 0x402FF59: UnknownInlinedFun (lib1509.c:42) ==160993== by 0x402FF59: test_lib1509.lto_priv.0 (lib1509.c:33) ==160993== by 0x400347F: main (first.c:280) ==160993== === End of file valgrind1509 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/24/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:41843/1527 127.0.0.1:35703 > log/24/stdout1527 2> log/24/stderr1527 1527: 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/ dir 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/24/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:41843/1527 127.0.0.1:35703 > log/24/stdout1527 2> log/24/stderr1527 === End of file commands.log === Start of file http2_server.log 07:52:32.248619 ====> Client connect 07:52:32.248660 accept_connection 3 returned 4 07:52:32.248680 accept_connection 3 returned 0 07:52:32.248698 Read 93 bytes 07:52:32.248715 Process 93 bytes request 07:52:32.248729 Got request: GET /verifiedserver HTTP/1.1 07:52:32.248739 Are-we-friendly question received 07:52:32.248764 Wrote request (93 bytes) input to log/24/proxy.input 07:52:32.248787 Identifying ourselves as friends 07:52:32.248873 Response sent (57 bytes) and written to log/24/proxy.response 07:52:32.248890 special request received, no persistency 07:52:32.248900 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35703... * Established connection to 127.0.0.1 (127.0.0.1 port 35703) from 127.0.0.1 port 55980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35703 > User-Agent: curl/8.17.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:35703 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 147059 === End of file http2_verify.out === Start of file http_server.log 07:52:32.208508 ====> Client connect 07:52:32.208542 accept_connection 3 returned 4 07:52:32.208561 accept_connection 3 returned 0 07:52:32.208577 Read 93 bytes 07:52:32.208589 Process 93 bytes request 07:52:32.208603 Got request: GET /verifiedserver HTTP/1.1 07:52:32.208613 Are-we-friendly question received 07:52:32.208637 Wrote request (93 bytes) input to log/24/server.input 07:52:32.208655 Identifying ourselves as friends 07:52:32.208716 Response sent (56 bytes) and written to log/24/server.response 07:52:32.208728 special request received, no persistency 07:52:32.208739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 53312 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147059 === 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: 74393 === End of file server.response === Start of file stderr1527 URL: http://the.old.moo.1527:41843/1527 === End of file stderr1527 === Start of file valgrind1527 ==161017== ==161017== Process terminating with default action of signal 4 (SIGILL) ==161017== Illegal opcode at address 0x51D5F1F ==161017== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161017== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161017== by 0x51D5F1F: Curl_open (url.c:525) ==161017== by 0x514F6EF: curl_easy_init (easy.c:371) ==161017== by 0x402EF70: test_lib1527.lto_priv.0 (lib1527.c:59) ==161017== by 0x400347F: main (first.c:280) ==161017== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161017== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161017== by 0x51D5EBD: Curl_open (url.c:504) ==161017== by 0x514F6EF: curl_easy_init (easy.c:371) ==CMD (33792): ../libtool --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/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:45761/1531 > log/21/stdout1531 2> log/21/stderr1531 CMD (33792): ../libtool --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/valgrind1530 ./libtest/libtests lib1530 - > log/22/stdout1530 2> log/22/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/7/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:39661/1532 > log/7/stdout1532 2> log/7/stderr1532 161017== by 0x402EF70: test_lib1527.lto_priv.0 (lib1527.c:59) ==161017== by 0x400347F: main (first.c:280) ==161017== === End of file valgrind1527 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/21/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:45761/1531 > log/21/stdout1531 2> log/21/stderr1531 1531: 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/ dir 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/21/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:45761/1531 > log/21/stdout1531 2> log/21/stderr1531 === End of file commands.log === Start of file http_server.log 07:52:32.455900 ====> Client connect 07:52:32.455940 accept_connection 3 returned 4 07:52:32.455960 accept_connection 3 returned 0 07:52:32.455977 Read 93 bytes 07:52:32.455989 Process 93 bytes request 07:52:32.456003 Got request: GET /verifiedserver HTTP/1.1 07:52:32.456014 Are-we-friendly question received 07:52:32.456041 Wrote request (93 bytes) input to log/21/server.input 07:52:32.456061 Identifying ourselves as friends 07:52:32.456132 Response sent (56 bytes) and written to log/21/server.response 07:52:32.456145 special request received, no persistency 07:52:32.456156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file stderr1531 URL: 127.0.0.1:45761/1531 === End of file stderr1531 === Start of file valgrind1531 ==161225== ==161225== Process terminating with default action of signal 4 (SIGILL) ==161225== Illegal opcode at address 0x51D5F1F ==161225== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161225== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161225== by 0x51D5F1F: Curl_open (url.c:525) ==161225== by 0x514F6EF: curl_easy_init (easy.c:371) ==161225== by 0x405EB15: test_lib1531.part.0.lto_priv.0 (lib1531.c:45) ==161225== by 0x400347F: main (first.c:280) ==161225== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161225== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161225== by 0x51D5EBD: Curl_open (url.c:504) ==161225== by 0x514F6EF: curl_easy_init (easy.c:371) ==161225== by 0x405EB15: test_lib1531.part.0.lto_priv.0 (lib1531.c:45) ==161225== by 0x400347F: main (first.c:280) ==161225== === End of file valgrind1531 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/22/valgrind1530 ./libtest/libtests lib1530 - > log/22/stdout1530 2> log/22/stderr1530 libtests returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/22/ dir 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/22/valgrind1530 ./libtest/libtests lib1530 - > log/22/stdout1530 2> log/22/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 ==161166== ==161166== Process terminating with default action of signal 4 (SIGILL) ==161166== Illegal opcode at address 0x51D5F1F ==161166== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161166== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161166== by 0x51D5F1F: Curl_open (url.c:525) ==161166== by 0x514F6EF: curl_easy_init (easy.c:371) ==161166== by 0x402F585: test_lib1530.lto_priv.0 (lib1530.c:50) ==161166== by 0x400347F: main (first.c:280) ==161166== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161166== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161166== by 0x51D5EBD: Curl_open (url.c:504) ==161166== by 0x514F6EF: curl_easy_init (easy.c:371) ==161166== by 0x402F585: test_lib1530.lto_priv.0 (lib1530.c:50) ==161166== by 0x400347F: main (first.c:280) ==161166== === End of file valgrind1530 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/7/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:39661/1532 > log/7/stdout1532 2> log/7/stderr1532 1532: 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/ dir 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/7/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:39661/1532 > log/7/stdout1532 2> log/7/stderr1532 === End of file commands.log === Start of file http_server.log 07:52:33.519984 ====> Client connect 07:52:33.520022 accept_connection 3 returned 4 07:52:33.520041 accept_connection 3 returned 0 07:52:33.520212 Read 93 bytes 07:52:33.520228 Process 93 bytes request 07:52:33.520245 Got request: GET /verifiedserver HTTP/1.1 07:52:33.520256 Are-we-friendly question received 07:52:33.520286 Wrote request (93 bytes) input to log/7/server.input 07:52:33.520306 Identifying ourselves as friends 07:52:33.520363 Response sent (56 bytes) and written to log/7/server.response 07:52:33.520374 special request received, no persistency 07:52:33.520384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 40946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr1532 URL: http://127.0.0.1:39661/1532 === End of file stderr1532 === Start of file valgrind1532 ==161282== ==161282== Process terminating with default action of signal 4 (SIGILL) ==161282== Illegal opcode at address 0x51D5F1F ==161282== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161282== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161282== by 0x51D5F1F: Curl_open (url.c:525) ==161282== by 0x514F6EF: curl_easy_init (easy.c:371) ==161282== by 0x4032519: UnknownInlinedFun (lib1532.c:38) ==161282== by 0x4032519: test_lib1532.lto_priv.0 (lib1532.c:30)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/valgrind1538 ./libtest/libtests lib1538 - > log/17/stdout1538 2> log/17/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/6/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:45933/1535 > log/6/stdout1535 2> log/6/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/18/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:46763/1534 > log/18/stdout1534 2> log/18/stderr1534 CMD (33792): ../libtool --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/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:34041/1533 > log/10/stdout1533 2> log/10/stderr1533 ==161282== by 0x400347F: main (first.c:280) ==161282== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161282== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161282== by 0x51D5EBD: Curl_open (url.c:504) ==161282== by 0x514F6EF: curl_easy_init (easy.c:371) ==161282== by 0x4032519: UnknownInlinedFun (lib1532.c:38) ==161282== by 0x4032519: test_lib1532.lto_priv.0 (lib1532.c:30) ==161282== by 0x400347F: main (first.c:280) ==161282== === End of file valgrind1532 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/17/valgrind1538 ./libtest/libtests lib1538 - > log/17/stdout1538 2> log/17/stderr1538 s------e-v- OK (1464 out of 1746, remaining: 00:21, took 0.841s, duration: 01:52) 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/6/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:45933/1535 > log/6/stdout1535 2> log/6/stderr1535 1535: 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/ dir 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/6/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:45933/1535 > log/6/stdout1535 2> log/6/stderr1535 === End of file commands.log === Start of file http_server.log 07:52:32.694396 ====> Client connect 07:52:32.694431 accept_connection 3 returned 4 07:52:32.694450 accept_connection 3 returned 0 07:52:32.694589 Read 93 bytes 07:52:32.694605 Process 93 bytes request 07:52:32.694621 Got request: GET /verifiedserver HTTP/1.1 07:52:32.694632 Are-we-friendly question received 07:52:32.694663 Wrote request (93 bytes) input to log/6/server.input 07:52:32.694682 Identifying ourselves as friends 07:52:32.694737 Response sent (56 bytes) and written to log/6/server.response 07:52:32.694748 special request received, no persistency 07:52:32.694759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr1535 URL: http://127.0.0.1:45933/1535 === End of file stderr1535 === Start of file valgrind1535 ==161409== ==161409== Process terminating with default action of signal 4 (SIGILL) ==161409== Illegal opcode at address 0x51D5F1F ==161409== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161409== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161409== by 0x51D5F1F: Curl_open (url.c:525) ==161409== by 0x514F6EF: curl_easy_init (easy.c:371) ==161409== by 0x4032CFB: UnknownInlinedFun (lib1535.c:38) ==161409== by 0x4032CFB: test_lib1535.lto_priv.0 (lib1535.c:30) ==161409== by 0x400347F: main (first.c:280) ==161409== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161409== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161409== by 0x51D5EBD: Curl_open (url.c:504) ==161409== by 0x514F6EF: curl_easy_init (easy.c:371) ==161409== by 0x4032CFB: UnknownInlinedFun (lib1535.c:38) ==161409== by 0x4032CFB: test_lib1535.lto_priv.0 (lib1535.c:30) ==161409== by 0x400347F: main (first.c:280) ==161409== === End of file valgrind1535 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/18/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:46763/1534 > log/18/stdout1534 2> log/18/stderr1534 1534: 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/ dir 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/18/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:46763/1534 > log/18/stdout1534 2> log/18/stderr1534 === End of file commands.log === Start of file http_server.log 07:52:33.696081 ====> Client connect 07:52:33.696114 accept_connection 3 returned 4 07:52:33.696131 accept_connection 3 returned 0 07:52:33.696145 Read 93 bytes 07:52:33.696157 Process 93 bytes request 07:52:33.696169 Got request: GET /verifiedserver HTTP/1.1 07:52:33.696180 Are-we-friendly question received 07:52:33.696204 Wrote request (93 bytes) input to log/18/server.input 07:52:33.696222 Identifying ourselves as friends 07:52:33.696275 Response sent (56 bytes) and written to log/18/server.response 07:52:33.696286 special request received, no persistency 07:52:33.696297 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr1534 URL: http://127.0.0.1:46763/1534 === End of file stderr1534 === Start of file valgrind1534 ==161404== ==161404== Process terminating with default action of signal 4 (SIGILL) ==161404== Illegal opcode at address 0x51D5F1F ==161404== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161404== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161404== by 0x51D5F1F: Curl_open (url.c:525) ==161404== by 0x514F6EF: curl_easy_init (easy.c:371) ==161404== by 0x40328DB: UnknownInlinedFun (lib1534.c:38) ==161404== by 0x40328DB: test_lib1534.lto_priv.0 (lib1534.c:30) ==161404== by 0x400347F: main (first.c:280) ==161404== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161404== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161404== by 0x51D5EBD: Curl_open (url.c:504) ==161404== by 0x514F6EF: curl_easy_init (easy.c:371) ==161404== by 0x40328DB: UnknownInlinedFun (lib1534.c:38) ==161404== by 0x40328DB: test_lib1534.lto_priv.0 (lib1534.c:30) ==161404== by 0x400347F: main (first.c:280) ==161404== === End of file valgrind1534 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/10/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:34041/1533 > log/10/stdout1533 2> log/10/stderr1533 1533: protocol FAILED! There was no content at all in the 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/valgrind1537 ./libtest/libtests lib1537 - > log/8/stdout1537 2> log/8/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/12/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:38023/1536 > log/12/stdout1536 2> log/12/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/20/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40357/1539 > log/20/stdout1539 2> log/20/stderr1539 file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ dir 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/10/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:34041/1533 > log/10/stdout1533 2> log/10/stderr1533 === End of file commands.log === Start of file http_server.log 07:52:32.680495 ====> Client connect 07:52:32.680533 accept_connection 3 returned 4 07:52:32.680552 accept_connection 3 returned 0 07:52:32.680721 Read 93 bytes 07:52:32.680735 Process 93 bytes request 07:52:32.680750 Got request: GET /verifiedserver HTTP/1.1 07:52:32.680761 Are-we-friendly question received 07:52:32.680796 Wrote request (93 bytes) input to log/10/server.input 07:52:32.680815 Identifying ourselves as friends 07:52:32.680869 Response sent (56 bytes) and written to log/10/server.response 07:52:32.680880 special request received, no persistency 07:52:32.680890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 45000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr1533 URL: http://127.0.0.1:34041/1533 === End of file stderr1533 === Start of file valgrind1533 ==161402== ==161402== Process terminating with default action of signal 4 (SIGILL) ==161402== Illegal opcode at address 0x51D5F1F ==161402== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161402== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161402== by 0x51D5F1F: Curl_open (url.c:525) ==161402== by 0x514F6EF: curl_easy_init (easy.c:371) ==161402== by 0x4030637: test_lib1533.lto_priv.0 (lib1533.c:137) ==161402== by 0x400347F: main (first.c:280) ==161402== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161402== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161402== by 0x51D5EBD: Curl_open (url.c:504) ==161402== by 0x514F6EF: curl_easy_init (easy.c:371) ==161402== by 0x4030637: test_lib1533.lto_priv.0 (lib1533.c:137) ==161402== by 0x400347F: main (first.c:280) ==161402== === End of file valgrind1533 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/8/valgrind1537 ./libtest/libtests lib1537 - > log/8/stdout1537 2> log/8/stderr1537 s------e-v- OK (1463 out of 1746, remaining: 00:21, took 1.117s, duration: 01:52) 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/12/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:38023/1536 > log/12/stdout1536 2> log/12/stderr1536 1536: 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/ dir 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/12/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:38023/1536 > log/12/stdout1536 2> log/12/stderr1536 === End of file commands.log === Start of file http_server.log 07:52:32.870685 ====> Client connect 07:52:32.870717 accept_connection 3 returned 4 07:52:32.870735 accept_connection 3 returned 0 07:52:32.870751 Read 93 bytes 07:52:32.870763 Process 93 bytes request 07:52:32.870778 Got request: GET /verifiedserver HTTP/1.1 07:52:32.870789 Are-we-friendly question received 07:52:32.870817 Wrote request (93 bytes) input to log/12/server.input 07:52:32.870835 Identifying ourselves as friends 07:52:32.870981 Response sent (56 bytes) and written to log/12/server.response 07:52:32.870993 special request received, no persistency 07:52:32.871004 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 41204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file stderr1536 URL: http://127.0.0.1:38023/1536 === End of file stderr1536 === Start of file valgrind1536 ==161566== ==161566== Process terminating with default action of signal 4 (SIGILL) ==161566== Illegal opcode at address 0x51D5F1F ==161566== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161566== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161566== by 0x51D5F1F: Curl_open (url.c:525) ==161566== by 0x514F6EF: curl_easy_init (easy.c:371) ==161566== by 0x40330BD: UnknownInlinedFun (lib1536.c:38) ==161566== by 0x40330BD: test_lib1536.lto_priv.0 (lib1536.c:30) ==161566== by 0x400347F: main (first.c:280) ==161566== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161566== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161566== by 0x51D5EBD: Curl_open (url.c:504) ==161566== by 0x514F6EF: curl_easy_init (easy.c:371) ==161566== by 0x40330BD: UnknownInlinedFun (lib1536.c:38) ==161566== by 0x40330BD: test_lib1536.lto_priv.0 (lib1536.c:30) ==161566== by 0x400347F: main (first.c:280) ==161566== === End of file valgrind1536 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/20/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40357/1539 > log/20/stdout1539 2> log/20/stderr1539 libtests returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/20/ dir 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/20/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40357/1539 > log/20/stdout1539 2> log/20/stderr1539 === End of file commands.log === Start of file http_server.log 07:52:32.972338 ====> Client connect 07:52:32.972375 accept_connection 3 returned 4 07:52:32.972392 accept_connection 3 returned 0 07:52:32.972408 Read 93 bytes 07:52:32.972419 Process 93 bytes request 07:52:32.972433 Got request: GET /verifiedserver HTTP/1.1 07:52:32.972443 Are-we-friendly question received 07:52:32.972468 Wrote request (93 bytes) input to log/20/server.input 07:52:32.972487 Identifying ourselves as friends 07:52:32.972557 Response sent (56 bytes) and written to log/20/server.response 07:52:32.972569 special request received, no persistency 07:52:32.972579CMD (33792): ../libtool --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/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:43955/1540 > log/2/stdout1540 2> log/2/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/1/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:35709/1541 > log/1/stdout1541 2> log/1/stderr1541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 58864 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 17 WE ROOLZ: 74397 === End of file server.response === Start of file stderr1539 URL: http://127.0.0.1:40357/1539 === End of file stderr1539 === Start of file valgrind1539 ==161695== ==161695== Process terminating with default action of signal 4 (SIGILL) ==161695== Illegal opcode at address 0x51D5F1F ==161695== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161695== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161695== by 0x51D5F1F: Curl_open (url.c:525) ==161695== by 0x514F6EF: curl_easy_init (easy.c:371) ==161695== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==161695== by 0x400347F: main (first.c:280) ==161695== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161695== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161695== by 0x51D5EBD: Curl_open (url.c:504) ==161695== by 0x514F6EF: curl_easy_init (easy.c:371) ==161695== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==161695== by 0x400347F: main (first.c:280) ==161695== === End of file valgrind1539 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/2/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:43955/1540 > log/2/stdout1540 2> log/2/stderr1540 1540: 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/ dir 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/2/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:43955/1540 > log/2/stdout1540 2> log/2/stderr1540 === End of file commands.log === Start of file http_server.log 07:52:34.092430 ====> Client connect 07:52:34.092470 accept_connection 3 returned 4 07:52:34.092504 accept_connection 3 returned 0 07:52:34.092521 Read 93 bytes 07:52:34.092532 Process 93 bytes request 07:52:34.092547 Got request: GET /verifiedserver HTTP/1.1 07:52:34.092557 Are-we-friendly question received 07:52:34.092584 Wrote request (93 bytes) input to log/2/server.input 07:52:34.092603 Identifying ourselves as friends 07:52:34.092658 Response sent (56 bytes) and written to log/2/server.response 07:52:34.092668 special request received, no persistency 07:52:34.092678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 32776 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr1540 URL: http://127.0.0.1:43955/1540 === End of file stderr1540 === Start of file valgrind1540 ==161817== ==161817== Process terminating with default action of signal 4 (SIGILL) ==161817== Illegal opcode at address 0x51D5F1F ==161817== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161817== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161817== by 0x51D5F1F: Curl_open (url.c:525) ==161817== by 0x514F6EF: curl_easy_init (easy.c:371) ==161817== by 0x4032011: test_lib1540.lto_priv.0 (lib1540.c:96) ==161817== by 0x400347F: main (first.c:280) ==161817== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161817== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161817== by 0x51D5EBD: Curl_open (url.c:504) ==161817== by 0x514F6EF: curl_easy_init (easy.c:371) ==161817== by 0x4032011: test_lib1540.lto_priv.0 (lib1540.c:96) ==161817== by 0x400347F: main (first.c:280) ==161817== === End of file valgrind1540 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:35709/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/ dir 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:35709/1541 > log/1/stdout1541 2> log/1/stderr1541 === End of file commands.log === Start of file http_server.log 07:52:33.106483 ====> Client connect 07:52:33.106520 accept_connection 3 returned 4 07:52:33.106539 accept_connection 3 returned 0 07:52:33.106556 Read 93 bytes 07:52:33.106567 Process 93 bytes request 07:52:33.106582 Got request: GET /verifiedserver HTTP/1.1 07:52:33.106592 Are-we-friendly question received 07:52:33.106619 Wrote request (93 bytes) input to log/1/server.input 07:52:33.106637 Identifying ourselves as friends 07:52:33.106695 Response sent (56 bytes) and written to log/1/server.response 07:52:33.106707 special request received, no persistency 07:52:33.106717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 48390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file stderr1541 URL: http://127.0.0.1:35709/1541 === End of file stderr1541 === Start of file valgrind1541 ==161823== ==161823== Process terminating with default action of signal 4 (SIGILL) ==161823== Illegal opcode at address 0x51D5F1F ==161823== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161823== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161823== by 0x51D5F1F: Curl_open (url.c:525) ==161823== by 0x514F6EF: curl_easy_init (easy.c:371) ==161823== by 0x4033CB4: test_lib1541.lto_priv.0 (lib1541.c:122) ==161823== by 0x400347F: main (first.c:280) ==161823== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161823== at 0x510AC13: calloc (vg_replace_malloc.c:1675) CMD (33792): ../libtool --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/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:41029/1542 > log/23/stdout1542 2> log/23/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/19/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:34835/1545 > log/19/stdout1545 2> log/19/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/11/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:38169/1526 127.0.0.1:35249 > log/11/stdout1526 2> log/11/stderr1526 ==161823== by 0x51D5EBD: Curl_open (url.c:504) ==161823== by 0x514F6EF: curl_easy_init (easy.c:371) ==161823== by 0x4033CB4: test_lib1541.lto_priv.0 (lib1541.c:122) ==161823== by 0x400347F: main (first.c:280) ==161823== === End of file valgrind1541 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/23/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:41029/1542 > log/23/stdout1542 2> log/23/stderr1542 1542: 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/ dir 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/23/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:41029/1542 > log/23/stdout1542 2> log/23/stderr1542 === End of file commands.log === Start of file http_server.log 07:52:33.236817 ====> Client connect 07:52:33.236852 accept_connection 3 returned 4 07:52:33.236869 accept_connection 3 returned 0 07:52:33.236884 Read 93 bytes 07:52:33.236894 Process 93 bytes request 07:52:33.236908 Got request: GET /verifiedserver HTTP/1.1 07:52:33.236917 Are-we-friendly question received 07:52:33.236941 Wrote request (93 bytes) input to log/23/server.input 07:52:33.236958 Identifying ourselves as friends 07:52:33.239326 Response sent (56 bytes) and written to log/23/server.response 07:52:33.239344 special request received, no persistency 07:52:33.239356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 52522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr1542 URL: http://127.0.0.1:41029/1542 === End of file stderr1542 === Start of file valgrind1542 ==161973== ==161973== Process terminating with default action of signal 4 (SIGILL) ==161973== Illegal opcode at address 0x51D5F1F ==161973== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161973== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161973== by 0x51D5F1F: Curl_open (url.c:525) ==161973== by 0x514F6EF: curl_easy_init (easy.c:371) ==161973== by 0x402F69B: UnknownInlinedFun (lib1542.c:45) ==161973== by 0x402F69B: test_lib1542.lto_priv.0 (lib1542.c:38) ==161973== by 0x400347F: main (first.c:280) ==161973== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161973== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161973== by 0x51D5EBD: Curl_open (url.c:504) ==161973== by 0x514F6EF: curl_easy_init (easy.c:371) ==161973== by 0x402F69B: UnknownInlinedFun (lib1542.c:45) ==161973== by 0x402F69B: test_lib1542.lto_priv.0 (lib1542.c:38) ==161973== by 0x400347F: main (first.c:280) ==161973== === End of file valgrind1542 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/19/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:34835/1545 > log/19/stdout1545 2> log/19/stderr1545 libtests returned 132, when expecting 0 1545: exit FAILED == Contents of files in the log/19/ dir 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/19/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:34835/1545 > log/19/stdout1545 2> log/19/stderr1545 === End of file commands.log === Start of file http_server.log 07:52:33.315935 ====> Client connect 07:52:33.315968 accept_connection 3 returned 4 07:52:33.315983 accept_connection 3 returned 0 07:52:33.321213 Read 93 bytes 07:52:33.321241 Process 93 bytes request 07:52:33.321256 Got request: GET /verifiedserver HTTP/1.1 07:52:33.321267 Are-we-friendly question received 07:52:33.321305 Wrote request (93 bytes) input to log/19/server.input 07:52:33.321325 Identifying ourselves as friends 07:52:33.321390 Response sent (56 bytes) and written to log/19/server.response 07:52:33.321401 special request received, no persistency 07:52:33.321412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 57082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr1545 URL: http://127.0.0.1:34835/1545 === End of file stderr1545 === Start of file valgrind1545 ==162094== ==162094== Process terminating with default action of signal 4 (SIGILL) ==162094== Illegal opcode at address 0x51D5F1F ==162094== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162094== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162094== by 0x51D5F1F: Curl_open (url.c:525) ==162094== by 0x514F6EF: curl_easy_init (easy.c:371) ==162094== by 0x4034349: test_lib1545.lto_priv.0 (lib1545.c:35) ==162094== by 0x400347F: main (first.c:280) ==162094== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162094== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162094== by 0x51D5EBD: Curl_open (url.c:504) ==162094== by 0x514F6EF: curl_easy_init (easy.c:371) ==162094== by 0x4034349: test_lib1545.lto_priv.0 (lib1545.c:35) ==162094== by 0x400347F: main (first.c:280) ==162094== === End of file valgrind1545 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 160938 port 35249 * pid http-proxy => 160938 160938 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/11/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:38169/1526 127.0.0.1:35249 > log/11/stdout1526 2> log/11/stderr1526 1526: 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/ dir 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/11/valgrind1526 ./libtest/libtests 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/15/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:43789/ /with/ space/ /file" > log/15/stdout1543 2> log/15/stderr1543 ib1526 http://the.old.moo.1526:38169/1526 127.0.0.1:35249 > log/11/stdout1526 2> log/11/stderr1526 === End of file commands.log === Start of file http2_server.log 07:52:32.229361 Run as proxy, CONNECT to host 127.0.0.1 07:52:32.229485 Running HTTP IPv4 version on port 35249 07:52:32.229530 Wrote pid 160938 to log/11/server/http2_server.pid 07:52:32.229561 Wrote port 35249 to log/11/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:32.195078 ====> Client connect 07:52:32.195116 accept_connection 3 returned 4 07:52:32.195135 accept_connection 3 returned 0 07:52:32.195151 Read 93 bytes 07:52:32.195162 Process 93 bytes request 07:52:32.195177 Got request: GET /verifiedserver HTTP/1.1 07:52:32.195188 Are-we-friendly question received 07:52:32.195212 Wrote request (93 bytes) input to log/11/server.input 07:52:32.195230 Identifying ourselves as friends 07:52:32.195289 Response sent (56 bytes) and written to log/11/server.response 07:52:32.195300 special request received, no persistency 07:52:32.195310 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38169... * Established connection to 127.0.0.1 (127.0.0.1 port 38169) from 127.0.0.1 port 45698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38169 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38169 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74504 === End of file http_verify.out === 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: 74504 === End of file server.response === Start of file stderr1526 URL: http://the.old.moo.1526:38169/1526 === End of file stderr1526 === Start of file valgrind1526 ==161942== ==161942== Process terminating with default action of signal 4 (SIGILL) ==161942== Illegal opcode at address 0x51D5F1F ==161942== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161942== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161942== by 0x51D5F1F: Curl_open (url.c:525) ==161942== by 0x514F6EF: curl_easy_init (easy.c:371) ==161942== by 0x402ECCE: test_lib1526.lto_priv.0 (lib1526.c:59) ==161942== by 0x400347F: main (first.c:280) ==161942== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161942== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161942== by 0x51D5EBD: Curl_open (url.c:504) ==161942== by 0x514F6EF: curl_easy_init (easy.c:371) ==161942== by 0x402ECCE: test_lib1526.lto_priv.0 (lib1526.c:59) ==161942== by 0x400347F: main (first.c:280) ==161942== === End of file valgrind1526 CMD (33792): ../libtool --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/valgrind1546 ../src/curl -q --output log/16/curl1546.out --include --trace-ascii log/16/trace1546 --trace-time http://127.0.0.1:44351/1546 --tr-encoding > log/16/stdout1546 2> log/16/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/14/valgrind1548 ../src/curl -q --output log/14/curl1548.out --include --trace-ascii log/14/trace1548 --trace-time -m 1 telnet://127.0.0.1:34115 log/14/stdout1548 2> log/14/stderr1548 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/15/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:43789/ /with/ space/ /file" > log/15/stdout1543 2> log/15/stderr1543 1543: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:34.767374276 +0000 +++ log/15/check-generated 2025-11-07 07:52:34.767374276 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:43789/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/15/ dir after test 1543 === Start of file check-expected res 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:43789/%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/15/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:43789/ /with/ space/ /file" > log/15/stdout1543 2> log/15/stderr1543 === End of file commands.log === Start of file http_server.log 07:52:33.258194 ====> Client connect 07:52:33.258232 accept_connection 3 returned 4 07:52:33.258249 accept_connection 3 returned 0 07:52:33.258263 Read 93 bytes 07:52:33.258274 Process 93 bytes request 07:52:33.258288 Got request: GET /verifiedserver HTTP/1.1 07:52:33.258298 Are-we-friendly question received 07:52:33.258323 Wrote request (93 bytes) input to log/15/server.input 07:52:33.258340 Identifying ourselves as friends 07:52:33.258395 Response sent (56 bytes) and written to log/15/server.response 07:52:33.258405 special request received, no persistency 07:52:33.258415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 38218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file stderr1543 URL: http://127.0.0.1:43789/ /with/ space/ /file === End of file stderr1543 === Start of file valgrind1543 ==161969== ==161969== Process terminating with default action of signal 4 (SIGILL) ==161969== Illegal opcode at address 0x51D5F1F ==161969== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161969== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161969== by 0x51D5F1F: Curl_open (url.c:525) ==161969== by 0x514F6EF: curl_easy_init (easy.c:371) ==161969== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==161969== by 0x400347F: main (first.c:280) ==161969== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161969== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161969== by 0x51D5EBD: Curl_open (url.c:504) ==161969== by 0x514F6EF: curl_easy_init (easy.c:371) ==161969== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==161969== by 0x400347F: main (first.c:280) ==161969== === End of file valgrind1543 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/16/valgrind1546 ../src/curl -q --output log/16/curl1546.out --include --trace-ascii log/16/trace1546 --trace-time http://127.0.0.1:44351/1546 --tr-encoding > log/16/stdout1546 2> log/16/stderr1546 1546: 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/ dir 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/16/valgrind1546 ../src/curl -q --output log/16/curl1546.out --include --trace-ascii log/16/trace1546 --trace-time http://127.0.0.1:44351/1546 --tr-encoding > log/16/stdout1546 2> log/16/stderr1546 === End of file commands.log === Start of file http_server.log 07:52:33.315582 ====> Client connect 07:52:33.315619 accept_connection 3 returned 4 07:52:33.315638 accept_connection 3 returned 0 07:52:33.315656 Read 93 bytes 07:52:33.315669 Process 93 bytes request 07:52:33.315685 Got request: GET /verifiedserver HTTP/1.1 07:52:33.315696 Are-we-friendly question received 07:52:33.315724 Wrote request (93 bytes) input to log/16/server.input 07:52:33.315742 Identifying ourselves as friends 07:52:33.315802 Response sent (56 bytes) and written to log/16/server.response 07:52:33.315814 special request received, no persistency 07:52:33.315839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file valgrind1546 ==162089== ==162089== Process terminating with default action of signal 4 (SIGILL) ==162089== Illegal opcode at address 0x4013DC0 ==162089== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==162089== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==162089== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==162089== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1546 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/14/valgrind1548 ../src/curl -q --output log/14/curl1548.out --include --trace-ascii log/14/trace1548 --trace-time -m 1 telnet://127.0.0.1:34115 log/14/stdout1548 2> log/14/stderr1548 curl returned 132, when expecting 28 1548: exit FAILED == Contents of files in the log/14/ dir 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/14/valgrind1548 ../src/curl -q --output log/14/curl1548.out --include --trace-ascii log/14/trace1548 --trace-time -m 1 telnet://127.0.0.1:34115 log/14/stdout1548 2> log/14/stderr1548 === End of file commands.log === Start of file http_server.log 07:52:33.406698 ====> Client connect 07:52:33.406730 accept_connection 3 returned 4 07:52:33.406748 accept_connection 3 returned 0 07:52:33.406763 Read 93 bytes 07:52:33.406774 Process 93 bytes request 07:52:33.406789 Got request: GET /verifiedserver HTTP/1.1 07:52:33.406800 Are-we-friendly question received 07:52:33.406823 Wrote request (93 bytes) input to log/14/server.input 07:52:33.406841 Identifying ourselves as friends 07:52:33.406894 Response sent (56 bytes) and written to log/14/server.response 07:52: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/5/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:42797/1528 127.0.0.1:39749 > log/5/stdout1528 2> log/5/stderr1528 3.406905 special request received, no persistency 07:52:33.406915 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 40360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === 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 ==162299== ==162299== Process terminating with default action of signal 4 (SIGILL) ==162299== Illegal opcode at address 0x4013DC0 ==162299== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==162299== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==162299== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==162299== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1548 CMD (33792): ../libtool --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/valgrind1547 ../src/curl -q --output log/13/curl1547.out --include --trace-ascii log/13/trace1547 --trace-time ftp://127.0.0.1:33699/test-1547/ -P 127.0.0.1 --ftp-pasv > log/13/stdout1547 2> log/13/stderr1547 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 161131 port 39749 * pid http-proxy => 161131 161131 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/5/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:42797/1528 127.0.0.1:39749 > log/5/stdout1528 2> log/5/stderr1528 1528: data FAILED: --- log/5/check-expected 2025-11-07 07:52:34.884040943 +0000 +++ log/5/check-generated 2025-11-07 07:52:34.884040943 +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/5/ dir 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/5/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:42797/1528 127.0.0.1:39749 > log/5/stdout1528 2> log/5/stderr1528 === End of file commands.log === Start of file http2_server.log 07:52:32.367350 Run as proxy, CONNECT to host 127.0.0.1 07:52:32.367462 Running HTTP IPv4 version on port 39749 07:52:32.367500 Wrote pid 161131 to log/5/server/http2_server.pid 07:52:32.367529 Wrote port 39749 to log/5/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:32.321467 ====> Client connect 07:52:32.321501 accept_connection 3 returned 4 07:52:32.321520 accept_connection 3 returned 0 07:52:32.321536 Read 93 bytes 07:52:32.321548 Process 93 bytes request 07:52:32.321563 Got request: GET /verifiedserver HTTP/1.1 07:52:32.321573 Are-we-friendly question received 07:52:32.321599 Wrote request (93 bytes) input to log/5/server.input 07:52:32.321617 Identifying ourselves as friends 07:52:32.321672 Response sent (56 bytes) and written to log/5/server.response 07:52:32.321683 special request received, no persistency 07:52:32.321693 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 51856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === End of file http_verify.out === 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: 75828 === End of file server.response === Start of file stderr1528 URL: http://the.old.moo:42797/1528 === End of file stderr1528 === Start of file valgrind1528 ==162143== ==162143== Process terminating with default action of signal 4 (SIGILL) ==162143== Illegal opcode at address 0x51D5F1F ==162143== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162143== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162143== by 0x51D5F1F: Curl_open (url.c:525) ==162143== by 0x514F6EF: curl_easy_init (easy.c:371) ==162143== by 0x402F20E: test_lib1528.lto_priv.0 (lib1528.c:41) ==162143== by 0x400347F: main (first.c:280) ==162143== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162143== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162143== by 0x51D5EBD: Curl_open (url.c:504) ==162143== by 0x514F6EF: curl_easy_init (easy.c:371) ==162143== by 0x402F20E: test_lib1528.lto_priv.0 (lib1528.c:41) ==162143== by 0x400347F: main (first.c:280) ==162143== === End of file valgrind1528 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/13/valgrind1547 ../src/curl -q --output log/13/curl1547.out --include --trace-ascii log/13/trace1547 --trace-time ftp://127.0.0.1:33699/test-1547/ -P 127.0.0.1 --ftp-pasv > log/13/stdout1547 2> log/13/stderr1547 1547: 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/ dir 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/13/valgrind1547 ../src/curl -q --output log/13/curl1547.out --include --trace-ascii log/13/trace1547 --trace-time ftp://127.0.0.1:33699/test-1547/ -P 127.0.0.1 --ftp-pasv > log/13/stdout1547 2> log/13/stderr1547 === End of file commands.log === Start of file ftp_server.log 07:52:33.491270 ====> Client connect 07:52:33.491445 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:33.496634 < "USER anonymous" 07:52:33.496689 > "331 We are happy you popped in![CR][LF]" 07:52:33.497230 < "PASS ftp@example.com" 07:52:33.497272 > "230 Welcome you silly person[CR][LF]" 07:52:33.501327 < "PWD" 07:52:33.501380 > "257 "/" is current directory[CR][LF]" 07:52:33.501601 < "EPSV" 07:52:33.501630 ====> Passive DATA channel requested by client 07:52:33.501645 DATA sockfilt for passive data channel starting... 07:52:33.511316 DATA sockfilt for passive data channel started (pid 162084) 07:52:33.511457 DATA sockfilt for passive data channel listens on port 36969 07:52:33.511509 > "229 Entering Passive Mode (|||36969|)[CR][LF]" 07:52:33.511531 Client has been notified that DATA conn will be accepted on port 36969 07:52:33.514278 Client connects to port 36969 07:52:33.514323 ====> Client established passive DATA connection on port 36969 07:52:33.514426 < "TYPE I" 07:52:33.514464 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:33.514676 < "SIZE verifiedserver" 07:52:33.514719 > "213 17[CR][LF]" 07:52:33.514879 < "RETR verifiedserver" 07:52:33.514912 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:33.515015 =====> Closing passive DATA connection... 07:52:33.515030 Server disconnects passive DATA connection 07:52:33.518044 Server disconnected passive DATA connection 07:52:33.518074 DATA sockfilt for passive data channel quits (pid 162084) 07:52:33.518324 DATA sockfilt for passive data channel quit (pid 162084) 07:52:33.518353 =====> Closed passive DATA connection 07:52:33.518383 > "226 File transfer complete[CR][LF]" 07:52:33.564849 < "QUIT" 07:52:33.564907 > "221 bye bye baby[CR][LF]" 07:52:33.565838 MAIN sockfilt said DISC 07:52:33.565878 ====> Client disconnected 07:52:33.565954 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:34.317501 ====> Client connect 07:52:34.322651 Received DATA (on stdin) 07:52:34.322681 > 160 bytes data, server => client 07:52:34.322694 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:34.322706 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:34.322CMD (33792): ../libtool --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/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:41843/1551 > log/24/stdout1551 2> log/24/stderr1551 CMD (33792): ../libtool --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/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:42717/1529" 127.0.0.1:33583 > log/9/stdout1529 2> log/9/stderr1529 717 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:34.322794 < 16 bytes data, client => server 07:52:34.322807 'USER anonymous\r\n' 07:52:34.324637 Received DATA (on stdin) 07:52:34.324653 > 33 bytes data, server => client 07:52:34.324665 '331 We are happy you popped in!\r\n' 07:52:34.324722 < 22 bytes data, client => server 07:52:34.324734 'PASS ftp@example.com\r\n' 07:52:34.326180 Received DATA (on stdin) 07:52:34.326202 > 30 bytes data, server => client 07:52:34.326214 '230 Welcome you silly person\r\n' 07:52:34.326272 < 5 bytes data, client => server 07:52:34.326283 'PWD\r\n' 07:52:34.329328 Received DATA (on stdin) 07:52:34.329345 > 30 bytes data, server => client 07:52:34.329359 '257 "/" is current directory\r\n' 07:52:34.329437 < 6 bytes data, client => server 07:52:34.329453 'EPSV\r\n' 07:52:34.341156 Received DATA (on stdin) 07:52:34.341179 > 39 bytes data, server => client 07:52:34.341190 '229 Entering Passive Mode (|||36969|)\r\n' 07:52:34.341336 < 8 bytes data, client => server 07:52:34.341349 'TYPE I\r\n' 07:52:34.342408 Received DATA (on stdin) 07:52:34.342424 > 33 bytes data, server => client 07:52:34.342437 '200 I modify TYPE as you wanted\r\n' 07:52:34.342511 < 21 bytes data, client => server 07:52:34.342525 'SIZE verifiedserver\r\n' 07:52:34.342659 Received DATA (on stdin) 07:52:34.342672 > 8 bytes data, server => client 07:52:34.342683 '213 17\r\n' 07:52:34.342734 < 21 bytes data, client => server 07:52:34.342747 'RETR verifiedserver\r\n' 07:52:34.342973 Received DATA (on stdin) 07:52:34.342986 > 29 bytes data, server => client 07:52:34.342998 '150 Binary junk (17 bytes).\r\n' 07:52:34.347339 Received DATA (on stdin) 07:52:34.347361 > 28 bytes data, server => client 07:52:34.347373 '226 File transfer complete\r\n' 07:52:34.392622 < 6 bytes data, client => server 07:52:34.392653 'QUIT\r\n' 07:52:34.392856 Received DATA (on stdin) 07:52:34.392871 > 18 bytes data, server => client 07:52:34.392883 '221 bye bye baby\r\n' 07:52:34.393715 ====> Client disconnect 07:52:34.393894 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:33.331471 Running IPv4 version 07:52:33.331525 Listening on port 36969 07:52:33.331561 Wrote pid 162084 to log/13/server/ftp_sockdata.pid 07:52:33.339171 Received PING (on stdin) 07:52:33.339295 Received PORT (on stdin) 07:52:33.342025 ====> Client connect 07:52:33.345836 Received DATA (on stdin) 07:52:33.345862 > 17 bytes data, server => client 07:52:33.345876 'WE ROOLZ: 80695\r\n' 07:52:33.345913 Received DISC (on stdin) 07:52:33.345928 ====> Client forcibly disconnected 07:52:33.346026 Received QUIT (on stdin) 07:52:33.346039 quits 07:52:33.346103 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1547 === End of file server.cmd === Start of file valgrind1547 ==162281== ==162281== Process terminating with default action of signal 4 (SIGILL) ==162281== Illegal opcode at address 0x4013DC0 ==162281== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==162281== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==162281== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==162281== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1547 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/24/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:41843/1551 > log/24/stdout1551 2> log/24/stderr1551 1551: 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/ dir 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/24/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:41843/1551 > log/24/stdout1551 2> log/24/stderr1551 === End of file commands.log === Start of file http_server.log 07:52:33.454254 ====> Client connect 07:52:33.454291 accept_connection 3 returned 4 07:52:33.454309 accept_connection 3 returned 0 07:52:33.454325 Read 93 bytes 07:52:33.454337 Process 93 bytes request 07:52:33.454352 Got request: GET /verifiedserver HTTP/1.1 07:52:33.454363 Are-we-friendly question received 07:52:33.454389 Wrote request (93 bytes) input to log/24/server.input 07:52:33.454406 Identifying ourselves as friends 07:52:33.454462 Response sent (56 bytes) and written to log/24/server.response 07:52:33.454474 special request received, no persistency 07:52:33.454484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 53316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file stderr1551 URL: http://127.0.0.1:41843/1551 === End of file stderr1551 === Start of file valgrind1551 ==162404== ==162404== Process terminating with default action of signal 4 (SIGILL) ==162404== Illegal opcode at address 0x51D5F1F ==162404== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162404== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162404== by 0x51D5F1F: Curl_open (url.c:525) ==162404== by 0x514F6EF: curl_easy_init (easy.c:371) ==162404== by 0x402F96A: UnknownInlinedFun (lib1551.c:36) ==162404== by 0x402F96A: test_lib1551.lto_priv.0 (lib1551.c:30) ==162404== by 0x400347F: main (first.c:280) ==162404== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162404== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162404== by 0x51D5EBD: Curl_open (url.c:504) ==162404== by 0x514F6EF: curl_easy_init (easy.c:371) ==162404== by 0x402F96A: UnknownInlinedFun (lib1551.c:36) ==162404== by 0x402F96A: test_lib1551.lto_priv.0 (lib1551.c:30) ==162404== by 0x400347F: main (first.c:280) ==162404== === End of file valgrind1551 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/9/server/http2_server.pid" --logfile "log/9/http2_server.log" --logdir "log/9" --portfile log/9/server/http2_server.port --config log/9/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 161167 port 33583 * pid http-proxy => 161167 161167 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/9/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:42717/1529" 127.0.0.1:33583 > log/9/stdout1529 2> log/9/stderr1529 libtests returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/9/ dir 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/9/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:42717/1529" 127.0.0.1:33583 > log/9/stdout1529 2> log/9/stderr1529 === End of file commands.log === Start of file http2_server.log 07:52:32.454900 Run as proxy, CONNECT to host 127.0.0.1 07:52:32.455025 Running HTTP IPv4 version on portCMD (33792): ../libtool --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/valgrind1550 ./libtest/libtests lib1550 - > log/4/stdout1550 2> log/4/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/7/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:39661/1554 > log/7/stdout1554 2> log/7/stderr1554 33583 07:52:32.455068 Wrote pid 161167 to log/9/server/http2_server.pid 07:52:32.455099 Wrote port 33583 to log/9/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 07:52:32.412312 ====> Client connect 07:52:32.412347 accept_connection 3 returned 4 07:52:32.412364 accept_connection 3 returned 0 07:52:32.412380 Read 93 bytes 07:52:32.412391 Process 93 bytes request 07:52:32.412406 Got request: GET /verifiedserver HTTP/1.1 07:52:32.412416 Are-we-friendly question received 07:52:32.412442 Wrote request (93 bytes) input to log/9/server.input 07:52:32.412459 Identifying ourselves as friends 07:52:32.414796 Response sent (56 bytes) and written to log/9/server.response 07:52:32.414814 special request received, no persistency 07:52:32.414824 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 17 WE ROOLZ: 74613 === End of file server.response === Start of file stderr1529 URL: http://the.old.moo:42717/1529 === End of file stderr1529 === Start of file valgrind1529 ==162335== ==162335== Process terminating with default action of signal 4 (SIGILL) ==162335== Illegal opcode at address 0x51D5F1F ==162335== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162335== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162335== by 0x51D5F1F: Curl_open (url.c:525) ==162335== by 0x514F6EF: curl_easy_init (easy.c:371) ==162335== by 0x402F415: test_lib1529.lto_priv.0 (lib1529.c:41) ==162335== by 0x400347F: main (first.c:280) ==162335== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162335== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162335== by 0x51D5EBD: Curl_open (url.c:504) ==162335== by 0x514F6EF: curl_easy_init (easy.c:371) ==162335== by 0x402F415: test_lib1529.lto_priv.0 (lib1529.c:41) ==162335== by 0x400347F: main (first.c:280) ==162335== === End of file valgrind1529 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/4/valgrind1550 ./libtest/libtests lib1550 - > log/4/stdout1550 2> log/4/stderr1550 libtests returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind1550 ./libtest/libtests lib1550 - > log/4/stdout1550 2> log/4/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 ==162250== ==162250== Process terminating with default action of signal 4 (SIGILL) ==162250== Illegal opcode at address 0x519E800 ==162250== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162250== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162250== by 0x519E800: Curl_multi_handle (multi.c:247) ==162250== by 0x402C0A1: UnknownInlinedFun (lib1550.c:40) ==162250== by 0x402C0A1: test_lib1550.lto_priv.0 (lib1550.c:30) ==162250== by 0x400347F: main (first.c:280) ==162250== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162250== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162250== by 0x519E794: Curl_multi_handle (multi.c:239) ==162250== by 0x402C0A1: UnknownInlinedFun (lib1550.c:40) ==162250== by 0x402C0A1: test_lib1550.lto_priv.0 (lib1550.c:30) ==162250== by 0x400347F: main (first.c:280) ==162250== === End of file valgrind1550 CMD (33792): ../libtool --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/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:44177/1552/;MAILINDEX=1' > log/21/stdout1552 2> log/21/stderr1552 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/7/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:39661/1554 > log/7/stdout1554 2> log/7/stderr1554 1554: data FAILED: --- log/7/check-expected 2025-11-07 07:52:35.107374279 +0000 +++ log/7/check-generated 2025-11-07 07:52:35.107374279 +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/7/ dir 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/7/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:39661/1554 > log/7/stdout1554 2> log/7/stderr1554 === End of file commands.log === Start of file http_server.log 07:52:34.619231 ====> Client connect 07:52:34.619273 accept_connection 3 returned 4 07:52:34.619292 accept_connection 3 returned 0 07:52:34.619309 Read 93 bytes 07:52:34.619319 Process 93 bytes request 07:52:34.619332 Got request: GET /verifiedserver HTTP/1.1 07:52:34.619342 Are-we-friendly question received 07:52:34.619365 Wrote request (93 bytes) input to log/7/server.input 07:52:34.619383 Identifying ourselves as friends 07:52:34.619451 Response sent (56 bytes) and written to log/7/server.response 07:52:34.619461 special request received, no persistency 07:52:34.619471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 40960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr1554 URL: http://127.0.0.1:39661/1554 === End of file stderr1554 === Start of file valgrind1554 ==162605== ==162605== Process terminating with default action of signal 4 (SIGILL) ==162605== Illegal opcode at address 0x51D5F1F ==162605== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162605== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162605== by 0x51D5F1F: Curl_open (url.c:525) ==162605== by 0x514F6EF: curl_easy_init (easy.c:371) ==162605== by 0x51C6E41: curl_share_init (share.c:49) ==162605== by 0x4035493: UnknownInlinedFun (lib1554.c:67) ==162605== by 0x4035493: test_lib1554.lto_priv.0 (lib1554.c:59) ==162605== by 0x400347F: main (first.c:280) ==162605== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==162605== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162605== by 0x51D5EBD: Curl_open (url.c:504) ==162605== by 0x514F6EF: curl_easy_init (easy.c:371) ==162605== by 0x51C6E41: curl_share_init (share.c:49) ==162605== by 0x4035493: UnknownInlinedFun (lib1554.c:67) ==162605== by 0x4035493: test_lib1554.lto_priv.0 (lib1554.c:59) ==162605== by 0x400347F: main (first.c:280) ==162605== === End of file valgrind1554 test 1552...[IMAP multi transfer error without 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/21/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:44177/1552/;MAILINDEX=1' > log/21/stdout1552 2> log/21/stderr1552 libtests returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:44177/1552/;MAILINDEX=1' > log/21/stdout1552 2> log/21/stderr1552 === End of file commands.log === Start of file imap_server.log 07:52:33.781388 ====> Client connect 07:52:33.781558 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:33.781914 < "A001 CAPABILITY" 07:52:33.781957 > "A001 BAD Command[CR][LF]" 07:52:33.782146 < "A002 LIST "verifiedserver" *" 07:52:33.782174 LIST_imap got "verifiedserver" * 07:52:33.782201 > "* LIST () "/" "WE ROOLZ: 110096"[CR][LF]" 07:52:33.782219 > "A002 OK LIST Completed[CR][LF]" 07:52:33.782233 return proof we are we 07:52:33.831588 < "A003 LOGOUT" 07:52:33.831650 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:33.831673 > "A003 OK LOGOUT completed[CR][LF]" 07:52:33.832801 MAIN sockfilt said DISC 07:52:33.832846 ====> Client disconnected 07:52:33.833080 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:33.609193 =CMD (33792): ../libtool --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/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:45485/1553 > log/22/stdout1553 2> log/22/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/10/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/10/data1558 > log/10/stdout1558 2> log/10/stderr1558 ===> Client connect 07:52:33.609513 Received DATA (on stdin) 07:52:33.609530 > 178 bytes data, server => client 07:52:33.609544 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:33.609556 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:33.609568 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:33.609578 'rve\r\n' 07:52:33.609696 < 17 bytes data, client => server 07:52:33.609711 'A001 CAPABILITY\r\n' 07:52:33.609899 Received DATA (on stdin) 07:52:33.609912 > 18 bytes data, server => client 07:52:33.609924 'A001 BAD Command\r\n' 07:52:33.609986 < 30 bytes data, client => server 07:52:33.609999 'A002 LIST "verifiedserver" *\r\n' 07:52:33.610171 Received DATA (on stdin) 07:52:33.610183 > 34 bytes data, server => client 07:52:33.610195 '* LIST () "/" "WE ROOLZ: 110096"\r\n' 07:52:33.610216 Received DATA (on stdin) 07:52:33.610227 > 24 bytes data, server => client 07:52:33.610239 'A002 OK LIST Completed\r\n' 07:52:33.659320 < 13 bytes data, client => server 07:52:33.659364 'A003 LOGOUT\r\n' 07:52:33.659620 Received DATA (on stdin) 07:52:33.659635 > 36 bytes data, server => client 07:52:33.659648 '* BYE curl IMAP server signing off\r\n' 07:52:33.659675 Received DATA (on stdin) 07:52:33.659686 > 26 bytes data, server => client 07:52:33.659698 'A003 OK LOGOUT completed\r\n' 07:52:33.660675 ====> Client disconnect 07:52:33.660940 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:44177/1552/;MAILINDEX=1 === End of file stderr1552 === Start of file valgrind1552 ==162611== ==162611== Process terminating with default action of signal 4 (SIGILL) ==162611== Illegal opcode at address 0x519E800 ==162611== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162611== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162611== by 0x519E800: Curl_multi_handle (multi.c:247) ==162611== by 0x4034543: UnknownInlinedFun (lib1552.c:42) ==162611== by 0x4034543: test_lib1552.lto_priv.0 (lib1552.c:28) ==162611== by 0x400347F: main (first.c:280) ==162611== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162611== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162611== by 0x519E794: Curl_multi_handle (multi.c:239) ==162611== by 0x4034543: UnknownInlinedFun (lib1552.c:42) ==162611== by 0x4034543: test_lib1552.lto_priv.0 (lib1552.c:28) ==162611== by 0x400347F: main (first.c:280) ==162611== === End of file valgrind1552 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/22/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:45485/1553 > log/22/stdout1553 2> log/22/stderr1553 libtests returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/22/ dir 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/22/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:45485/1553 > log/22/stdout1553 2> log/22/stderr1553 === End of file commands.log === Start of file imap_server.log 07:52:33.815642 ====> Client connect 07:52:33.815792 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:33.816097 < "A001 CAPABILITY" 07:52:33.816135 > "A001 BAD Command[CR][LF]" 07:52:33.821515 < "A002 LIST "verifiedserver" *" 07:52:33.821553 LIST_imap got "verifiedserver" * 07:52:33.821583 > "* LIST () "/" "WE ROOLZ: 118778"[CR][LF]" 07:52:33.821602 > "A002 OK LIST Completed[CR][LF]" 07:52:33.821616 return proof we are we 07:52:33.869347 < "A003 LOGOUT" 07:52:33.869408 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:33.869430 > "A003 OK LOGOUT completed[CR][LF]" 07:52:33.870658 MAIN sockfilt said DISC 07:52:33.870705 ====> Client disconnected 07:52:33.870792 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:33.643453 ====> Client connect 07:52:33.643746 Received DATA (on stdin) 07:52:33.643764 > 178 bytes data, server => client 07:52:33.643777 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:33.643789 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:33.643801 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:33.643811 'rve\r\n' 07:52:33.643893 < 17 bytes data, client => server 07:52:33.643906 'A001 CAPABILITY\r\n' 07:52:33.644075 Received DATA (on stdin) 07:52:33.644089 > 18 bytes data, server => client 07:52:33.644100 'A001 BAD Command\r\n' 07:52:33.644153 < 30 bytes data, client => server 07:52:33.644165 'A002 LIST "verifiedserver" *\r\n' 07:52:33.649558 Received DATA (on stdin) 07:52:33.649575 > 34 bytes data, server => client 07:52:33.649587 '* LIST () "/" "WE ROOLZ: 118778"\r\n' 07:52:33.649614 Received DATA (on stdin) 07:52:33.649626 > 24 bytes data, server => client 07:52:33.649637 'A002 OK LIST Completed\r\n' 07:52:33.697062 < 13 bytes data, client => server 07:52:33.697100 'A003 LOGOUT\r\n' 07:52:33.697373 Received DATA (on stdin) 07:52:33.697389 > 36 bytes data, server => client 07:52:33.697402 '* BYE curl IMAP server signing off\r\n' 07:52:33.697430 Received DATA (on stdin) 07:52:33.697442 > 26 bytes data, server => client 07:52:33.697453 'A003 OK LOGOUT completed\r\n' 07:52:33.698533 ====> Client disconnect 07:52:33.698735 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:45485/1553 === End of file stderr1553 === Start of file valgrind1553 ==162636== ==162636== Process terminating with default action of signal 4 (SIGILL) ==162636== Illegal opcode at address 0x519E800 ==162636== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162636== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162636== by 0x519E800: Curl_multi_handle (multi.c:247) ==162636== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==162636== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==162636== by 0x400347F: main (first.c:280) ==162636== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162636== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162636== by 0x519E794: Curl_multi_handle (multi.c:239) ==162636== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==162636== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==162636== by 0x400347F: main (first.c:280) ==162636== === End of file valgrind1553 CMD (33792): ../libtool --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/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:45933/1556 > log/6/stdout1556 2> log/6/stderr1556 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/10/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/10/data1558 > log/10/stdout1558 2> log/10/stderr1558 1558: stdout FAILED: --- log/10/check-expected 2025-11-07 07:52:35.337374281 +0000 +++ log/10/check-generated 2025-11-07 07:52:35.337374281 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/10/ dir 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/10/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/10/data1558 > log/10/stdout1558 2> log/10/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/10/data1558 === End of file stderr1558 === Start of file valgrind1558 ==162790== ==162790== Process terminating with default action of signal 4 (SIGILL) ==162790== Illegal opcode at address 0x51D5F1F ==162790== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162790== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162790== by 0x51D5F1F: Curl_open (url.c:525) ==162790== by 0x514F6EF: curl_easy_init (easy.c:371) ==162790== by 0x4030B01: test_lib1558.lto_priv.0 (lib1558.c:35) ==162790== by 0x400347F: main (first.c:280) ==162790== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162790== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162790== by 0x51D5EBD: Curl_open (url.c:504) ==162790== by 0x514F6EF: curl_easy_init (easy.c:371) ==162790== by 0x4030B01: test_lib1558.lto_priv.0 (lib1558.c:35) ==162790== by 0x400347F: main (first.c:280) ==162790== === End of file valgrind1558 CMD (33792): ../libtool --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/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:42601/1555 > log/17/stdout1555 2> log/17/stderr1555 CMD (33792): ../libtool --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/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/18/stdout1557 2> log/18/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/6/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:45933/1556 > log/6/stdout1556 2> log/6/stderr1556 1556: stdout FAILED: --- log/6/check-expected 2025-11-07 07:52:35.354040948 +0000 +++ log/6/check-generated 2025-11-07 07:52:35.354040948 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/6/ dir 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/6/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:45933/1556 > log/6/stdout1556 2> log/6/stderr1556 === End of file commands.log === Start of file http_server.log 07:52:33.856774 ====> Client connect 07:52:33.856807 accept_connection 3 returned 4 07:52:33.856823 accept_connection 3 returned 0 07:52:33.856838 Read 93 bytes 07:52:33.856848 Process 93 bytes request 07:52:33.856862 Got request: GET /verifiedserver HTTP/1.1 07:52:33.856872 Are-we-friendly question received 07:52:33.856900 Wrote request (93 bytes) input to log/6/server.input 07:52:33.856916 Identifying ourselves as friends 07:52:33.856967 Response sent (56 bytes) and written to log/6/server.response 07:52:33.856977 special request received, no persistency 07:52:33.856987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr1556 URL: http://127.0.0.1:45933/1556 === End of file stderr1556 === Start of file valgrind1556 ==162810== ==162810== Process terminating with default action of signal 4 (SIGILL) ==162810== Illegal opcode at address 0x51D5F1F ==162810== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162810== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162810== by 0x51D5F1F: Curl_open (url.c:525) ==162810== by 0x514F6EF: curl_easy_init (easy.c:371) ==162810== by 0x402FD01: test_lib1556.lto_priv.0 (lib1556.c:54) ==162810== by 0x400347F: main (first.c:280) ==162810== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162810== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162810== by 0x51D5EBD: Curl_open (url.c:504) ==162810== by 0x514F6EF: curl_easy_init (easy.c:371) ==162810== by 0x402FD01: test_lib1556.lto_priv.0 (lib1556.c:54) ==162810== by 0x400347F: main (first.c:280) ==162810== === End of file valgrind1556 CMD (33792): ../libtool --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/valgrind1559 ./libtest/libtests lib1559 - > log/8/stdout1559 2> log/8/stderr1559 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/17/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:42601/1555 > log/17/stdout1555 2> log/17/stderr1555 1555: stdout FAILED: --- log/17/check-expected 2025-11-07 07:52:35.367374281 +0000 +++ log/17/check-generated 2025-11-07 07:52:35.367374281 +0000 @@ -1,2 +0,0 @@ -curl_easy_recv returned 93[LF] -curl_easy_send returned 93[LF] == Contents of files in the log/17/ dir 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/17/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:42601/1555 > log/17/stdout1555 2> log/17/stderr1555 === End of file commands.log === Start of file http_server.log 07:52:34.843233 ====> Client connect 07:52:34.843271 accept_connection 3 returned 4 07:52:34.843289 accept_connection 3 returned 0 07:52:34.843306 Read 93 bytes 07:52:34.843317 Process 93 bytes request 07:52:34.843332 Got request: GET /verifiedserver HTTP/1.1 07:52:34.843343 Are-we-friendly question received 07:52:34.843370 Wrote request (93 bytes) input to log/17/server.input 07:52:34.843387 Identifying ourselves as friends 07:52:34.843448 Response sent (56 bytes) and written to log/17/server.response 07:52:34.843459 special request received, no persistency 07:52:34.843469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 47580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file stderr1555 URL: http://127.0.0.1:42601/1555 === End of file stderr1555 === Start of file valgrind1555 ==162793== ==162793== Process terminating with default action of signal 4 (SIGILL) ==162793== Illegal opcode at address 0x51D5F1F ==162793== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162793== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162793== by 0x51D5F1F: Curl_open (url.c:525) ==162793== by 0x514F6EF: curl_easy_init (easy.c:371) ==162793== by 0x402FA86: UnknownInlinedFun (lib1555.c:62) ==162793== by 0x402FA86: test_lib1555.lto_priv.0 (lib1555.c:56) ==162793== by 0x400347F: main (first.c:280) ==162793== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162793== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162793== by 0x51D5EBD: Curl_open (url.c:504) ==162793== by 0x514F6EF: curl_easy_init (easy.c:371) ==162793== by 0x402FA86: UnknownInlinedFun (lib1555.c:62) ==162793== by 0x402FA86: test_lib1555.lto_priv.0 (lib1555.c:56) ==162793== by 0x400347F: main (first.c:280) ==162793== === End of file valgrind1555 test 1557...[Remove easy handle in pending connections doesn't 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/18/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/18/stdout1557 2> log/18/stderr1557 libtests returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/18/stdout1557 2> log/18/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 ==162784== ==162784== Process terminating with default action of signal 4 (SIGILL) ==162784== Illegal opcode at address 0x519E800 ==162784== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162784== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162784== by 0x519E800: Curl_multi_handle (multi.c:247) ==162784== by 0x402C184: test_lib1557.lto_priv.0 (lib1557.c:38) ==162784== by 0x400347F: main (first.c:280) ==162784== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162784== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162784== by 0x519E794: Curl_multi_handle (multi.c:239) ==162784== by 0x402C184: test_lib1557.lto_priv.0 (lib1557.c:38) ==162784== by 0x400347F: main (first.c:280) ==162784== === 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/20/valgrind1564 ./libtest/libtests lib1564 - > log/20/stdout1564 2> log/20/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/12/valgrind1563 ../src/curl -q --output log/12/curl1563.out --include --trace-ascii log/12/trace1563 --trace-time http://127.0.0.1:38023/15630001 -L -H "Host: www.example.com" > log/12/stdout1563 2> log/12/stderr1563 CMD (33792): ../libtool --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/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:42701/1549 > log/3/stdout1549 2> log/3/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/8/valgrind1559 ./libtest/libtests lib1559 - > log/8/stdout1559 2> log/8/stderr1559 1559: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:35.530707617 +0000 +++ log/8/check-generated 2025-11-07 07:52:35.530707617 +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/8/ dir 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/8/valgrind1559 ./libtest/libtests lib1559 - > log/8/stdout1559 2> log/8/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 ==162985== ==162985== Process terminating with default action of signal 4 (SIGILL) ==162985== Illegal opcode at address 0x51D5F1F ==162985== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162985== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162985== by 0x51D5F1F: Curl_open (url.c:525) ==162985== by 0x514F6EF: curl_easy_init (easy.c:371) ==162985== by 0x40356CB: UnknownInlinedFun (lib1559.c:39) ==162985== by 0x40356CB: test_lib1559.lto_priv.0 (lib1559.c:28) ==162985== by 0x400347F: main (first.c:280) ==162985== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162985== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162985== by 0x51D5EBD: Curl_open (url.c:504) ==162985== by 0x514F6EF: curl_easy_init (easy.c:371) ==162985== by 0x40356CB: UnknownInlinedFun (lib1559.c:39) ==162985== by 0x40356CB: test_lib1559.lto_priv.0 (lib1559.c:28) ==162985== by 0x400347F: main (first.c:280) ==162985== === End of file valgrind1559 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/20/valgrind1564 ./libtest/libtests lib1564 - > log/20/stdout1564 2> log/20/stderr1564 libtests returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/20/ dir 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/20/valgrind1564 ./libtest/libtests lib1564 - > log/20/stdout1564 2> log/20/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 ==163099== ==163099== Process terminating with default action of signal 4 (SIGILL) ==163099== Illegal opcode at address 0x519E800 ==163099== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==163099== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==163099== by 0x519E800: Curl_multi_handle (multi.c:247) ==163099== by 0x4037A82: UnknownInlinedFun (lib1564.c:44) ==163099== by 0x4037A82: test_lib1564.lto_priv.0 (lib1564.c:30) ==163099== by 0x400347F: main (first.c:280) ==163099== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==163099== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163099== by 0x519E794: Curl_multi_handle (multi.c:239) ==163099== by 0x4037A82: UnknownInlinedFun (lib1564.c:44) ==163099== by 0x4037A82: test_lib1564.lto_priv.0 (lib1564.c:30) ==163099== by 0x400347F: main (first.c:280) ==163099== === End of file valgrind1564 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/12/valgrind1563 ../src/curl -q --output log/12/curl1563.out --include --trace-ascii log/12/trace1563 --trace-time http://127.0.0.1:38023/15630001 -L -H "Host: www.example.com" > log/12/stdout1563 2> log/12/stderr1563 1563: 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/ dir 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/12/valgrind1563 ../src/curl -q --output log/12/curl1563.out --include --trace-ascii log/12/trace1563 --trace-time http://127.0.0.1:38023/15630001 -L -H "Host: www.example.com" > log/12/stdout1563 2> log/12/stderr1563 === End of file commands.log === Start of file http_server.log 07:52:34.276846 ====> Client connect 07:52:34.276879 accept_connection 3 returned 4 07:52:34.276897 accept_connection 3 returned 0 07:52:34.276913 Read 93 bytes 07:52:34.276924 Process 93 bytes request 07:52:34.276938 Got request: GET /verifiedserver HTTP/1.1 07:52:34.276949 Are-we-friendly question received 07:52:34.276977 Wrote request (93 bytes) input to log/12/server.input 07:52:34.276994 Identifying ourselves as friends 07:52:34.277049 Response sent (56 bytes) and written to log/12/server.response 07:52:34.277060 special request received, no persistency 07:52:34.277071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 41234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === End of file http_verify.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: 76290 === End of file server.response === Start of file valgrind1563 ==163107== ==163107== Process terminating with default action of signal 4 (SIGILL) ==163107== Illegal opcode at address 0x4013DC0 ==163107== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==163107== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==163107== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==163107== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1563 CMD (33792): ../libtool --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/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:43955/1 > log/2/stdout1565 2> log/2/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/1/valgrind1566 ../src/curl -q --trace-ascii log/1/trace1566 --trace-time http://127.0.0.1:35709/1566 -o log/1/output1566 --etag-compare log/1/etag1566 > log/1/stdout1566 2> log/1/stderr1566 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 162187 port 42701 * pid http => 162187 162187 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/3/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:42701/1549 > log/3/stdout1549 2> log/3/stderr1549 1549: stderr FAILED: --- log/3/check-expected 2025-11-07 07:52:35.820707619 +0000 +++ log/3/check-generated 2025-11-07 07:52:35.820707619 +0000 @@ -1,3 +1 @@ URL: http://127.0.0.1:42701/1549[CR][LF] -0 cookies[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/3/ dir after test 1549 === Start of file check-expected URL: http://127.0.0.1:42701/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:42701/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/3/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:42701/1549 > log/3/stdout1549 2> log/3/stderr1549 === End of file commands.log === Start of file http_server.log 07:52:33.415596 Running HTTP IPv4 version on port 42701 07:52:33.415676 Wrote pid 162187 to log/3/server/http_server.pid 07:52:33.415707 Wrote port 42701 to log/3/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:42701/1549 === End of file stderr1549 === Start of file valgrind1549 ==163162== ==163162== Process terminating with default action of signal 4 (SIGILL) ==163162== Illegal opcode at address 0x51D5F1F ==163162== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163162== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163162== by 0x51D5F1F: Curl_open (url.c:525) ==163162== by 0x514F6EF: curl_easy_init (easy.c:371) ==163162== by 0x4030937: test_lib1549.lto_priv.0 (lib1549.c:39) ==163162== by 0x400347F: main (first.c:280) ==163162== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163162== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163162== by 0x51D5EBD: Curl_open (url.c:504) ==163162== by 0x514F6EF: curl_easy_init (easy.c:371) ==163162== by 0x4030937: test_lib1549.lto_priv.0 (lib1549.c:39) ==163162== by 0x400347F: main (first.c:280) ==163162== === End of file valgrind1549 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/2/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:43955/1 > log/2/stdout1565 2> log/2/stderr1565 libtests returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/2/ dir 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/2/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:43955/1 > log/2/stdout1565 2> log/2/stderr1565 === End of file commands.log === Start of file http_server.log 07:52:35.413113 ====> Client connect 07:52:35.413165 accept_connection 3 returned 4 07:52:35.413185 accept_connection 3 returned 0 07:52:35.413350 Read 93 bytes 07:52:35.413367 Process 93 bytes request 07:52:35.413382 Got request: GET /verifiedserver HTTP/1.1 07:52:35.413393 Are-we-friendly question received 07:52:35.413423 Wrote request (93 bytes) input to log/2/server.input 07:52:35.413441 Identifying ourselves as friends 07:52:35.413496 Response sent (56 bytes) and written to log/2/server.response 07:52:35.413507 special request received, no persistency 07:52:35.413517 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 32792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr1565 URL: http://127.0.0.1:43955/1 === End of file stderr1565 === Start of file valgrind1565 ==163234== ==163234== Process terminating with default action of signal 4 (SIGILL) ==163234== Illegal opcode at address 0x519E800 ==163234== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==163234== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==163234== by 0x519E800: Curl_multi_handle (multi.c:247) ==163234== by 0x403916E: test_lib1565.lto_priv.0 (lib1565.c:106) ==163234== by 0x400347F: main (first.c:280) ==163234== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==163234== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163234== by 0x519E794: Curl_multi_handle (multi.c:239) ==163234== by 0x403916E: test_lib1565.lto_priv.0 (lib1565.c:106) ==163234== by 0x400347F: main (first.c:280) ==163234== === End of file valgrind1565 test 1566...[--etag-compare that gets a 304 back shouldn't 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:35709/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/ dir 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:35709/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 07:52:34.436913 ====> Client connect 07:52:34.436946 accept_connection 3 returned 4 07:52:34.436964 accept_connection 3 returned 0 07:52:34.436979 Read 93 bytes 07:52:34.436988 Process 93 bytes request 07:52:34.437001 Got request: GET /verifiedserver HTTP/1.1 07:52:34.437010 Are-we-friendly question received 07:52:34.437034 Wrote request (93 bytes) input to log/1/server.input 07:52:34.437050 Identifying ourselves as friends 07:52:34.437108 Response sent (56 bytes) and written to log/1/server.response 07:52:34.437119 special request received, no persistency 07:52:34.437128 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 48396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.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/16/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:44351/1571 > log/16/stdout1571 2> log/16/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/23/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:41029/1567 > log/23/stdout1567 2> log/23/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/15/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:38789/1570;type=D" ftp://127.0.0.1:38789/1570 > log/15/stdout1570 2> log/15/stderr1570 Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind1566 ==163255== ==163255== Process terminating with default action of signal 4 (SIGILL) ==163255== Illegal opcode at address 0x4013DC0 ==163255== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==163255== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==163255== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==163255== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1566 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/16/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:44351/1571 > log/16/stdout1571 2> log/16/stderr1571 1571: 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/ dir 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/16/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:44351/1571 > log/16/stdout1571 2> log/16/stderr1571 === End of file commands.log === Start of file http_server.log 07:52:34.650859 ====> Client connect 07:52:34.650894 accept_connection 3 returned 4 07:52:34.650913 accept_connection 3 returned 0 07:52:34.650929 Read 93 bytes 07:52:34.650940 Process 93 bytes request 07:52:34.650954 Got request: GET /verifiedserver HTTP/1.1 07:52:34.650965 Are-we-friendly question received 07:52:34.650991 Wrote request (93 bytes) input to log/16/server.input 07:52:34.651010 Identifying ourselves as friends 07:52:34.651064 Response sent (56 bytes) and written to log/16/server.response 07:52:34.651076 special request received, no persistency 07:52:34.651085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44351... * Established connection to 127.0.0.1 (127.0.0.1 port 44351) from 127.0.0.1 port 41228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44351 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44351 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74401 === 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: 74401 === End of file server.response === Start of file stderr1571 URL: http://127.0.0.1:44351/1571 === End of file stderr1571 === Start of file valgrind1571 ==163471== ==163471== Process terminating with default action of signal 4 (SIGILL) ==163471== Illegal opcode at address 0x51D5F1F ==163471== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163471== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163471== by 0x51D5F1F: Curl_open (url.c:525) ==163471== by 0x514F6EF: curl_easy_init (easy.c:371) ==163471== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163471== by 0x400347F: main (first.c:280) ==163471== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163471== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163471== by 0x51D5EBD: Curl_open (url.c:504) ==163471== by 0x514F6EF: curl_easy_init (easy.c:371) ==163471== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163471== by 0x400347F: main (first.c:280) ==163471== === End of file valgrind1571 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/23/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:41029/1567 > log/23/stdout1567 2> log/23/stderr1567 1567: 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/ dir 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/23/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:41029/1567 > log/23/stdout1567 2> log/23/stderr1567 === End of file commands.log === Start of file http_server.log 07:52:34.642568 ====> Client connect 07:52:34.642689 accept_connection 3 returned 4 07:52:34.642713 accept_connection 3 returned 0 07:52:34.642731 Read 93 bytes 07:52:34.642743 Process 93 bytes request 07:52:34.642758 Got request: GET /verifiedserver HTTP/1.1 07:52:34.642769 Are-we-friendly question received 07:52:34.642794 Wrote request (93 bytes) input to log/23/server.input 07:52:34.642812 Identifying ourselves as friends 07:52:34.642876 Response sent (56 bytes) and written to log/23/server.response 07:52:34.642887 special request received, no persistency 07:52:34.642897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 52526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr1567 URL: http://127.0.0.1:41029/1567 === End of file stderr1567 === Start of file valgrind1567 ==163451== ==163451== Process terminating with default action of signal 4 (SIGILL) ==163451== Illegal opcode at address 0x51D5F1F ==163451== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163451== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163451== by 0x51D5F1F: Curl_open (url.c:525) ==163451== by 0x514F6EF: curl_easy_init (easy.c:371) ==163451== by 0x403A6CC: UnknownInlinedFun (lib1567.c:37) ==163451== by 0x403A6CC: test_lib1567.lto_priv.0 (lib1567.c:30) ==163451== by 0x400347F: main (first.c:280) ==163451== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163451== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163451== by 0x51D5EBD: Curl_open (url.c:504) ==163451== by 0x514F6EF: curl_easy_init (easy.c:371) ==163451== by 0x403A6CC: UnknownInlinedFun (lib1567.c:37) ==163451== by 0x403A6CC: test_lib1567.lto_priv.0 (lib1567.c:30) ==163451== by 0x400347F: main (first.c:280) ==163451== === End of file valgrind1567 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/15/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:38789/1570;type=D" ftp://127.0.0.1:38789/1570 > log/15/stdout1570 2> log/15/stderr1570 1570: protocol FAILED! There was no content at all in the file 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/14/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:34115/1572 > log/14/stdout1572 2> log/14/stderr1572 og/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir 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/15/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:38789/1570;type=D" ftp://127.0.0.1:38789/1570 > log/15/stdout1570 2> log/15/stderr1570 === End of file commands.log === Start of file ftp_server.log 07:52:34.848081 ====> Client connect 07:52:34.848225 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:34.848510 < "USER anonymous" 07:52:34.848554 > "331 We are happy you popped in![CR][LF]" 07:52:34.848724 < "PASS ftp@example.com" 07:52:34.848750 > "230 Welcome you silly person[CR][LF]" 07:52:34.848897 < "PWD" 07:52:34.848927 > "257 "/" is current directory[CR][LF]" 07:52:34.849080 < "EPSV" 07:52:34.849102 ====> Passive DATA channel requested by client 07:52:34.849116 DATA sockfilt for passive data channel starting... 07:52:34.852669 DATA sockfilt for passive data channel started (pid 163469) 07:52:34.855840 DATA sockfilt for passive data channel listens on port 44781 07:52:34.855894 > "229 Entering Passive Mode (|||44781|)[CR][LF]" 07:52:34.855914 Client has been notified that DATA conn will be accepted on port 44781 07:52:34.856423 Client connects to port 44781 07:52:34.856457 ====> Client established passive DATA connection on port 44781 07:52:34.856541 < "TYPE I" 07:52:34.856572 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:34.856740 < "SIZE verifiedserver" 07:52:34.856778 > "213 17[CR][LF]" 07:52:34.856925 < "RETR verifiedserver" 07:52:34.856959 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:34.857046 =====> Closing passive DATA connection... 07:52:34.857062 Server disconnects passive DATA connection 07:52:34.857322 Server disconnected passive DATA connection 07:52:34.857348 DATA sockfilt for passive data channel quits (pid 163469) 07:52:34.857560 DATA sockfilt for passive data channel quit (pid 163469) 07:52:34.857583 =====> Closed passive DATA connection 07:52:34.857610 > "226 File transfer complete[CR][LF]" 07:52:34.902879 < "QUIT" 07:52:34.902935 > "221 bye bye baby[CR][LF]" 07:52:34.905537 MAIN sockfilt said DISC 07:52:34.905578 ====> Client disconnected 07:52:34.905649 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:34.675921 ====> Client connect 07:52:34.676176 Received DATA (on stdin) 07:52:34.676192 > 160 bytes data, server => client 07:52:34.676206 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:34.676217 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:34.676229 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:34.676310 < 16 bytes data, client => server 07:52:34.676323 'USER anonymous\r\n' 07:52:34.676497 Received DATA (on stdin) 07:52:34.676511 > 33 bytes data, server => client 07:52:34.676523 '331 We are happy you popped in!\r\n' 07:52:34.676574 < 22 bytes data, client => server 07:52:34.676586 'PASS ftp@example.com\r\n' 07:52:34.676689 Received DATA (on stdin) 07:52:34.676701 > 30 bytes data, server => client 07:52:34.676713 '230 Welcome you silly person\r\n' 07:52:34.676757 < 5 bytes data, client => server 07:52:34.676768 'PWD\r\n' 07:52:34.676865 Received DATA (on stdin) 07:52:34.676877 > 30 bytes data, server => client 07:52:34.676889 '257 "/" is current directory\r\n' 07:52:34.676942 < 6 bytes data, client => server 07:52:34.676953 'EPSV\r\n' 07:52:34.683861 Received DATA (on stdin) 07:52:34.683877 > 39 bytes data, server => client 07:52:34.683890 '229 Entering Passive Mode (|||44781|)\r\n' 07:52:34.684268 < 8 bytes data, client => server 07:52:34.684288 'TYPE I\r\n' 07:52:34.684513 Received DATA (on stdin) 07:52:34.684526 > 33 bytes data, server => client 07:52:34.684538 '200 I modify TYPE as you wanted\r\n' 07:52:34.684593 < 21 bytes data, client => server 07:52:34.684605 'SIZE verifiedserver\r\n' 07:52:34.684716 Received DATA (on stdin) 07:52:34.684728 > 8 bytes data, server => client 07:52:34.684739 '213 17\r\n' 07:52:34.684785 < 21 bytes data, client => server 07:52:34.684797 'RETR verifiedserver\r\n' 07:52:34.685004 Received DATA (on stdin) 07:52:34.685016 > 29 bytes data, server => client 07:52:34.685028 '150 Binary junk (17 bytes).\r\n' 07:52:34.685552 Received DATA (on stdin) 07:52:34.685565 > 28 bytes data, server => client 07:52:34.685577 '226 File transfer complete\r\n' 07:52:34.729939 < 6 bytes data, client => server 07:52:34.729966 'QUIT\r\n' 07:52:34.732519 Received DATA (on stdin) 07:52:34.732545 > 18 bytes data, server => client 07:52:34.732558 '221 bye bye baby\r\n' 07:52:34.733419 ====> Client disconnect 07:52:34.733589 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:34.680287 Running IPv4 version 07:52:34.680350 Listening on port 44781 07:52:34.680383 Wrote pid 163469 to log/15/server/ftp_sockdata.pid 07:52:34.680404 Received PING (on stdin) 07:52:34.682741 Received PORT (on stdin) 07:52:34.684311 ====> Client connect 07:52:34.685084 Received DATA (on stdin) 07:52:34.685099 > 17 bytes data, server => client 07:52:34.685111 'WE ROOLZ: 80326\r\n' 07:52:34.685139 Received DISC (on stdin) 07:52:34.685151 ====> Client forcibly disconnected 07:52:34.685297 Received QUIT (on stdin) 07:52:34.685310 quits 07:52:34.685367 ============> 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:38789/1570;type=D === End of file stderr1570 === Start of file valgrind1570 ==163591== ==163591== Process terminating with default action of signal 4 (SIGILL) ==163591== Illegal opcode at address 0x51D5F1F ==163591== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163591== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163591== by 0x51D5F1F: Curl_open (url.c:525) ==163591== by 0x514F6EF: curl_easy_init (easy.c:371) ==163591== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==163591== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==163591== by 0x400347F: main (first.c:280) ==163591== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163591== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163591== by 0x51D5EBD: Curl_open (url.c:504) ==163591== by 0x514F6EF: curl_easy_init (easy.c:371) ==163591== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==163591== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==163591== by 0x400347F: main (first.c:280) ==163591== === End of file valgrind1570 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/14/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:34115/1572 > log/14/stdout1572 2> log/14/stderr1572 1572: 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/ dir 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/14/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:34115/1572 > log/14/stdout1572 2> log/14/stderr1572 === End of file commands.log === Start of file http_server.log 07:52:34.715526 ====> Client connect 07:52:34.715564 accept_connection 3 returned 4 07:52:34.715582 accept_connection 3 returned 0 07:52:34.715598 Read 93 bytes 07:52:34.715609 Process 93 bytes request 07:52:34.715629 Got request: GET /verifiedserver HTTP/1.1 07CMD (33792): ../libtool --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/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 34835 > log/19/stdout1568 2> log/19/stderr1568 CMD (33792): ../libtool --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/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:42797/1573 > log/5/stdout1573 2> log/5/stderr1573 :52:34.715658 Are-we-friendly question received 07:52:34.715693 Wrote request (93 bytes) input to log/14/server.input 07:52:34.715712 Identifying ourselves as friends 07:52:34.715761 Response sent (56 bytes) and written to log/14/server.response 07:52:34.715791 special request received, no persistency 07:52:34.715801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 40364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr1572 URL: http://127.0.0.1:34115/1572 === End of file stderr1572 === Start of file valgrind1572 ==163552== ==163552== Process terminating with default action of signal 4 (SIGILL) ==163552== Illegal opcode at address 0x51D5F1F ==163552== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163552== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163552== by 0x51D5F1F: Curl_open (url.c:525) ==163552== by 0x514F6EF: curl_easy_init (easy.c:371) ==163552== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163552== by 0x400347F: main (first.c:280) ==163552== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163552== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163552== by 0x51D5EBD: Curl_open (url.c:504) ==163552== by 0x514F6EF: curl_easy_init (easy.c:371) ==163552== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163552== by 0x400347F: main (first.c:280) ==163552== === End of file valgrind1572 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/19/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 34835 > log/19/stdout1568 2> log/19/stderr1568 1568: 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/ dir 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/19/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 34835 > log/19/stdout1568 2> log/19/stderr1568 === End of file commands.log === Start of file http_server.log 07:52:34.644355 ====> Client connect 07:52:34.644391 accept_connection 3 returned 4 07:52:34.644409 accept_connection 3 returned 0 07:52:34.644424 Read 93 bytes 07:52:34.644435 Process 93 bytes request 07:52:34.644447 Got request: GET /verifiedserver HTTP/1.1 07:52:34.644456 Are-we-friendly question received 07:52:34.644482 Wrote request (93 bytes) input to log/19/server.input 07:52:34.644499 Identifying ourselves as friends 07:52:34.644552 Response sent (56 bytes) and written to log/19/server.response 07:52:34.644562 special request received, no persistency 07:52:34.644572 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 57092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file stderr1568 URL: http://127.0.0.1/1568 === End of file stderr1568 === Start of file valgrind1568 ==163463== ==163463== Process terminating with default action of signal 4 (SIGILL) ==163463== Illegal opcode at address 0x51D5F1F ==163463== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163463== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163463== by 0x51D5F1F: Curl_open (url.c:525) ==163463== by 0x514F6EF: curl_easy_init (easy.c:371) ==163463== by 0x403A7FE: test_lib1568.lto_priv.0 (lib1568.c:34) ==163463== by 0x400347F: main (first.c:280) ==163463== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163463== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163463== by 0x51D5EBD: Curl_open (url.c:504) ==163463== by 0x514F6EF: curl_easy_init (easy.c:371) ==163463== by 0x403A7FE: test_lib1568.lto_priv.0 (lib1568.c:34) ==163463== by 0x400347F: main (first.c:280) ==163463== === End of file valgrind1568 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/5/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:42797/1573 > log/5/stdout1573 2> log/5/stderr1573 1573: 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/ dir 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/5/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:42797/1573 > log/5/stdout1573 2> log/5/stderr1573 === End of file commands.log === Start of file http_server.log 07:52:34.795337 ====> Client connect 07:52:34.795372 accept_connection 3 returned 4 07:52:34.795389 accept_connection 3 returned 0 07:52:34.795403 Read 93 bytes 07:52:34.795414 Process 93 bytes request 07:52:34.795428 Got request: GET /verifiedserver HTTP/1.1 07:52:34.795438 Are-we-friendly question received 07:52:34.795464 Wrote request (93 bytes) input to log/5/server.input 07:52:34.795480 Identifying ourselves as friends 07:52:34.795535 Response sent (56 bytes) and written to log/5/server.response 07:52:34.795545 special request received, no persistency 07:52:34.795555 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 51868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 75828 === End of file server.response === Start of file stderr1573 URL: http://127.0.0.1:42797/1573 === End of file stderr1573 === Start of file valgrind1573 ==163757== ==163757== Process terminating with default action of signal 4 (SIGILL) ==163757== Illegal opcode at address 0x51D5F1F ==163757== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163757== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163757== by 0x51D5F1F: Curl_open (url.c:525) ==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/13/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:37965/1574 > log/13/stdout1574 2> log/13/stderr1574 CMD (33792): ../libtool --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/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:41843/1575 > log/24/stdout1575 2> log/24/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/4/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:43573/1577 1577 > log/4/stdout1577 2> log/4/stderr1577 63757== by 0x514F6EF: curl_easy_init (easy.c:371) ==163757== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163757== by 0x400347F: main (first.c:280) ==163757== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163757== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163757== by 0x51D5EBD: Curl_open (url.c:504) ==163757== by 0x514F6EF: curl_easy_init (easy.c:371) ==163757== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163757== by 0x400347F: main (first.c:280) ==163757== === End of file valgrind1573 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/13/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:37965/1574 > log/13/stdout1574 2> log/13/stderr1574 1574: 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/ dir 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/13/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:37965/1574 > log/13/stdout1574 2> log/13/stderr1574 === End of file commands.log === Start of file http_server.log 07:52:34.768117 ====> Client connect 07:52:34.768150 accept_connection 3 returned 4 07:52:34.768167 accept_connection 3 returned 0 07:52:34.768183 Read 93 bytes 07:52:34.768199 Process 93 bytes request 07:52:34.768215 Got request: GET /verifiedserver HTTP/1.1 07:52:34.768226 Are-we-friendly question received 07:52:34.768251 Wrote request (93 bytes) input to log/13/server.input 07:52:34.768270 Identifying ourselves as friends 07:52:34.768327 Response sent (57 bytes) and written to log/13/server.response 07:52:34.768342 special request received, no persistency 07:52:34.768351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 44932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file stderr1574 URL: http://127.0.0.1:37965/1574 === End of file stderr1574 === Start of file valgrind1574 ==163665== ==163665== Process terminating with default action of signal 4 (SIGILL) ==163665== Illegal opcode at address 0x51D5F1F ==163665== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163665== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163665== by 0x51D5F1F: Curl_open (url.c:525) ==163665== by 0x514F6EF: curl_easy_init (easy.c:371) ==163665== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163665== by 0x400347F: main (first.c:280) ==163665== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163665== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163665== by 0x51D5EBD: Curl_open (url.c:504) ==163665== by 0x514F6EF: curl_easy_init (easy.c:371) ==163665== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163665== by 0x400347F: main (first.c:280) ==163665== === End of file valgrind1574 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/24/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:41843/1575 > log/24/stdout1575 2> log/24/stderr1575 1575: 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/ dir 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/24/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:41843/1575 > log/24/stdout1575 2> log/24/stderr1575 === End of file commands.log === Start of file http_server.log 07:52:34.822844 ====> Client connect 07:52:34.822879 accept_connection 3 returned 4 07:52:34.822896 accept_connection 3 returned 0 07:52:34.823038 Read 93 bytes 07:52:34.823053 Process 93 bytes request 07:52:34.823067 Got request: GET /verifiedserver HTTP/1.1 07:52:34.823078 Are-we-friendly question received 07:52:34.823106 Wrote request (93 bytes) input to log/24/server.input 07:52:34.823124 Identifying ourselves as friends 07:52:34.823176 Response sent (56 bytes) and written to log/24/server.response 07:52:34.823187 special request received, no persistency 07:52:34.823197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 53326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file stderr1575 URL: http://127.0.0.1:41843/1575 === End of file stderr1575 === Start of file valgrind1575 ==163806== ==163806== Process terminating with default action of signal 4 (SIGILL) ==163806== Illegal opcode at address 0x51D5F1F ==163806== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163806== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163806== by 0x51D5F1F: Curl_open (url.c:525) ==163806== by 0x514F6EF: curl_easy_init (easy.c:371) ==163806== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163806== by 0x400347F: main (first.c:280) ==163806== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163806== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163806== by 0x51D5EBD: Curl_open (url.c:504) ==163806== by 0x514F6EF: curl_easy_init (easy.c:371) ==163806== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163806== by 0x400347F: main (first.c:280) ==163806== === End of file valgrind1575 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/4/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:43573/1577 1577 > log/4/stdout1577 2> log/4/stderr1577 1577: 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/ dir 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/4/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:43573/1577 1577 > log/4/stdout1577 2> log/4/stderr1577 === End of file commands.log === Start of file http_server.log 07:52:35.850495 ====> CliCMD (33792): ../libtool --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/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:42717/1576 > log/9/stdout1576 2> log/9/stderr1576 CMD (33792): ../libtool --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/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:39661/1578 > log/7/stdout1578 2> log/7/stderr1578 ent connect 07:52:35.850530 accept_connection 3 returned 4 07:52:35.850547 accept_connection 3 returned 0 07:52:35.850562 Read 93 bytes 07:52:35.850573 Process 93 bytes request 07:52:35.850587 Got request: GET /verifiedserver HTTP/1.1 07:52:35.850598 Are-we-friendly question received 07:52:35.850621 Wrote request (93 bytes) input to log/4/server.input 07:52:35.850638 Identifying ourselves as friends 07:52:35.850693 Response sent (56 bytes) and written to log/4/server.response 07:52:35.850704 special request received, no persistency 07:52:35.850714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 48094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file stderr1577 URL: http://127.0.0.1:43573/1577 === End of file stderr1577 === Start of file valgrind1577 ==163850== ==163850== Process terminating with default action of signal 4 (SIGILL) ==163850== Illegal opcode at address 0x51D5F1F ==163850== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163850== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163850== by 0x51D5F1F: Curl_open (url.c:525) ==163850== by 0x514F6EF: curl_easy_init (easy.c:371) ==163850== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==163850== by 0x400347F: main (first.c:280) ==163850== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163850== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163850== by 0x51D5EBD: Curl_open (url.c:504) ==163850== by 0x514F6EF: curl_easy_init (easy.c:371) ==163850== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==163850== by 0x400347F: main (first.c:280) ==163850== === End of file valgrind1577 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/9/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:42717/1576 > log/9/stdout1576 2> log/9/stderr1576 1576: 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/ dir 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/9/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:42717/1576 > log/9/stdout1576 2> log/9/stderr1576 === End of file commands.log === Start of file http_server.log 07:52:34.824153 ====> Client connect 07:52:34.824189 accept_connection 3 returned 4 07:52:34.824207 accept_connection 3 returned 0 07:52:34.824222 Read 93 bytes 07:52:34.824234 Process 93 bytes request 07:52:34.824248 Got request: GET /verifiedserver HTTP/1.1 07:52:34.824259 Are-we-friendly question received 07:52:34.824285 Wrote request (93 bytes) input to log/9/server.input 07:52:34.824303 Identifying ourselves as friends 07:52:34.824361 Response sent (56 bytes) and written to log/9/server.response 07:52:34.824372 special request received, no persistency 07:52:34.824382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 17 WE ROOLZ: 74613 === End of file server.response === Start of file stderr1576 URL: http://127.0.0.1:42717/1576 === End of file stderr1576 === Start of file valgrind1576 ==163816== ==163816== Process terminating with default action of signal 4 (SIGILL) ==163816== Illegal opcode at address 0x51D5F1F ==163816== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163816== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163816== by 0x51D5F1F: Curl_open (url.c:525) ==163816== by 0x514F6EF: curl_easy_init (easy.c:371) ==163816== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==163816== by 0x400347F: main (first.c:280) ==163816== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163816== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163816== by 0x51D5EBD: Curl_open (url.c:504) ==163816== by 0x514F6EF: curl_easy_init (easy.c:371) ==163816== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==163816== by 0x400347F: main (first.c:280) ==163816== === End of file valgrind1576 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/7/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:39661/1578 > log/7/stdout1578 2> log/7/stderr1578 1578: 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/ dir 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/7/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:39661/1578 > log/7/stdout1578 2> log/7/stderr1578 === End of file commands.log === Start of file http_server.log 07:52:36.019266 ====> Client connect 07:52:36.019318 accept_connection 3 returned 4 07:52:36.019339 accept_connection 3 returned 0 07:52:36.019356 Read 93 bytes 07:52:36.019367 Process 93 bytes request 07:52:36.019382 Got request: GET /verifiedserver HTTP/1.1 07:52:36.019391 Are-we-friendly question received 07:52:36.019415 Wrote request (93 bytes) input to log/7/server.input 07:52:36.019433 Identifying ourselves as friends 07:52:36.019503 Response sent (56 bytes) and written to log/7/server.response 07:52:36.019514 special request received, no persistency 07:52:36.019524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 40968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr1578 URL: http://127.0.0.1:39661/1578 === End of file stderr1578 === Start of file valgrind1578 ==164077== ==164077== Process terminating with default action of signal 4 (SIGILLCMD (33792): ../libtool --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/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:45761/1579 1579 > log/21/stdout1579 2> log/21/stderr1579 CMD (33792): ../libtool --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/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:40377/1580 1578 > log/22/stdout1580 2> log/22/stderr1580 CMD (33792): ../libtool --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:34041/1581 > log/10/stdout1581 2> log/10/stderr1581 ) ==164077== Illegal opcode at address 0x51D5F1F ==164077== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164077== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164077== by 0x51D5F1F: Curl_open (url.c:525) ==164077== by 0x514F6EF: curl_easy_init (easy.c:371) ==164077== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164077== by 0x400347F: main (first.c:280) ==164077== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164077== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164077== by 0x51D5EBD: Curl_open (url.c:504) ==164077== by 0x514F6EF: curl_easy_init (easy.c:371) ==164077== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164077== by 0x400347F: main (first.c:280) ==164077== === End of file valgrind1578 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/21/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:45761/1579 1579 > log/21/stdout1579 2> log/21/stderr1579 1579: 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/ dir 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/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:45761/1579 1579 > log/21/stdout1579 2> log/21/stderr1579 === End of file commands.log === Start of file http_server.log 07:52:35.032464 ====> Client connect 07:52:35.032507 accept_connection 3 returned 4 07:52:35.032527 accept_connection 3 returned 0 07:52:35.032543 Read 93 bytes 07:52:35.032554 Process 93 bytes request 07:52:35.032569 Got request: GET /verifiedserver HTTP/1.1 07:52:35.032579 Are-we-friendly question received 07:52:35.032604 Wrote request (93 bytes) input to log/21/server.input 07:52:35.032622 Identifying ourselves as friends 07:52:35.032677 Response sent (56 bytes) and written to log/21/server.response 07:52:35.032688 special request received, no persistency 07:52:35.032698 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file stderr1579 URL: http://127.0.0.1:45761/1579 === End of file stderr1579 === Start of file valgrind1579 ==164084== ==164084== Process terminating with default action of signal 4 (SIGILL) ==164084== Illegal opcode at address 0x51D5F1F ==164084== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164084== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164084== by 0x51D5F1F: Curl_open (url.c:525) ==164084== by 0x514F6EF: curl_easy_init (easy.c:371) ==164084== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164084== by 0x400347F: main (first.c:280) ==164084== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164084== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164084== by 0x51D5EBD: Curl_open (url.c:504) ==164084== by 0x514F6EF: curl_easy_init (easy.c:371) ==164084== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164084== by 0x400347F: main (first.c:280) ==164084== === End of file valgrind1579 test 1580...[CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => 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/22/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:40377/1580 1578 > log/22/stdout1580 2> log/22/stderr1580 1580: 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/ dir 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/22/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:40377/1580 1578 > log/22/stdout1580 2> log/22/stderr1580 === End of file commands.log === Start of file http_server.log 07:52:35.052723 ====> Client connect 07:52:35.052760 accept_connection 3 returned 4 07:52:35.052778 accept_connection 3 returned 0 07:52:35.052793 Read 93 bytes 07:52:35.052804 Process 93 bytes request 07:52:35.052818 Got request: GET /verifiedserver HTTP/1.1 07:52:35.052828 Are-we-friendly question received 07:52:35.052856 Wrote request (93 bytes) input to log/22/server.input 07:52:35.052874 Identifying ourselves as friends 07:52:35.052926 Response sent (56 bytes) and written to log/22/server.response 07:52:35.052936 special request received, no persistency 07:52:35.052947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file stderr1580 URL: http://127.0.0.1:40377/1580 === End of file stderr1580 === Start of file valgrind1580 ==164101== ==164101== Process terminating with default action of signal 4 (SIGILL) ==164101== Illegal opcode at address 0x51D5F1F ==164101== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164101== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164101== by 0x51D5F1F: Curl_open (url.c:525) ==164101== by 0x514F6EF: curl_easy_init (easy.c:371) ==164101== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164101== by 0x400347F: main (first.c:280) ==164101== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164101== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164101== by 0x51D5EBD: Curl_open (url.c:504) ==164101== by 0x514F6EF: curl_easy_init (easy.c:371) ==164101== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164101== by 0x400347F: main (first.c:280) ==164101== === End of file valgrind1580 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:34041/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/ dir after test 1581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/cuCMD (33792): ../libtool --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/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:45933/bzz/1591 log/6/stdout1591 2> log/6/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/18/valgrind1590 ./libtest/libtests lib1553 imap://localhost:46263/1590 > log/18/stdout1590 2> log/18/stderr1590 rl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:34041/1581 > log/10/stdout1581 2> log/10/stderr1581 === End of file commands.log === Start of file http_server.log 07:52:35.241708 ====> Client connect 07:52:35.241743 accept_connection 3 returned 4 07:52:35.241761 accept_connection 3 returned 0 07:52:35.241776 Read 93 bytes 07:52:35.241787 Process 93 bytes request 07:52:35.241800 Got request: GET /verifiedserver HTTP/1.1 07:52:35.241811 Are-we-friendly question received 07:52:35.241838 Wrote request (93 bytes) input to log/10/server.input 07:52:35.241855 Identifying ourselves as friends 07:52:35.241909 Response sent (56 bytes) and written to log/10/server.response 07:52:35.241919 special request received, no persistency 07:52:35.241929 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 45006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr1581 URL: http://127.0.0.1:34041/1581 === End of file stderr1581 === Start of file valgrind1581 ==164294== ==164294== Process terminating with default action of signal 4 (SIGILL) ==164294== Illegal opcode at address 0x51D5F1F ==164294== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164294== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164294== by 0x51D5F1F: Curl_open (url.c:525) ==164294== by 0x514F6EF: curl_easy_init (easy.c:371) ==164294== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==164294== by 0x400347F: main (first.c:280) ==164294== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164294== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164294== by 0x51D5EBD: Curl_open (url.c:504) ==164294== by 0x514F6EF: curl_easy_init (easy.c:371) ==164294== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==164294== by 0x400347F: main (first.c:280) ==164294== === End of file valgrind1581 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/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:45933/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 1591: 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/ dir 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/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:45933/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 === End of file commands.log === Start of file http_server.log 07:52:35.302592 ====> Client connect 07:52:35.302746 accept_connection 3 returned 4 07:52:35.302766 accept_connection 3 returned 0 07:52:35.302782 Read 93 bytes 07:52:35.302793 Process 93 bytes request 07:52:35.302809 Got request: GET /verifiedserver HTTP/1.1 07:52:35.302819 Are-we-friendly question received 07:52:35.302846 Wrote request (93 bytes) input to log/6/server.input 07:52:35.302864 Identifying ourselves as friends 07:52:35.302926 Response sent (56 bytes) and written to log/6/server.response 07:52:35.302937 special request received, no persistency 07:52:35.302947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr1591 URL: http://127.0.0.1:45933/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 ==164333== ==164333== Process terminating with default action of signal 4 (SIGILL) ==164333== Illegal opcode at address 0x51D5F1F ==164333== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164333== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164333== by 0x51D5F1F: Curl_open (url.c:525) ==164333== by 0x514F6EF: curl_easy_init (easy.c:371) ==164333== by 0x403B10C: test_lib1591.lto_priv.0 (lib1591.c:89) ==164333== by 0x400347F: main (first.c:280) ==164333== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164333== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164333== by 0x51D5EBD: Curl_open (url.c:504) ==164333== by 0x514F6EF: curl_easy_init (easy.c:371) ==164333== by 0x403B10C: test_lib1591.lto_priv.0 (lib1591.c:89) ==164333== by 0x400347F: main (first.c:280) ==164333== === End of file valgrind1591 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/18/valgrind1590 ./libtest/libtests lib1553 imap://localhost:46263/1590 > log/18/stdout1590 2> log/18/stderr1590 libtests returned 132, when expecting 0 1590: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind1590 ./libtest/libtests lib1553 imap://localhost:46263/1590 > log/18/stdout1590 2> log/18/stderr1590 === End of file commands.log === Start of file imap_server.log 07:52:35.448497 ====> Client connect 07:52:35.448663 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:35.449008 < "A001 CAPABILITY" 07:52:35.449049 > "A001 BAD Command[CR][LF]" 07:52:35.449235 < "A002 LIST "verifiedserver" *" 07:52:35.449265 LIST_imap got "verifiedserver" * 07:52:35.449291 > "* LIST () "/" "WE ROOLZ: 118713"[CR][LF]" 07:52:35.449310 > "A002 OK LIST Completed[CR][LF]" 07:52:35.449325 return proof we are we 07:52:35.494918 < "A003 LOGOUT" 07:52:35.494983 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:35.495007 > "A003 OK LOGOUT completed[CR][LF]" 07:52:35.496242 MAIN sockfilt said DISC 07:52:35.496288 ====> Client disconnected 07:52:35.496378 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:35.275853 ====> Client connect 07:52:35.276621 Received DATA (on stdin) 07:52:35.276641 > 178 bytes data, server => client 07:52:35.276655 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:35.276668 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:35.276680 ' \___|\___/|_| \_\_____|\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/17/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/17/stdout1592 2> log/17/stderr1592 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/19/valgrind1603 ./unit/units unit1603 - > log/19/stdout1603 2> log/19/stderr1603 CMD (33792): ../libtool --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/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:36233/1593 > log/8/stdout1593 2> log/8/stderr1593 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/valgrind1602 ./unit/units unit1602 - > log/14/stdout1602 2> log/14/stderr1602 OK curl IMAP server ready to se' 07:52:35.276690 'rve\r\n' 07:52:35.276788 < 17 bytes data, client => server 07:52:35.276803 'A001 CAPABILITY\r\n' 07:52:35.276990 Received DATA (on stdin) 07:52:35.277005 > 18 bytes data, server => client 07:52:35.277017 'A001 BAD Command\r\n' 07:52:35.277076 < 30 bytes data, client => server 07:52:35.277089 'A002 LIST "verifiedserver" *\r\n' 07:52:35.277264 Received DATA (on stdin) 07:52:35.277276 > 34 bytes data, server => client 07:52:35.277288 '* LIST () "/" "WE ROOLZ: 118713"\r\n' 07:52:35.277309 Received DATA (on stdin) 07:52:35.277321 > 24 bytes data, server => client 07:52:35.277333 'A002 OK LIST Completed\r\n' 07:52:35.322639 < 13 bytes data, client => server 07:52:35.322680 'A003 LOGOUT\r\n' 07:52:35.322954 Received DATA (on stdin) 07:52:35.322971 > 36 bytes data, server => client 07:52:35.322984 '* BYE curl IMAP server signing off\r\n' 07:52:35.323013 Received DATA (on stdin) 07:52:35.323026 > 26 bytes data, server => client 07:52:35.323039 'A003 OK LOGOUT completed\r\n' 07:52:35.324115 ====> Client disconnect 07:52:35.324328 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:46263/1590 === End of file stderr1590 === Start of file valgrind1590 ==164344== ==164344== Process terminating with default action of signal 4 (SIGILL) ==164344== Illegal opcode at address 0x519E800 ==164344== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==164344== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==164344== by 0x519E800: Curl_multi_handle (multi.c:247) ==164344== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==164344== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==164344== by 0x400347F: main (first.c:280) ==164344== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==164344== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164344== by 0x519E794: Curl_multi_handle (multi.c:239) ==164344== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==164344== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==164344== by 0x400347F: main (first.c:280) ==164344== === End of file valgrind1590 test 1592...[HTTP request, remove handle while resolving, don't 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/17/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/17/stdout1592 2> log/17/stderr1592 libtests returned 132, when expecting 0 1592: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/17/stdout1592 2> log/17/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 ==164302== ==164302== Process terminating with default action of signal 4 (SIGILL) ==164302== Illegal opcode at address 0x519E800 ==164302== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==164302== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==164302== by 0x519E800: Curl_multi_handle (multi.c:247) ==164302== by 0x4038ADB: UnknownInlinedFun (lib1592.c:52) ==164302== by 0x4038ADB: test_lib1592.lto_priv.0 (lib1592.c:41) ==164302== by 0x400347F: main (first.c:280) ==164302== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==164302== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164302== by 0x519E794: Curl_multi_handle (multi.c:239) ==164302== by 0x4038ADB: UnknownInlinedFun (lib1592.c:52) ==164302== by 0x4038ADB: test_lib1592.lto_priv.0 (lib1592.c:41) ==164302== by 0x400347F: main (first.c:280) ==164302== === End of file valgrind1592 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/19/valgrind1603 ./unit/units unit1603 - > log/19/stdout1603 2> log/19/stderr1603 -------e-v- OK (1522 out of 1746, remaining: 00:17, took 0.815s, duration: 01:55) 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/8/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:36233/1593 > log/8/stdout1593 2> log/8/stderr1593 1593: 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/ dir 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/8/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:36233/1593 > log/8/stdout1593 2> log/8/stderr1593 === End of file commands.log === Start of file http_server.log 07:52:35.439897 ====> Client connect 07:52:35.439943 accept_connection 3 returned 4 07:52:35.439962 accept_connection 3 returned 0 07:52:35.439979 Read 93 bytes 07:52:35.439995 Process 93 bytes request 07:52:35.440014 Got request: GET /verifiedserver HTTP/1.1 07:52:35.440025 Are-we-friendly question received 07:52:35.440053 Wrote request (93 bytes) input to log/8/server.input 07:52:35.440076 Identifying ourselves as friends 07:52:35.440141 Response sent (57 bytes) and written to log/8/server.response 07:52:35.440158 special request received, no persistency 07:52:35.440168 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 44898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === 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: 18 WE ROOLZ: 159283 === End of file server.response === Start of file stderr1593 URL: http://127.0.0.1:36233/1593 === End of file stderr1593 === Start of file valgrind1593 ==164498== ==164498== Process terminating with default action of signal 4 (SIGILL) ==164498== Illegal opcode at address 0x51D5F1F ==164498== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164498== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164498== by 0x51D5F1F: Curl_open (url.c:525) ==164498== by 0x514F6EF: curl_easy_init (easy.c:371) ==164498== by 0x403DE39: UnknownInlinedFun (lib1593.c:40) ==164498== by 0x403DE39: test_lib1593.lto_priv.0 (lib1593.c:31) ==164498== by 0x400347F: main (first.c:280) ==164498== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164498== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164498== by 0x51D5EBD: Curl_open (url.c:504) ==164498== by 0x514F6EF: curl_easy_init (easy.c:371) ==164498== by 0x403DE39: UnknownInlinedFun (lib1593.c:40) ==164498== by 0x403DE39: test_lib1593.lto_priv.0 (lib1593.c:31) ==164498== by 0x400347F: main (first.c:280) ==164498== === End of file valgrind1593 test 1602...[Internal hash create/add/destroy testing, exercising cleaCMD (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/valgrind1604 ./tunit/tunits tool1604 - > log/5/stdout1604 2> log/5/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/11/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40705/1569;type=A" ftp://127.0.0.1:40705/1569 > log/11/stdout1569 2> log/11/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/12/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:38023/1595 > log/12/stdout1595 2> log/12/stderr1595 n 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/14/valgrind1602 ./unit/units unit1602 - > log/14/stdout1602 2> log/14/stderr1602 -------e-v- OK (1521 out of 1746, remaining: 00:17, took 0.898s, duration: 01:55) 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/5/valgrind1604 ./tunit/tunits tool1604 - > log/5/stdout1604 2> log/5/stderr1604 -------e-v- OK (1523 out of 1746, remaining: 00:16, took 0.818s, duration: 01:55) 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 40705 (log/11/server/ftp_server.port) RUN: FTP server is PID 163368 port 40705 * pid ftp => 163368 163368 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/11/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40705/1569;type=A" ftp://127.0.0.1:40705/1569 > log/11/stdout1569 2> log/11/stderr1569 1569: 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/ dir 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/11/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40705/1569;type=A" ftp://127.0.0.1:40705/1569 > log/11/stdout1569 2> log/11/stderr1569 === End of file commands.log === Start of file ftp_server.log 07:52:34.816224 FTP server listens on port IPv4/40705 07:52:34.816308 logged pid 163368 in log/11/server/ftp_server.pid 07:52:34.816335 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:34.643881 Running IPv4 version 07:52:34.643959 Listening on port 40705 07:52:34.644021 Wrote pid 163440 to log/11/server/ftp_sockctrl.pid 07:52:34.644050 Wrote port 40705 to log/11/server/ftp_server.port 07:52:34.644071 Received PING (on stdin) === End of file ftp_sockctrl.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:40705/1569;type=A === End of file stderr1569 === Start of file valgrind1569 ==164581== ==164581== Process terminating with default action of signal 4 (SIGILL) ==164581== Illegal opcode at address 0x51D5F1F ==164581== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164581== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164581== by 0x51D5F1F: Curl_open (url.c:525) ==164581== by 0x514F6EF: curl_easy_init (easy.c:371) ==164581== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==164581== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==164581== by 0x400347F: main (first.c:280) ==164581== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164581== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164581== by 0x51D5EBD: Curl_open (url.c:504) ==164581== by 0x514F6EF: curl_easy_init (easy.c:371) ==164581== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==164581== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==164581== by 0x400347F: main (first.c:280) ==164581== === End of file valgrind1569 CMD (33792): ../libtool --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/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:42701/1596 > log/3/stdout1596 2> log/3/stderr1596 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/12/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:38023/1595 > log/12/stdout1595 2> log/12/stderr1595 1595: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:37.270707633 +0000 +++ log/12/check-generated 2025-11-07 07:52:37.270707633 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/12/ dir 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/12/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:38023/1595 > log/12/stdout1595 2> log/12/stderr1595 === End of file commands.log === Start of file http_server.log 07:52:35.720849 ====> Client connect 07:52:35.720884 accept_connection 3 returned 4 07:52:35.720901 accept_connection 3 returned 0 07:52:35.720917 Read 93 bytes 07:52:35.720928 Process 93 bytes request 07:52:35.720943 Got request: GET /verifiedserver HTTP/1.1 07:52:35.720954 Are-we-friendly question received 07:52:35.720983 Wrote request (93 bytes) input to log/12/server.input 07:52:35.721000 Identifying ourselves as friends 07:52:35.721050 Response sent (56 bytes) and written to log/12/server.response 07:52:35.721060 special request received, no persistency 07:52:35.721070 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 41242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 17 WE ROOLZ: 76290 === End of file server.response === Start of file stderr1595 URL: http://127.0.0.1:38023/1595 === End of file stderr1595 === Start of file valgrind1595 ==164715== ==164715== Process terminating with default action of signal 4 (SIGILL) ==164715== Illegal opcode at address 0x51D5F1F ==164715== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164715== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164715== by 0x51D5F1F: Curl_open (url.c:525) ==164715== by 0x514F6EF: curl_easy_init (easy.c:371) ==164715== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164715== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164715== by 0x400347F: main (first.c:280) ==164715== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164715== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164715== by 0x51D5EBD: Curl_open (url.c:504) ==164715== by 0x514F6EF: curl_easy_init (easy.c:371) ==164715== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164715== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164715== by 0x400347F: main (first.c:280) ==164715== === End of file valgrind1595 CMD (33792): ../libtool --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/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:40357/1594 > log/20/stdout1594 2> log/20/stderr1594 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/3/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:42701/1596 > log/3/stdout1596 2> log/3/stderr1596 1596: stdout FAILED: --- log/3/check-expected 2025-11-07 07:52:37.304040967 +0000 +++ log/3/check-generated 2025-11-07 07:52:37.304040967 +0000 @@ -1 +0,0 @@ -Retry-After 21600[LF] == Contents of files in the log/3/ dir 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/3/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:42701/1596 > log/3/stdout1596 2> log/3/stderr1596 === End of file commands.log === Start of file http_server.log 07:52:35.739863 ====> Client connect 07:52:35.739896 accept_connection 3 returned 4 07:52:35.739912 accept_connection 3 returned 0 07:52:35.739926 Read 93 bytes 07:52:35.739941 Process 93 bytes request 07:52:35.739957 Got request: GET /verifiedserver HTTP/1.1 07:52:35.739967 Are-we-friendly question received 07:52:35.739991 Wrote request (93 bytes) input to log/3/server.input 07:52:35.740011 Identifying ourselves as friends 07:52:35.740067 Response sent (57 bytes) and written to log/3/server.response 07:52:35.740081 special request received, no persistency 07:52:35.740090 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 55022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === End of file server.response === Start of file stderr1596 URL: http://127.0.0.1:42701/1596 === End of file stderr1596 === Start of file valgrind1596 ==164750== ==164750== Process terminating with default action of signal 4 (SIGILL) ==164750== Illegal opcode at address 0x51D5F1F ==164750== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164750== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164750== by 0x51D5F1F: Curl_open (url.c:525) ==164750== by 0x514F6EF: curl_easy_init (easy.c:371) ==164750== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164750== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164750== by 0x400347F: main (first.c:280) ==164750== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164750== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164750== by 0x51D5EBD: Curl_open (url.c:504) ==164750== by 0x514F6EF: curl_easy_init (easy.c:371) ==164750== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164750== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164750== by 0x400347F: main (first.c:280) ==164750== === End of file valgrind1596 CMD (33792): ../libtool --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/valgrind1601 ./unit/units unit1601 - > log/15/stdout1601 2> log/15/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/1/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:35709/bzz/1598 log/1/stdout1598 2> log/1/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/23/valgrind1600 ./unit/units unit1600 - > log/23/stdout1600 2> log/23/stderr1600 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/20/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:40357/1594 > log/20/stdout1594 2> log/20/stderr1594 1594: stdout FAILED: --- log/20/check-expected 2025-11-07 07:52:37.317374300 +0000 +++ log/20/check-generated 2025-11-07 07:52:37.317374300 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/20/ dir 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/20/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:40357/1594 > log/20/stdout1594 2> log/20/stderr1594 === End of file commands.log === Start of file http_server.log 07:52:35.577284 ====> Client connect 07:52:35.577325 accept_connection 3 returned 4 07:52:35.577345 accept_connection 3 returned 0 07:52:35.577618 Read 93 bytes 07:52:35.577636 Process 93 bytes request 07:52:35.577648 Got request: GET /verifiedserver HTTP/1.1 07:52:35.577657 Are-we-friendly question received 07:52:35.577688 Wrote request (93 bytes) input to log/20/server.input 07:52:35.577705 Identifying ourselves as friends 07:52:35.577753 Response sent (56 bytes) and written to log/20/server.response 07:52:35.577763 special request received, no persistency 07:52:35.577772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 58876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr1594 URL: http://127.0.0.1:40357/1594 === End of file stderr1594 === Start of file valgrind1594 ==164571== ==164571== Process terminating with default action of signal 4 (SIGILL) ==164571== Illegal opcode at address 0x51D5F1F ==164571== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164571== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164571== by 0x51D5F1F: Curl_open (url.c:525) ==164571== by 0x514F6EF: curl_easy_init (easy.c:371) ==164571== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164571== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164571== by 0x400347F: main (first.c:280) ==164571== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164571== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164571== by 0x51D5EBD: Curl_open (url.c:504) ==164571== by 0x514F6EF: curl_easy_init (easy.c:371) ==164571== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164571== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164571== by 0x400347F: main (first.c:280) ==164571== === End of file valgrind1594 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/15/valgrind1601 ./unit/units unit1601 - > log/15/stdout1601 2> log/15/stderr1601 units returned 132, when expecting 0 1601: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind1601 ./unit/units unit1601 - > log/15/stdout1601 2> log/15/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 ==164977== ==164977== Process terminating with default action of signal 4 (SIGILL) ==164977== Illegal opcode at address 0x400FB88 ==164977== at 0x400FB88: test_unit1601.lto_priv.0 (unit1601.c:42) ==164977== by 0x400A12F: main (first.c:280) === End of file valgrind1601 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/1/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:35709/bzz/1598 log/1/stdout1598 2> log/1/stderr1598 1598: 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/ dir 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/1/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:35709/bzz/1598 log/1/stdout1598 2> log/1/stderr1598 === End of file commands.log === Start of file http_server.log 07:52:35.829240 ====> Client connect 07:52:35.829286 accept_connection 3 returned 4 07:52:35.829305 accept_connection 3 returned 0 07:52:35.829322 Read 93 bytes 07:52:35.829334 Process 93 bytes request 07:52:35.829348 Got request: GET /verifiedserver HTTP/1.1 07:52:35.829358 Are-we-friendly question received 07:52:35.829382 Wrote request (93 bytes) input to log/1/server.input 07:52:35.829399 Identifying ourselves as friends 07:52:35.829474 Response sent (56 bytes) and written to log/1/server.response 07:52:35.829486 special request received, no persistency 07:52:35.829496 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 48408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file stderr1598 URL: http://127.0.0.1:35709/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 ==164842== ==164842== Process terminating with default action of signal 4 (SIGILL) ==164842== Illegal opcode at address 0x51D5F1F ==164842== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164842== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164842== by 0x51D5F1F: Curl_open (url.c:525) ==164842== by 0x514F6EF: curl_easy_init (easy.c:371) ==164842== by 0x403B330: test_lib1598.lto_priv.0 (lib1598.c:69) ==164842== by 0x400347F: main (first.c:280) ==164842== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164842== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164842== by 0x51D5EBD: Curl_open (url.c:504) ==164842== by 0x514F6EF: curl_easy_init (easy.c:371) ==164842== by 0x403B330: test_lib1598.lto_priv.0 (lib1598.c:69) ==164842== by 0x400347F: main (first.c:280) ==164842== === End of file valgrind1598 test 1600...[NTLM unit 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/2/valgrind1597 ./libtest/libtests lib1597 - > log/2/stdout1597 2> log/2/stderr1597 ./libtool --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/valgrind1600 ./unit/units unit1600 - > log/23/stdout1600 2> log/23/stderr1600 units returned 132, when expecting 0 1600: exit FAILED == Contents of files in the log/23/ dir 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/23/valgrind1600 ./unit/units unit1600 - > log/23/stdout1600 2> log/23/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 ==164908== ==164908== Process terminating with default action of signal 4 (SIGILL) ==164908== Illegal opcode at address 0x407C5FF ==164908== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==164908== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==164908== by 0x407C5FF: Curl_open (url.c:525) ==164908== by 0x403E625: curl_easy_init (easy.c:371) ==164908== by 0x400F72B: UnknownInlinedFun (unit1600.c:34) ==164908== by 0x400F72B: test_unit1600.lto_priv.0 (unit1600.c:52) ==164908== by 0x400A12F: main (first.c:280) ==164908== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164908== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==164908== by 0x407C59D: Curl_open (url.c:504) ==164908== by 0x403E625: curl_easy_init (easy.c:371) ==164908== by 0x400F72B: UnknownInlinedFun (unit1600.c:34) ==164908== by 0x400F72B: test_unit1600.lto_priv.0 (unit1600.c:52) ==164908== by 0x400A12F: main (first.c:280) ==164908== === 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/16/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:37855/1599 log/16/netrc1599 > log/16/stdout1599 2> log/16/stderr1599 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/2/valgrind1597 ./libtest/libtests lib1597 - > log/2/stdout1597 2> log/2/stderr1597 1597: stdout FAILED: --- log/2/check-expected 2025-11-07 07:52:37.410707634 +0000 +++ log/2/check-generated 2025-11-07 07:52:37.410707634 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/2/ dir 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/2/valgrind1597 ./libtest/libtests lib1597 - > log/2/stdout1597 2> log/2/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 ==164671== ==164671== Process terminating with default action of signal 4 (SIGILL) ==164671== Illegal opcode at address 0x51D5F1F ==164671== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164671== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164671== by 0x51D5F1F: Curl_open (url.c:525) ==164671== by 0x514F6EF: curl_easy_init (easy.c:371) ==164671== by 0x403EF4D: UnknownInlinedFun (lib1597.c:73) ==164671== by 0x403EF4D: test_lib1597.lto_priv.0 (lib1597.c:36) ==164671== by 0x400347F: main (first.c:280) ==164671== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164671== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164671== by 0x51D5EBD: Curl_open (url.c:504) ==164671== by 0x514F6EF: curl_easy_init (easy.c:371) ==164671== by 0x403EF4D: UnknownInlinedFun (lib1597.c:73) ==164671== by 0x403EF4D: test_lib1597.lto_priv.0 (lib1597.c:36) ==164671== by 0x400347F: main (first.c:280) ==164671== === End of file valgrind1597 CMD (33792): ../libtool --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/valgrind1611 ./unit/units unit1611 - > log/22/stdout1611 2> log/22/stderr1611 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/16/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:37855/1599 log/16/netrc1599 > log/16/stdout1599 2> log/16/stderr1599 1599: data FAILED: --- log/16/check-expected 2025-11-07 07:52:37.474040968 +0000 +++ log/16/check-generated 2025-11-07 07:52:37.474040968 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/16/ dir 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/16/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:37855/1599 log/16/netrc1599 > log/16/stdout1599 2> log/16/stderr1599 === End of file commands.log === Start of file ftp_server.log 07:52:36.130491 ====> Client connect 07:52:36.130668 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:36.133660 < "USER anonymous" 07:52:36.133705 > "331 We are happy you popped in![CR][LF]" 07:52:36.133881 < "PASS ftp@example.com" 07:52:36.133908 > "230 Welcome you silly person[CR][LF]" 07:52:36.134051 < "PWD" 07:52:36.134083 > "257 "/" is current directory[CR][LF]" 07:52:36.134234 < "EPSV" 07:52:36.134256 ====> Passive DATA channel requested by client 07:52:36.134269 DATA sockfilt for passive data channel starting... 07:52:36.144610 DATA sockfilt for passive data channel started (pid 164944) 07:52:36.145140 DATA sockfilt for passive data channel listens on port 40083 07:52:36.145219 > "229 Entering Passive Mode (|||40083|)[CR][LF]" 07:52:36.145240 Client has been notified that DATA conn will be accepted on port 40083 07:52:36.154699 Client connects to port 40083 07:52:36.154765 ====> Client established passive DATA connection on port 40083 07:52:36.155672 < "TYPE I" 07:52:36.155806 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:36.158720 < "SIZE verifiedserver" 07:52:36.158778 > "213 17[CR][LF]" 07:52:36.159017 < "RETR verifiedserver" 07:52:36.159553 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:36.159660 =====> Closing passive DATA connection... 07:52:36.159677 Server disconnects passive DATA connection 07:52:36.160188 Server disconnected passive DATA connection 07:52:36.160214 DATA sockfilt for passive data channel quits (pid 164944) 07:52:36.160500 DATA sockfilt for passive data channel quit (pid 164944) 07:52:36.160525 =====> Closed passive DATA connection 07:52:36.160554 > "226 File transfer complete[CR][LF]" 07:52:36.208059 < "QUIT" 07:52:36.208124 > "221 bye bye baby[CR][LF]" 07:52:36.209368 MAIN sockfilt said DISC 07:52:36.209415 ====> Client disconnected 07:52:36.209494 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:35.953396 ====> Client connect 07:52:35.961256 Received DATA (on stdin) 07:52:35.961286 > 160 bytes data, server => client 07:52:35.961300 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:35.961312 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:35.961323 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:35.961412 < 16 bytes data, client => server 07:52:35.961425 'USER anonymous\r\n' 07:52:35.961649 Received DATA (on stdin) 07:52:35.961663 > 33 bytes data, server => client 07:52:35.961675 '331 We are happy you popped in!\r\n' 07:52:35.961727 < 22 bytes data, client => server 07:52:35.961739 'PASS ftp@example.com\r\n' 07:52:35.961846 Received DATA (on stdin) 07:52:35.961858 > 30 bytes data, server => client 07:52:35.961869 '230 Welcome you silly person\r\n' 07:52:35.961913 < 5 bytes data, client => server 07:52:35.961924 'PWD\r\n' 07:52:35.962020 Received DATA (on stdin) 07:52:35.962032 > 30 bytes data, server => client 07:52:35.962044 '257 "/" is current directory\r\n' 07:52:35.962097 < 6 bytes data, client => server 07:52:35.962108 'EPSV\r\n' 07:52:35.973191 Received DATA (on stdin) 07:52:35.973211 > 39 bytes data, server => client 07:52:35.973223 '229 Entering Passive Mode (|||40083|)\r\n' 07:52:35.973415 < 8 bytes data, client => server 07:52:35.973432 'TYPE I\r\n' 07:52:35.983761 Received DATA (on stdin) 07:52:35.983815 > 33 bytes data, server => client 07:52:35.983852 '200 I modify TYPE as you wanted\r\n' 07:52:35.986386 < 21 bytes data, client => server 07:52:35.986408 'SIZE verifiedserver\r\n' 07:52:35.986752 Received DATA (on stdin) 07:52:35.986768 > 8 bytes data, server => client 07:52:35.986778 '213 17\r\n' 07:52:35.986845 < 21 bytes data, client => server 07:52:35.986858 'RETR verifiedserver\r\n' 07:52:35.987954 Received DATA (on stdin) 07:52:35.987969 > 29 bytes data, server => client 07:52:35.987982 '150 Binary junk (17 bytes).\r\n' 07:52:35.988498 Received DATA (on stdin) 07:52:35.988512 > 28 bytes data, server => client 07:52:35.988523 '226 File transfer complete\r\n' 07:52:36.032685 < 6 bytes data, client => server 07:52:36.032730 'QUIT\r\n' 07:52:36.036077 Received DATA (on stdin) 07:52:36.036096 > 18 bytes data, server => client 07:52:36.036109 '221 bye bye baby\r\n' 07:52:36.037240 ====> Client disconnect 07:52:36.037440 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:36.964899 Running IPv4 version 07:52:36.964992 Listening on port 40083 07:52:36.965033 Wrote pid 164944 to log/16/server/ftp_sockdata.pid 07:52:36.969493 Received PING (on stdin) 07:52:36.972924 Received PORT (on stdin) 07:52:36.975884 ====> Client connect 07:52:36.987625 Received DATA (on stdin) 07:52:36.987641 > 17 bytes data, server => client 07:52:36.987653 'WE ROOLZ: 80324\r\n' 07:52:36.987908 Received DISC (on stdin) 07:52:36.987922 ====> Client forcibly disconnected 07:52:36.988164 Received QUIT (on stdin) 07:52:36.988177 quits 07:52:36.988239 ============> 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:37855/1599 === End of file stderr1599 === Start of file valgrind1599 ==165007== ==165007== Process terminating with default action of signal 4 (SIGILL) ==165007== Illegal opcode at address 0x51D5F1F ==165007== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==165007== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==165007== by 0x51D5F1F: Curl_open (url.c:525) ==165007== by 0x514F6EF: curl_easy_init (easy.c:371) ==165007== by 0x403A12E: UnknownInlinedFun (lib1599.c:32) ==165007== by 0x403A12E: test_lib1599.lto_priv.0 (lib1599.c:26) ==165007== by 0x400347F: main (first.c:280) ==165007== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165007== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==165007== by 0x51D5EBD: Curl_open (url.c:504) ==165007== by 0x514F6EF: curl_easy_init (easy.c:371) ==165007== by 0x403A12E: UnknownInlinedFun (lib1599.c:32) ==165007== by 0x403A12E: test_lib1599.lto_priv.0 (lib1599.c:26) ==165007== by 0x400347F: main (first.c:280) ==165007== === End of file valgrind1599 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/22/valgrind1611 ./unit/units unit1611 - > log/22/stdout1611 2> log/22/stderr1611 units returned 132, when expecting 0 1611: exit FAILED == Contents of files in the log/22/ dir 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 -CMD (33792): ../libtool --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/valgrind1605 ./unit/units unit1605 - > log/13/stdout1605 2> log/13/stderr1605 CMD (33792): ../libtool --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/valgrind1606 ./unit/units unit1606 - > log/24/stdout1606 2> log/24/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/4/valgrind1607 ./unit/units unit1607 - > log/4/stdout1607 2> log/4/stderr1607 CMD (33792): ../libtool --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/valgrind1612 ./unit/units unit1612 - > log/10/stdout1612 2> log/10/stderr1612 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/valgrind1614 ./unit/units unit1614 - > log/18/stdout1614 2> log/18/stderr1614 CMD (33792): ../libtool --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/valgrind1609 ./unit/units unit1609 - > log/7/stdout1609 2> log/7/stderr1609 -num-callers=16 --log-file=log/22/valgrind1611 ./unit/units unit1611 - > log/22/stdout1611 2> log/22/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 ==165404== ==165404== Process terminating with default action of signal 4 (SIGILL) ==165404== Illegal opcode at address 0x4054E6A ==165404== at 0x4054E6A: UnknownInlinedFun (md4.c:436) ==165404== by 0x4054E6A: Curl_md4it (md4.c:471) ==165404== by 0x4013419: test_unit1611.lto_priv.0 (unit1611.c:38) ==165404== by 0x400A12F: main (first.c:280) === End of file valgrind1611 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/13/valgrind1605 ./unit/units unit1605 - > log/13/stdout1605 2> log/13/stderr1605 units returned 132, when expecting 0 1605: exit FAILED == Contents of files in the log/13/ dir 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/13/valgrind1605 ./unit/units unit1605 - > log/13/stdout1605 2> log/13/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 ==165156== ==165156== Process terminating with default action of signal 4 (SIGILL) ==165156== Illegal opcode at address 0x407C5FF ==165156== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165156== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165156== by 0x407C5FF: Curl_open (url.c:525) ==165156== by 0x403E625: curl_easy_init (easy.c:371) ==165156== by 0x4011287: UnknownInlinedFun (unit1605.c:33) ==165156== by 0x4011287: test_unit1605.lto_priv.0 (unit1605.c:51) ==165156== by 0x400A12F: main (first.c:280) ==165156== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165156== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165156== by 0x407C59D: Curl_open (url.c:504) ==165156== by 0x403E625: curl_easy_init (easy.c:371) ==165156== by 0x4011287: UnknownInlinedFun (unit1605.c:33) ==165156== by 0x4011287: test_unit1605.lto_priv.0 (unit1605.c:51) ==165156== by 0x400A12F: main (first.c:280) ==165156== === End of file valgrind1605 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/24/valgrind1606 ./unit/units unit1606 - > log/24/stdout1606 2> log/24/stderr1606 units returned 132, when expecting 0 1606: exit FAILED == Contents of files in the log/24/ dir 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/24/valgrind1606 ./unit/units unit1606 - > log/24/stdout1606 2> log/24/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 ==165166== ==165166== Process terminating with default action of signal 4 (SIGILL) ==165166== Illegal opcode at address 0x407C5FF ==165166== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165166== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165166== by 0x407C5FF: Curl_open (url.c:525) ==165166== by 0x403E625: curl_easy_init (easy.c:371) ==165166== by 0x401162B: UnknownInlinedFun (unit1606.c:34) ==165166== by 0x401162B: test_unit1606.lto_priv.0 (unit1606.c:83) ==165166== by 0x400A12F: main (first.c:280) ==165166== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165166== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165166== by 0x407C59D: Curl_open (url.c:504) ==165166== by 0x403E625: curl_easy_init (easy.c:371) ==165166== by 0x401162B: UnknownInlinedFun (unit1606.c:34) ==165166== by 0x401162B: test_unit1606.lto_priv.0 (unit1606.c:83) ==165166== by 0x400A12F: main (first.c:280) ==165166== === 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/4/valgrind1607 ./unit/units unit1607 - > log/4/stdout1607 2> log/4/stderr1607 units returned 132, when expecting 0 1607: exit FAILED == Contents of files in the log/4/ dir 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/4/valgrind1607 ./unit/units unit1607 - > log/4/stdout1607 2> log/4/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 ==165173== ==165173== Process terminating with default action of signal 4 (SIGILL) ==165173== Illegal opcode at address 0x407C5FF ==165173== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165173== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165173== by 0x407C5FF: Curl_open (url.c:525) ==165173== by 0x403E625: curl_easy_init (easy.c:371) ==165173== by 0x40119F4: UnknownInlinedFun (unit1607.c:117) ==165173== by 0x40119F4: test_unit1607.lto_priv.0 (unit1607.c:39) ==165173== by 0x400A12F: main (first.c:280) ==165173== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165173== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165173== by 0x407C59D: Curl_open (url.c:504) ==165173== by 0x403E625: curl_easy_init (easy.c:371) ==165173== by 0x40119F4: UnknownInlinedFun (unit1607.c:117) ==165173== by 0x40119F4: test_unit1607.lto_priv.0 (unit1607.c:39) ==165173== by 0x400A12F: main (first.c:280) ==165173== === End of file valgrind1607 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/10/valgrind1612 ./unit/units unit1612 - > log/10/stdout1612 2> log/10/stderr1612 units returned 132, when expecting 0 1612: exit FAILED == Contents of files in the log/10/ dir 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/10/valgrind1612 ./unit/units unit1612 - > log/10/stdout1612 2> log/10/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 ==165444== ==165444== Process terminating with default action of signal 4 (SIGILL) ==165444== Illegal opcode at address 0x40136B6 ==165444== at 0x40136B6: test_unit1612.lto_priv.0 (unit1612.c:47) ==165444== by 0x400A12F: main (first.c:280) === End of file valgrind1612 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/18/valgrind1614 ./unit/units unit1614 - > log/18/stdout1614 2> log/18/stderr1614 -------e-v- OK (1533 out of 1746, remaining: 00:16, took 0.842s, duration: 01:56) 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 --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/valgrind1608 ./unit/units unit1608 - > log/9/stdout1608 2> log/9/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/19/valgrind1616 ./unit/units unit1616 - > log/19/stdout1616 2> log/19/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/21/valgrind1610 ./unit/units unit1610 - > log/21/stdout1610 2> log/21/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/5/valgrind1621 ./tunit/tunits tool1621 - > log/5/stdout1621 2> log/5/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/17/valgrind1615 ./unit/units unit1615 - > log/17/stdout1615 2> log/17/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/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/12/valgrind1651 ./unit/units unit1651 - > log/12/stdout1651 2> log/12/stderr1651 og-file=log/7/valgrind1609 ./unit/units unit1609 - > log/7/stdout1609 2> log/7/stderr1609 units returned 132, when expecting 0 1609: exit FAILED == Contents of files in the log/7/ dir 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/7/valgrind1609 ./unit/units unit1609 - > log/7/stdout1609 2> log/7/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 ==165323== ==165323== Process terminating with default action of signal 4 (SIGILL) ==165323== Illegal opcode at address 0x407C5FF ==165323== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165323== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165323== by 0x407C5FF: Curl_open (url.c:525) ==165323== by 0x403E625: curl_easy_init (easy.c:371) ==165323== by 0x401264B: UnknownInlinedFun (unit1609.c:113) ==165323== by 0x401264B: test_unit1609.lto_priv.0 (unit1609.c:71) ==165323== by 0x400A12F: main (first.c:280) ==165323== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165323== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165323== by 0x407C59D: Curl_open (url.c:504) ==165323== by 0x403E625: curl_easy_init (easy.c:371) ==165323== by 0x401264B: UnknownInlinedFun (unit1609.c:113) ==165323== by 0x401264B: test_unit1609.lto_priv.0 (unit1609.c:71) ==165323== by 0x400A12F: main (first.c:280) ==165323== === End of file valgrind1609 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/9/valgrind1608 ./unit/units unit1608 - > log/9/stdout1608 2> log/9/stderr1608 units returned 132, when expecting 0 1608: exit FAILED == Contents of files in the log/9/ dir 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/9/valgrind1608 ./unit/units unit1608 - > log/9/stdout1608 2> log/9/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 ==165257== ==165257== Process terminating with default action of signal 4 (SIGILL) ==165257== Illegal opcode at address 0x407C5FF ==165257== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165257== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165257== by 0x407C5FF: Curl_open (url.c:525) ==165257== by 0x403E625: curl_easy_init (easy.c:371) ==165257== by 0x4012EFF: test_unit1608.lto_priv.0 (unit1608.c:53) ==165257== by 0x400A12F: main (first.c:280) ==165257== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165257== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165257== by 0x407C59D: Curl_open (url.c:504) ==165257== by 0x403E625: curl_easy_init (easy.c:371) ==165257== by 0x4012EFF: test_unit1608.lto_priv.0 (unit1608.c:53) ==165257== by 0x400A12F: main (first.c:280) ==165257== === End of file valgrind1608 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/19/valgrind1616 ./unit/units unit1616 - > log/19/stdout1616 2> log/19/stderr1616 -------e-v- OK (1535 out of 1746, remaining: 00:16, took 0.919s, duration: 01:56) 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/21/valgrind1610 ./unit/units unit1610 - > log/21/stdout1610 2> log/21/stderr1610 units returned 132, when expecting 0 1610: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind1610 ./unit/units unit1610 - > log/21/stdout1610 2> log/21/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 ==165334== ==165334== Process terminating with default action of signal 4 (SIGILL) ==165334== Illegal opcode at address 0x4013101 ==165334== at 0x4013101: UnknownInlinedFun (unit1610.c:49) ==165334== by 0x4013101: test_unit1610.lto_priv.0 (unit1610.c:35) ==165334== by 0x400A12F: main (first.c:280) === End of file valgrind1610 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/5/valgrind1621 ./tunit/tunits tool1621 - > log/5/stdout1621 2> log/5/stderr1621 tunits returned 132, when expecting 0 1621: exit FAILED == Contents of files in the log/5/ dir 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/5/valgrind1621 ./tunit/tunits tool1621 - > log/5/stdout1621 2> log/5/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 ==165747== ==165747== Process terminating with default action of signal 4 (SIGILL) ==165747== Illegal opcode at address 0x492FFB0 ==165747== at 0x492FFB0: UnknownInlinedFun (string_fortified.h:59) ==165747== by 0x492FFB0: UnknownInlinedFun (urlapi.c:1267) ==165747== by 0x492FFB0: UnknownInlinedFun (urlapi.c:1705) ==165747== by 0x492FFB0: curl_url_set (urlapi.c:1841) ==165747== by 0x40018FB: UnknownInlinedFun (tool_xattr.c:53) ==165747== by 0x40018FB: test_tool1621 (tool1621.c:75) ==165747== by 0x40010FE: main (first.c:280) === End of file valgrind1621 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/17/valgrind1615 ./unit/units unit1615 - > log/17/stdout1615 2> log/17/stderr1615 units returned 132, when expecting 0 1615: exit FAILED == Contents of files in the log/17/ dir 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/17/valgrind1615 ./unit/units unit1615 - > log/17/stdout1615 2> log/17/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 ==165548== ==165548== Process terminating with default action of signal 4 (SIGILL) ==165548== Illegal opcode at address 0x4013964 ==165548== at 0x4013964: test_unit1615.lto_priv.0 (unit1615.c:118) ==165548== by 0x400A12F: main (first.c:280) === End of file valgrind1615 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 (1548 out of 1746, remaining: 00:14, took 0.798s, duration: 01:56) test 1651...[x509 parsing] ../libtoCMD (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/valgrind1650 ./unit/units unit1650 - > log/11/stdout1650 2> log/11/stderr1650 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/valgrind1655 ./unit/units unit1655 - > log/16/stdout1655 2> log/16/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/6/valgrind1613 ../src/curl -q --output log/6/curl1613.out --include --trace-ascii log/6/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:45933/ -H "Testno: 1613" http://www.example.org/ > log/6/stdout1613 2> log/6/stderr1613 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/valgrind1656 ./unit/units unit1656 - > log/22/stdout1656 2> log/22/stderr1656 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/valgrind1657 ./unit/units unit1657 - > log/13/stdout1657 2> log/13/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/14/valgrind1620 ./unit/units unit1620 - > log/14/stdout1620 2> log/14/stderr1620 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/13 ascii option1.md option2.md > log/13/stdout1706 2> log/13/stderr1706 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/22 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/22/stdout1705 2> log/22/stderr1705 CMD (33792): ../libtool --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/valgrind1617 ../src/curl -q --output log/8/curl1617.out --include --trace-ascii log/8/trace1617 --trace-time http://127.0.0.1:36233/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/8/stdout1617 2> log/8/stderr1617 ol --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/valgrind1651 ./unit/units unit1651 - > log/12/stdout1651 2> log/12/stderr1651 -------e-v- OK (1546 out of 1746, remaining: 00:15, took 0.824s, duration: 01:56) 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/11/valgrind1650 ./unit/units unit1650 - > log/11/stdout1650 2> log/11/stderr1650 -------e-v- OK (1545 out of 1746, remaining: 00:15, took 0.970s, duration: 01:57) 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/16/valgrind1655 ./unit/units unit1655 - > log/16/stdout1655 2> log/16/stderr1655 -------e-v- OK (1550 out of 1746, remaining: 00:14, took 0.882s, duration: 01:57) 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/6/valgrind1613 ../src/curl -q --output log/6/curl1613.out --include --trace-ascii log/6/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:45933/ -H "Testno: 1613" http://www.example.org/ > log/6/stdout1613 2> log/6/stderr1613 1613: 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/ dir 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/6/valgrind1613 ../src/curl -q --output log/6/curl1613.out --include --trace-ascii log/6/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:45933/ -H "Testno: 1613" http://www.example.org/ > log/6/stdout1613 2> log/6/stderr1613 === End of file commands.log === Start of file http_server.log 07:52:36.709236 ====> Client connect 07:52:36.709277 accept_connection 3 returned 4 07:52:36.709296 accept_connection 3 returned 0 07:52:36.709312 Read 93 bytes 07:52:36.709328 Process 93 bytes request 07:52:36.709343 Got request: GET /verifiedserver HTTP/1.1 07:52:36.709354 Are-we-friendly question received 07:52:36.709382 Wrote request (93 bytes) input to log/6/server.input 07:52:36.709402 Identifying ourselves as friends 07:52:36.709479 Response sent (56 bytes) and written to log/6/server.response 07:52:36.709491 special request received, no persistency 07:52:36.709501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1613 ==165497== ==165497== Process terminating with default action of signal 4 (SIGILL) ==165497== Illegal opcode at address 0x4013DC0 ==165497== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==165497== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165497== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==165497== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1613 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/22/valgrind1656 ./unit/units unit1656 - > log/22/stdout1656 2> log/22/stderr1656 -------e-v- OK (1551 out of 1746, remaining: 00:14, took 0.818s, duration: 01:57) 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/13/valgrind1657 ./unit/units unit1657 - > log/13/stdout1657 2> log/13/stderr1657 -------e-v- OK (1552 out of 1746, remaining: 00:14, took 0.801s, duration: 01:57) 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/14/valgrind1620 ./unit/units unit1620 - > log/14/stdout1620 2> log/14/stderr1620 units returned 132, when expecting 0 1620: exit FAILED == Contents of files in the log/14/ dir 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/14/valgrind1620 ./unit/units unit1620 - > log/14/stdout1620 2> log/14/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 ==165663== ==165663== Process terminating with default action of signal 4 (SIGILL) ==165663== Illegal opcode at address 0x407C5FF ==165663== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165663== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165663== by 0x407C5FF: Curl_open (url.c:525) ==165663== by 0x4014B0F: UnknownInlinedFun (unit1620.c:83) ==165663== by 0x4014B0F: test_unit1620.lto_priv.0 (unit1620.c:72) ==165663== by 0x400A12F: main (first.c:280) ==165663== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165663== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165663== by 0x407C59D: Curl_open (url.c:504) ==165663== by 0x4014B0F: UnknownInlinedFun (unit1620.c:83) ==165663== by 0x4014B0F: test_unit1620.lto_priv.0 (unit1620.c:72) ==165663== by 0x400A12F: main (first.c:280) ==165663== === End of file valgrind1620 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/13 ascii option1.md option2.md > log/13/stdout1706 2> log/13/stderr1706 valgrind SKIPPED sr-----e--- OK (1569 out of 1746, remaining: 00:13, took 0.080s, duration: 01:57) 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/8/valgrind1617 ../src/curl -q --output log/8/curl1617.out --include --trace-ascii log/8/trace1617 --trace-time http://127.0.0.1:36233/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/8/stdout1617 2> log/8/stderr1617 1617: 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/ dir 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/8/valgrind1617 ../src/curl -q --output log/8/curl1617.out --include --trace-ascii log/8/trace1617 --trace-time http://127.0.0.1:36233/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/8/stdout1617 2> log/8/stderr1617 === End of file commands.log === Start of file http_server.log 07:52:36.94CMD (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/valgrind1658 ./unit/units unit1658 - > log/24/stdout1658 2> log/24/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/10/valgrind1661 ./unit/units unit1661 - > log/10/stdout1661 2> log/10/stderr1661 CMD (33792): ../libtool --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/valgrind1652 ./unit/units unit1652 - > log/1/stdout1652 2> log/1/stderr1652 CMD (33792): ../libtool --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/valgrind1635 ../src/curl -q --trace-ascii log/15/trace1635 --trace-time http://127.0.0.1:43789/1635 --retry 1 --fail-with-body > log/15/stdout1635 2> log/15/stderr1635 CMD (33792): ../libtool --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/valgrind1633 ../src/curl -q --output log/3/curl1633.out --include --trace-ascii log/3/trace1633 --trace-time http://127.0.0.1:42701/1633 -d moo --retry 1 -L > log/3/stdout1633 2> log/3/stderr1633 7481 ====> Client connect 07:52:36.947518 accept_connection 3 returned 4 07:52:36.947536 accept_connection 3 returned 0 07:52:36.947552 Read 93 bytes 07:52:36.947563 Process 93 bytes request 07:52:36.947576 Got request: GET /verifiedserver HTTP/1.1 07:52:36.947587 Are-we-friendly question received 07:52:36.947613 Wrote request (93 bytes) input to log/8/server.input 07:52:36.947630 Identifying ourselves as friends 07:52:36.947686 Response sent (57 bytes) and written to log/8/server.response 07:52:36.947697 special request received, no persistency 07:52:36.947707 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 44906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === 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: 18 WE ROOLZ: 159283 === End of file server.response === Start of file valgrind1617 ==165682== ==165682== Process terminating with default action of signal 4 (SIGILL) ==165682== Illegal opcode at address 0x4013DC0 ==165682== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==165682== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165682== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==165682== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1617 test 1705...[managen makes manpage] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/22 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/22/stdout1705 2> log/22/stderr1705 valgrind SKIPPED sr-----e--- OK (1568 out of 1746, remaining: 00:13, took 0.104s, duration: 01:57) 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/24/valgrind1658 ./unit/units unit1658 - > log/24/stdout1658 2> log/24/stderr1658 -r-----e-v- OK (1553 out of 1746, remaining: 00:14, took 0.832s, duration: 01:57) 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/10/valgrind1661 ./unit/units unit1661 - > log/10/stdout1661 2> log/10/stderr1661 -------e-v- OK (1555 out of 1746, remaining: 00:14, took 0.855s, duration: 01:57) 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/1/valgrind1652 ./unit/units unit1652 - > log/1/stdout1652 2> log/1/stderr1652 units returned 132, when expecting 0 1652: exit FAILED == Contents of files in the log/1/ dir 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/1/valgrind1652 ./unit/units unit1652 - > log/1/stdout1652 2> log/1/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 ==166015== ==166015== Process terminating with default action of signal 4 (SIGILL) ==166015== Illegal opcode at address 0x407C5FF ==166015== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==166015== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==166015== by 0x407C5FF: Curl_open (url.c:525) ==166015== by 0x403E625: curl_easy_init (easy.c:371) ==166015== by 0x40159BB: UnknownInlinedFun (unit1652.c:60) ==166015== by 0x40159BB: test_unit1652.lto_priv.0 (unit1652.c:89) ==166015== by 0x400A12F: main (first.c:280) ==166015== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==166015== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166015== by 0x407C59D: Curl_open (url.c:504) ==166015== by 0x403E625: curl_easy_init (easy.c:371) ==166015== by 0x40159BB: UnknownInlinedFun (unit1652.c:60) ==166015== by 0x40159BB: test_unit1652.lto_priv.0 (unit1652.c:89) ==166015== by 0x400A12F: main (first.c:280) ==166015== === End of file valgrind1652 CMD (33792): ../libtool --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/valgrind1654 ./unit/units unit1654 log/2/1654 > log/2/stdout1654 2> log/2/stderr1654 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/15/valgrind1635 ../src/curl -q --trace-ascii log/15/trace1635 --trace-time http://127.0.0.1:43789/1635 --retry 1 --fail-with-body > log/15/stdout1635 2> log/15/stderr1635 1635: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:38.670707646 +0000 +++ log/15/check-generated 2025-11-07 07:52:38.670707646 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/15/ dir 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/15/valgrind1635 ../src/curl -q --trace-ascii log/15/trace1635 --trace-time http://127.0.0.1:43789/1635 --retry 1 --fail-with-body > log/15/stdout1635 2> log/15/stderr1635 === End of file commands.log === Start of file http_server.log 07:52:37.192547 ====> Client connect 07:52:37.192587 accept_connection 3 returned 4 07:52:37.192605 accept_connection 3 returned 0 07:52:37.196065 Read 93 bytes 07:52:37.196087 Process 93 bytes request 07:52:37.196100 Got request: GET /verifiedserver HTTP/1.1 07:52:37.196111 Are-we-friendly question received 07:52:37.196144 Wrote request (93 bytes) input to log/15/server.input 07:52:37.196163 Identifying ourselves as friends 07:52:37.196221 Response sent (56 bytes) and written to log/15/server.response 07:52:37.196232 special request received, no persistency 07:52:37.196242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 38228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind1635 ==165932== ==165932== Process terminating with default action of signal 4 (SIGILL) ==165932== Illegal opcode at address 0x4013DC0 ==165932== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==165932== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165932== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==165932== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1635 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/3/valgrind1633 ../src/curl -q --output log/3/curl1633.out --include --trace-ascii log/3/trace1633 --trace-time http://127.0.0.1:42701/1633 -d moo --retry 1 -L > log/3/stdout1633 2> log/3/stderr1633 1633: 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/ dir 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/3/valgrind1633 ../src/curl -q --output log/3/curl1633.out --include --trace-ascii log/3/trace1633 --trace-time http://127.0.0.1:42701/1633 -d moo --retry 1 -L > log/3/stdout1633 2> log/3/stderr1633 === End of file commands.log === Start of file http_server.log 07:52:37.181185 ====> Client connect 07:52:37.181221 accept_connection 3 returned 4 07:52:37.181240 accept_connection 3 returned 0 07:52:37.181257 Read 93 bytes 07:52:37.181269 Process 93 bytes request 07:52:37.181285 Got request: GET /verifiedserver HTTP/1.1 07:52:37.181295 Are-we-friendly question received 07:52:37.181323 Wrote request (93 bytes) input to log/3/server.input 07:52:37.181342 Identifying ourselves as friends 07:52:37.181404 Response sent (57 bytes) and written to log/3/server.response 07:52:37.181416 special request received, no persistency 07:52:37.181427 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 55028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === End of file server.response === Start of file valgrind1633 ==165936== ==165936== Process terminating with default action of signal 4 (SIGILL) ==165936== Illegal opcode at address 0x4013DC0 ==165936== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==165936== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165936== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==165936== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1633 CMD (33792): ../libtool --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/valgrind1634 ../src/curl -q --output log/20/curl1634.out --include --trace-ascii log/20/trace1634 --trace-time http://127.0.0.1:40357/1634 --retry 1 --fail > log/20/stdout1634 2> log/20/stderr1634 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/2/valgrind1654 ./unit/units unit1654 log/2/1654 > log/2/stdout1654 2> log/2/stderr1654 1654: output (log/2/1654-out) FAILED: --- log/2/check-expected 2025-11-07 07:52:38.687374313 +0000 +++ log/2/check-generated 2025-11-07 07:52:38.687374313 +0000 @@ -1,12 +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] == Contents of files in the log/2/ dir 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] === 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/valgrind1654 ./unit/units unit1654 log/2/1654 > log/2/stdout1654 2> log/2/stderr1654 === End of file commands.log === Start of file server.cmd Testnum 1654 === End of file server.cmd === Start of file stderr1654 URL: log/2/1654 === End of file stderr1654 === Start of file valgrind1654 ==166029== ==166029== Process terminating with default action of signal 4 (SIGILL) ==166029== Illegal opcode at address 0x407C5FF ==166029== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==166029== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==166029== by 0x407C5FF: Curl_open (url.c:525) ==166029== by 0x403E625: curl_easy_init (easy.c:371) ==166029== by 0x4017133: test_unit1654.lto_priv.0 (unit1654.c:45) ==166029== by 0x400A12F: main (first.c:280) ==166029== 52 bytes in 4 blocks are possibly lost in loss record 544 of 650 ==166029== at 0x49937A8: malloc (vg_replace_malloc.c:446) ==166029== by 0x4021DAC: UnknownInlinedFun (strdup.c:114) ==166029== by 0x4021DAC: altsvc_createid (altsvc.c:113) ==166029== by 0x4030C95: UnknownInlinedFun (altsvc.c:145) ==166029== by 0x4030C95: UnknownInlinedFun (altsvc.c:196) ==166029== by 0x4030C95: altsvc_load.lto_priv.0 (altsvc.c:240) ==166029== by 0x4017072: UnknownInlinedFun (altsvc.c:327) ==166029== by 0x4017072: test_unit1654.lto_priv.0 (unit1654.c:39) ==166029== by 0x400A12F: main (first.c:280) ==166029== ==166029== 72 bytes in 4 blocks are possibly lost in loss record 574 of 650 ==166029== at 0x49937A8: malloc (vg_replace_malloc.c:446) ==166029== by 0x4021D15: UnknownInlinedFun (strdup.c:114) ==166029== by 0x4021D15: altsvc_createid (altsvc.c:117) ==166029== by 0x4030C95: UnknownInlinedFun (altsvc.c:145) ==166029== by 0x4030C95: UnknownInlinedFun (altsvc.c:196) ==166029== by 0x4030C95: altsvc_load.lto_priv.0 (altsvc.c:240) ==166029== by 0x4017072: UnknownInlinedFun (altsvc.c:327) ==166029== by 0x4017072: test_unit1654.lto_priv.0 (unit1654.c:39) ==166029== by 0x400A12F: main (first.c:280) ==166029== ==166029== 320 bytes in 4 blocks are possibly lost in loss record 604 of 650 ==166029== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166029== by 0x4021C54: altsvc_createid (altsvc.c:88) ==166029== by 0x4030C95: UnknownInlinedFun (altsvc.c:145) ==166029== by 0x4030C95: UnknownInlinedFun (altsvc.c:196) ==166029== by 0x4030C95: altsvc_load.lto_priv.0 (altsvc.c:240) ==166029== by 0x4017072: UnknownInlinedFun (altsvc.c:327) ==166029== by 0x4017072: test_unit1654.lto_priv.0 (unit1654.c:39) ==166029== by 0x400A12F: main (first.c:280) ==166029== ==166029== 5,384 bytes in 1 blocks are definitely lost in loss record 648 of 650 ==166029== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166029== by 0x407C59D: Curl_open (url.c:504) ==166029== by 0x403E625: curl_easy_init (easy.c:371) ==166029== by 0x4017133: test_unit1654.lto_priv.0 (unit1654.c:45) ==166029== by 0x400A12F: main (first.c:280) ==166029== === End of file valgrind1654 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/20/valgrind1634 ../src/curl -q --output log/20/curl1634.out --include --trace-ascii log/20/trace1634 --trace-time http://127.0.0.1:40357/1634 --retry 1 --fail > log/20/stdout1634 2> log/20/stderr1634 1634: 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/ dir 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/20/valgrind1634 ../src/curl -q --output log/20/curl1634.out --include --trace-ascii log/20/trace1634 --trace-time http://127.0.0.1:40357/1634 --retry 1 --fail > log/20/stdout1634 2> log/20/stderr1634 === End of file commands.log === Start of file http_server.log 07:52:37.189651 ====> Client connect 07:52:37.189687 accept_connection 3 returned 4 07:52:37.189706 accept_connection 3 returned 0 07:52:37.189723 Read 93 bytes 07:52:37.189736 Process 93 bytes request 07:52:37.189750 Got request: GET /verifiedserver HTTP/1.1 07:52:37.189761 Are-we-friendly question received 07:52:37.189789 Wrote request (93 bytes) input to log/20/server.input 07:52:37.189809 Identifying ourselves as friends 07:52:37.189903 Response sent (56 bytes) and written to log/20/server.response 07:52:37.189916 special request received, no persistency 07:52:37.189928 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 58888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < CoCMD (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/valgrind1663 ./unit/units unit1663 - > log/18/stdout1663 2> log/18/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/4/valgrind1660 ./unit/units unit1660 log/4/hsts1660 > log/4/stdout1660 2> log/4/stderr1660 ntent-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind1634 ==165933== ==165933== Process terminating with default action of signal 4 (SIGILL) ==165933== Illegal opcode at address 0x4013DC0 ==165933== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==165933== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165933== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==165933== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1634 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/18/valgrind1663 ./unit/units unit1663 - > log/18/stdout1663 2> log/18/stderr1663 -------e-v- OK (1556 out of 1746, remaining: 00:14, took 1.174s, duration: 01:57) 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/valgrind1664 ./unit/units unit1664 - > log/7/stdout1664 2> log/7/stderr1664 CMD (33792): ../libtool --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/valgrind1670 ../src/curl -q --include --trace-ascii log/9/trace1670 --trace-time http://127.0.0.1:42717/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/9/1670.out > log/9/stdout1670 2> log/9/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/4/valgrind1660 ./unit/units unit1660 log/4/hsts1660 > log/4/stdout1660 2> log/4/stderr1660 1660: stdout FAILED: --- log/4/check-expected 2025-11-07 07:52:39.014040983 +0000 +++ log/4/check-generated 2025-11-07 07:52:39.014040983 +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/4/ dir 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/4/valgrind1660 ./unit/units unit1660 log/4/hsts1660 > log/4/stdout1660 2> log/4/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/4/hsts1660 === End of file stderr1660 === Start of file valgrind1660 ==166373== ==166373== Process terminating with default action of signal 4 (SIGILL) ==166373== Illegal opcode at address 0x407C5FF ==166373== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==166373== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==166373== by 0x407C5FF: Curl_open (url.c:525) ==166373== by 0x403E625: curl_easy_init (easy.c:371) ==166373== by 0x4018003: test_unit1660.lto_priv.0 (unit1660.c:124) ==166373== by 0x400A12F: main (first.c:280) ==166373== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==166373== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166373== by 0x407C59D: Curl_open (url.c:504) ==166373== by 0x403E625: curl_easy_init (easy.c:371) ==166373== by 0x4018003: test_unit1660.lto_priv.0 (unit1660.c:124) ==166373== by 0x400A12F: main (first.c:280) ==166373== === 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/7/valgrind1664 ./unit/units unit1664 - > log/7/stdout1664 2> log/7/stderr1664 s------e-v- OK (1557 out of 1746, remaining: 00:14, took 1.327s, duration: 01:57) CMD (33792): ../libtool --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/valgrind1671 ../src/curl -q --include --trace-ascii log/19/trace1671 --trace-time http://127.0.0.1:34835/1671 -w '%{header_json}\n' -o log/19/1671.out > log/19/stdout1671 2> log/19/stderr1671 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/9/valgrind1670 ../src/curl -q --include --trace-ascii log/9/trace1670 --trace-time http://127.0.0.1:42717/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/9/1670.out > log/9/stdout1670 2> log/9/stderr1670 1670: stdout FAILED: --- log/9/check-expected 2025-11-07 07:52:39.230707652 +0000 +++ log/9/check-generated 2025-11-07 07:52:39.230707652 +0000 @@ -1 +0,0 @@ -"21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] == Contents of files in the log/9/ dir 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/9/valgrind1670 ../src/curl -q --include --trace-ascii log/9/trace1670 --trace-time http://127.0.0.1:42717/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/9/1670.out > log/9/stdout1670 2> log/9/stderr1670 === End of file commands.log === Start of file http_server.log 07:52:37.717506 ====> Client connect 07:52:37.717543 accept_connection 3 returned 4 07:52:37.717561 accept_connection 3 returned 0 07:52:37.722728 Read 93 bytes 07:52:37.722752 Process 93 bytes request 07:52:37.722767 Got request: GET /verifiedserver HTTP/1.1 07:52:37.722777 Are-we-friendly question received 07:52:37.722815 Wrote request (93 bytes) input to log/9/server.input 07:52:37.722834 Identifying ourselves as friends 07:52:37.722888 Response sent (56 bytes) and written to log/9/server.response 07:52:37.722899 special request received, no persistency 07:52:37.722908 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 34512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind1670 ==166545== ==166545== Process terminating with default action of signal 4 (SIGILL) ==166545== Illegal opcode at address 0x4013DC0 ==166545== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==166545== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166545== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==166545== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1670 CMD (33792): ../libtool --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/valgrind1680 ../src/curl -q --include --trace-ascii log/21/trace1680 --trace-time http://127.0.0.1:45761/1680 -o log/21/exist1680 --clobber > log/21/stdout1680 2> log/21/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/19/valgrind1671 ../src/curl -q --include --trace-ascii log/19/trace1671 --trace-time http://127.0.0.1:34835/1671 -w '%{header_json}\n' -o log/19/1671.out > log/19/stdout1671 2> log/19/stderr1671 1671: stdout FAILED: --- log/19/check-expected 2025-11-07 07:52:39.347374319 +0000 +++ log/19/check-generated 2025-11-07 07:52:39.347374319 +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/19/ dir 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/19/valgrind1671 ../src/curl -q --include --trace-ascii log/19/trace1671 --trace-time http://127.0.0.1:34835/1671 -w '%{header_json}\n' -o log/19/1671.out > log/19/stdout1671 2> log/19/stderr1671 === End of file commands.log === Start of file http_server.log 07:52:37.856617 ====> Client connect 07:52:37.856663 accept_connection 3 returned 4 07:52:37.856681 accept_connection 3 returned 0 07:52:37.856697 Read 93 bytes 07:52:37.856707 Process 93 bytes request 07:52:37.856723 Got request: GET /verifiedserver HTTP/1.1 07:52:37.856733 Are-we-friendly question received 07:52:37.856761 Wrote request (93 bytes) input to log/19/server.input 07:52:37.856778 Identifying ourselves as friends 07:52:37.856835 Response sent (56 bytes) and written to log/19/server.response 07:52:37.856847 special request received, no persistency 07:52:37.856857 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 57100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind1671 ==166607== ==166607== Process terminating with default action of signal 4 (SIGILL) ==166607== Illegal opcode at address 0x4013DC0 ==166607== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==166607== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166607== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==166607== by 0x40037A4: main (tool_main.c:199) === 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/23/valgrind1683 ../src/curl -q --include --trace-ascii log/23/trace1683 --trace-time http://127.0.0.1:41029/1683 -o log/23/exist1683 --no-clobber > log/23/stdout1683 2> log/23/stderr1683 CMD (33792): ../libtool --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/valgrind1681 ../src/curl -q --include --trace-ascii log/5/trace1681 --trace-time http://127.0.0.1:42797/1681 -o log/5/exist1681 --no-clobber -w '%{filename_effective}\n' > log/5/stdout1681 2> log/5/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/21/valgrind1680 ../src/curl -q --include --trace-ascii log/21/trace1680 --trace-time http://127.0.0.1:45761/1680 -o log/21/exist1680 --clobber > log/21/stdout1680 2> log/21/stderr1680 1680: output (log/21/exist1680) FAILED: --- log/21/check-expected 2025-11-07 07:52:39.387374319 +0000 +++ log/21/check-generated 2025-11-07 07:52:39.387374319 +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/21/ dir 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/21/valgrind1680 ../src/curl -q --include --trace-ascii log/21/trace1680 --trace-time http://127.0.0.1:45761/1680 -o log/21/exist1680 --clobber > log/21/stdout1680 2> log/21/stderr1680 === End of file commands.log === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 07:52:38.012571 ====> Client connect 07:52:38.012608 accept_connection 3 returned 4 07:52:38.012625 accept_connection 3 returned 0 07:52:38.012641 Read 93 bytes 07:52:38.012651 Process 93 bytes request 07:52:38.012665 Got request: GET /verifiedserver HTTP/1.1 07:52:38.012674 Are-we-friendly question received 07:52:38.012695 Wrote request (93 bytes) input to log/21/server.input 07:52:38.012711 Identifying ourselves as friends 07:52:38.012773 Response sent (56 bytes) and written to log/21/server.response 07:52:38.012783 special request received, no persistency 07:52:38.012792 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 52976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind1680 ==166702== ==166702== Process terminating with default action of signal 4 (SIGILL) ==166702== Illegal opcode at address 0x4013DC0 ==166702== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==166702== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166702== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==166702== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1680 CMD (0): /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/23/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' CMD (33792): ../libtool --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/valgrind1682 ../src/curl -q --include --trace-ascii log/17/trace1682 --trace-time http://127.0.0.1:42601/1682 --output-dir log/17 -o exist1682 --no-clobber > log/17/stdout1682 2> log/17/stderr1682 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/5/valgrind1681 ../src/curl -q --include --trace-ascii log/5/trace1681 --trace-time http://127.0.0.1:42797/1681 -o log/5/exist1681 --no-clobber -w '%{filename_effective}\n' > log/5/stdout1681 2> log/5/stderr1681 1681: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:39.500707654 +0000 +++ log/5/check-generated 2025-11-07 07:52:39.500707654 +0000 @@ -1 +0,0 @@ -log/5/exist1681.1[CR][LF] == Contents of files in the log/5/ dir after test 1681 === Start of file check-expected log/5/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/5/valgrind1681 ../src/curl -q --include --trace-ascii log/5/trace1681 --trace-time http://127.0.0.1:42797/1681 -o log/5/exist1681 --no-clobber -w '%{filename_effective}\n' > log/5/stdout1681 2> log/5/stderr1681 === End of file commands.log === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 07:52:38.046943 ====> Client connect 07:52:38.046983 accept_connection 3 returned 4 07:52:38.047003 accept_connection 3 returned 0 07:52:38.049470 Read 93 bytes 07:52:38.049496 Process 93 bytes request 07:52:38.049512 Got request: GET /verifiedserver HTTP/1.1 07:52:38.049523 Are-we-friendly question received 07:52:38.049562 Wrote request (93 bytes) input to log/5/server.input 07:52:38.049583 Identifying ourselves as friends 07:52:38.049650 Response sent (56 bytes) and written to log/5/server.response 07:52:38.049663 special request received, no persistency 07:52:38.049674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 51870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 17 WE ROOLZ: 75828 === End of file server.response === Start of file valgrind1681 ==166778== ==166778== Process terminating with default action of signal 4 (SIGILL) ==166778== Illegal opcode at address 0x4013DC0 ==166778== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==166778== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166778== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==166778== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1681 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/17/valgrind1682 ../src/curl -q --include --trace-ascii log/17/trace1682 --trace-time http://127.0.0.1:42601/1682 --output-dir log/17 -o exist1682 --no-clobber > log/17/stdout1682 2> log/17/stderr1682 1682: output (log/17/exist1682.1) FAILED: --- log/17/check-expected 2025-11-07 07:52:39.514040988 +0000 +++ log/17/check-generated 2025-11-07 07:52:39.514040988 +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/17/ dir 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/17/valgrind1682 ../src/curl -q --include --trace-ascii log/17/trace1682 --trace-time http://127.0.0.1:42601/1682 --output-dir log/17 -o exist1682 --no-clobber > log/17/stdout1682 2> log/17/stderr1682 === End of file commands.log === Start of file exist1682 to stay the same === End of file exist1682 === Start of file http_server.log 07:52:39.072568 ====> Client connect 07:52:39.072612 accept_connection 3 returned 4 07:52:39.072631 accept_connection 3 returned 0 07:52:39.072648 Read 93 bytes 07:52:39.072658 Process 93 bytes request 07:52:39.072672 Got request: GET /verifiedserver HTTP/1.1 07:52:39.072682 Are-we-friendly question received 07:52:39.072708 Wrote request (93 bytes) input to log/17/server.input 07:52:39.072726 Identifying ourselves as friends 07:52:39.072801 Response sent (56 bytes) and written to log/17/server.response 07:52:39.072812 special request received, no persistency 07:52:39.072823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 47594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind1682 ==166812== ==166812== Process terminating with default action of signal 4 (SIGILL) ==166812== Illegal opcode at address 0x4013DC0 ==166812== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==166812== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166812== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==166812== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1682 prechecked /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/23/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/23/valgrind1683 ../src/curl -q --include --trace-ascii log/23/trace1683 --trace-time http://127.0.0.1:41029/1683 -o log/23/exist1683 --no-clobber > log/23/stdout1683 2> log/23/stderr1683 postcheck /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/23/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/23/ dir 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/23/valgrind1683 ../src/curl -q --include --trace-ascii log/23/trace1683 --trace-time http://127.0.0.1:41029/1683 -o log/23/exist1683 --no-clobber > log/23/stdout1683 2> log/23/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 exist1683.49CMD (33792): ../libtool --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/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:40357/hello/../1907 > log/20/stdout1907 2> log/20/stderr1907 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 07:52:38.083285 ====> Client connect 07:52:38.083318 accept_connection 3 returned 4 07:52:38.083336 accept_connection 3 returned 0 07:52:38.083351 Read 93 bytes 07:52:38.083363 Process 93 bytes request 07:52:38.083378 Got request: GET /verifiedserver HTTP/1.1 07:52:38.083389 Are-we-friendly question received 07:52:38.083413 Wrote request (93 bytes) input to log/23/server.input 07:52:38.083430 Identifying ourselves as friends 07:52:38.083484 Response sent (56 bytes) and written to log/23/server.response 07:52:38.083496 special request received, no persistency 07:52:38.083506 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 52532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind1683 ==166825== ==166825== Process terminating with default action of signal 4 (SIGILL) ==166825== Illegal opcode at address 0x4013DC0 ==166825== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==166825== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166825== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==166825== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1683 CMD (33792): ../libtool --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/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:43955/1906 > log/2/stdout1906 2> log/2/stderr1906 CMD (33792): ../libtool --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/valgrind1711 ../src/curl -q --output log/14/curl1711.out --include --trace-ascii log/14/trace1711 --trace-time smtp://127.0.0.1:42907/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/email1711 > log/14/stdout1711 2> log/14/stderr1711 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/20/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:40357/hello/../1907 > log/20/stdout1907 2> log/20/stderr1907 1907: stdout FAILED: --- log/20/check-expected 2025-11-07 07:52:39.600707655 +0000 +++ log/20/check-generated 2025-11-07 07:52:39.600707655 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:40357/1907[LF] == Contents of files in the log/20/ dir after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:40357/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/20/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:40357/hello/../1907 > log/20/stdout1907 2> log/20/stderr1907 === End of file commands.log === Start of file http_server.log 07:52:38.581660 ====> Client connect 07:52:38.581701 accept_connection 3 returned 4 07:52:38.581724 accept_connection 3 returned 0 07:52:38.581742 Read 93 bytes 07:52:38.581754 Process 93 bytes request 07:52:38.581770 Got request: GET /verifiedserver HTTP/1.1 07:52:38.581781 Are-we-friendly question received 07:52:38.581809 Wrote request (93 bytes) input to log/20/server.input 07:52:38.581828 Identifying ourselves as friends 07:52:38.581891 Response sent (56 bytes) and written to log/20/server.response 07:52:38.581908 special request received, no persistency 07:52:38.581919 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 58904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr1907 URL: 127.0.0.1:40357/hello/../1907 === End of file stderr1907 === Start of file valgrind1907 ==167601== ==167601== Process terminating with default action of signal 4 (SIGILL) ==167601== Illegal opcode at address 0x403E3AC ==167601== at 0x403E3AC: test_lib1907.lto_priv.0 (lib1907.c:33) ==167601== by 0x400347F: main (first.c:280) === End of file valgrind1907 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/2/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:43955/1906 > log/2/stdout1906 2> log/2/stderr1906 1906: 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/ dir 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/2/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:43955/1906 > log/2/stdout1906 2> log/2/stderr1906 === End of file commands.log === Start of file http_server.log 07:52:39.563123 ====> Client connect 07:52:39.563158 accept_connection 3 returned 4 07:52:39.563175 accept_connection 3 returned 0 07:52:39.563190 Read 93 bytes 07:52:39.563202 Process 93 bytes request 07:52:39.563214 Got request: GET /verifiedserver HTTP/1.1 07:52:39.563225 Are-we-friendly question received 07:52:39.563250 Wrote request (93 bytes) input to log/2/server.input 07:52:39.563268 Identifying ourselves as friends 07:52:39.563323 Response sent (56 bytes) and written to log/2/server.response 07:52:39.563335 special request received, no persistency 07:52:39.563346 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 32796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr1906 URL: http://127.0.0.1:43955/1906 === End of file stderr1906 === Start of file valgrind1906 ==167556== ==167556== Process terminating with default action of signal 4 (SIGILL) ==167556== Illegal opcode at address 0x403FD7F ==167556== at 0x403FD7F: test_lib1906.lto_priv.0 (lib1906.c:33) ==167556== by 0x400347F: main (first.c:280) ==167556== 88 bytes in 1 blocks are definitely lost in loss record 3 of 14 ==167556== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167556== by 0x403FD7A: test_lib1906.lto_priv.0 (lib1906.c:32) ==167556== by 0x400347F: main (first.c:280) ==167556== === End of file valgrind1906 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/14/valgrind1711 ../src/curl -q --output log/14/curl1711.out --include --trace-ascii log/14/trace1711 --trace-time smtp://127.0.0.1:42907/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/email1711 > log/14/stdout1711 2> log/14/stderr1711 1711: 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/ dir 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/14/valgrind1711 ../src/curl -q --output log/14/curl1711.out --include --trace-ascii log/14/trace1711 --trace-time smtp://127.0.0.1:42907/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/14/email1711 > log/14/stdout1711 2> log/14/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 boCMD (33792): ../libtool --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/valgrind1800 ../src/curl -q --output log/13/curl1800.out --include --trace-ascii log/13/trace1800 --trace-time http://127.0.0.1:37965/1800 --http2 > log/13/stdout1800 2> log/13/stderr1800 CMD (33792): ../libtool --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/valgrind1704 ../src/curl -q --output log/6/curl1704.out --include --trace-ascii log/6/trace1704 --trace-time http://127.0.0.1:45933/1704 --http2 > log/6/stdout1704 2> log/6/stderr1704 dy... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... 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 07:52:38.450313 ====> Client connect 07:52:38.450449 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:38.450750 < "EHLO verifiedserver" 07:52:38.450794 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:38.450981 < "HELP" 07:52:38.451016 > "214 WE ROOLZ: 124419[CR][LF]" 07:52:38.451031 return proof we are we 07:52:38.451275 < "QUIT" 07:52:38.451304 > "221 curl ESMTP server signing off[CR][LF]" 07:52:38.452103 MAIN sockfilt said DISC 07:52:38.452130 ====> Client disconnected 07:52:38.452190 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:38.278148 ====> Client connect 07:52:38.278403 Received DATA (on stdin) 07:52:38.278420 > 160 bytes data, server => client 07:52:38.278434 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:38.278446 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:38.278458 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:38.278541 < 21 bytes data, client => server 07:52:38.278556 'EHLO verifiedserver\r\n' 07:52:38.278737 Received DATA (on stdin) 07:52:38.278750 > 53 bytes data, server => client 07:52:38.278763 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:38.278821 < 6 bytes data, client => server 07:52:38.278833 'HELP\r\n' 07:52:38.278969 Received DATA (on stdin) 07:52:38.278982 > 22 bytes data, server => client 07:52:38.278994 '214 WE ROOLZ: 124419\r\n' 07:52:38.279090 < 6 bytes data, client => server 07:52:38.279104 'QUIT\r\n' 07:52:38.279242 Received DATA (on stdin) 07:52:38.279254 > 35 bytes data, server => client 07:52:38.279265 '221 curl ESMTP server signing off\r\n' 07:52:38.279993 ====> Client disconnect 07:52:38.280126 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind1711 ==167072== ==167072== Process terminating with default action of signal 4 (SIGILL) ==167072== Illegal opcode at address 0x4013DC0 ==167072== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==167072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==167072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1711 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/13/valgrind1800 ../src/curl -q --output log/13/curl1800.out --include --trace-ascii log/13/trace1800 --trace-time http://127.0.0.1:37965/1800 --http2 > log/13/stdout1800 2> log/13/stderr1800 1800: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 ==CMD (33792): ../libtool --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/valgrind1802 ../src/curl -q --output log/22/curl1802.out --include --trace-ascii log/22/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:40377 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/22/stdout1802 2> log/22/stderr1802 Contents of files in the log/13/ dir after test 1800 === Start of file commands.log ../libtool --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/valgrind1800 ../src/curl -q --output log/13/curl1800.out --include --trace-ascii log/13/trace1800 --trace-time http://127.0.0.1:37965/1800 --http2 > log/13/stdout1800 2> log/13/stderr1800 === End of file commands.log === Start of file http_server.log 07:52:38.363407 ====> Client connect 07:52:38.363442 accept_connection 3 returned 4 07:52:38.363461 accept_connection 3 returned 0 07:52:38.363477 Read 93 bytes 07:52:38.363488 Process 93 bytes request 07:52:38.363504 Got request: GET /verifiedserver HTTP/1.1 07:52:38.363515 Are-we-friendly question received 07:52:38.363542 Wrote request (93 bytes) input to log/13/server.input 07:52:38.363560 Identifying ourselves as friends 07:52:38.363615 Response sent (57 bytes) and written to log/13/server.response 07:52:38.363628 special request received, no persistency 07:52:38.363638 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 44936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file valgrind1800 ==167168== ==167168== Process terminating with default action of signal 4 (SIGILL) ==167168== Illegal opcode at address 0x4013DC0 ==167168== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==167168== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167168== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==167168== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1800 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/6/valgrind1704 ../src/curl -q --output log/6/curl1704.out --include --trace-ascii log/6/trace1704 --trace-time http://127.0.0.1:45933/1704 --http2 > log/6/stdout1704 2> log/6/stderr1704 1704: 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/ dir 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/6/valgrind1704 ../src/curl -q --output log/6/curl1704.out --include --trace-ascii log/6/trace1704 --trace-time http://127.0.0.1:45933/1704 --http2 > log/6/stdout1704 2> log/6/stderr1704 === End of file commands.log === Start of file http_server.log 07:52:38.247633 ====> Client connect 07:52:38.247668 accept_connection 3 returned 4 07:52:38.247686 accept_connection 3 returned 0 07:52:38.247702 Read 93 bytes 07:52:38.247713 Process 93 bytes request 07:52:38.247727 Got request: GET /verifiedserver HTTP/1.1 07:52:38.247738 Are-we-friendly question received 07:52:38.247765 Wrote request (93 bytes) input to log/6/server.input 07:52:38.247783 Identifying ourselves as friends 07:52:38.247840 Response sent (56 bytes) and written to log/6/server.response 07:52:38.247851 special request received, no persistency 07:52:38.247862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind1704 ==167052== ==167052== Process terminating with default action of signal 4 (SIGILL) ==167052== Illegal opcode at address 0x4013DC0 ==167052== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==167052== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167052== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==167052== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1704 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/22/valgrind1802 ../src/curl -q --output log/22/curl1802.out --include --trace-ascii log/22/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:40377 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/22/stdout1802 2> log/22/stderr1802 1802: 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/ dir 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/22/valgrind1802 ../src/curl -q --output log/22/curl1802.out --include --trace-ascii log/22/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:40377 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/22/stdout1802 2> log/22/stderr1802 === End of file commands.log === Start of file http_server.log 07:52:38.378493 ====> Client connect 07:52:38.378528 accept_connection 3 returned 4 07:52:38.378546 accept_connection 3 returned 0 07:52:38.378562 Read 93 bytes 07:52:38.378573 Process 93 bytes request 07:52:38.378587 Got request: GET /verifiedserver HTTP/1.1 07:52:38.378598 Are-we-friendly question received 07:52:38.378623 Wrote request (93 bytes) input to log/22/server.input 07:52:38.378642 Identifying ourselves as friends 07:52:38.378697 Response sent (56 bytes) and written to log/22/server.response 07:52:38.378709 special request received, no persistency 07:52:38.378719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind1802 ==167180== ==167180== Process terminating with default action of signal 4 (SIGILL) ==167180== Illegal opcode at address 0x4013DC0 ==167180== at 0x4013DC0: getparameter (toCMD (33792): ../libtool --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/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:41843/boom > log/24/stdout1901 2> log/24/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/8/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/8/stdout1900 2> log/8/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/10/valgrind1902 ./libtest/libtests lib1902 log/10/cookie1902 > log/10/stdout1902 2> log/10/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/15/valgrind1904 ../src/curl -q --output log/15/curl1904.out --include --trace-ascii log/15/trace1904 --trace-time http://test.1904:43789/we/want/that/page/1904 -p --proxy 127.0.0.1:39495 > log/15/stdout1904 2> log/15/stderr1904 ol_getparam.c:2846) ==167180== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167180== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==167180== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1802 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/24/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:41843/boom > log/24/stdout1901 2> log/24/stderr1901 1901: 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/ dir 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/24/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:41843/boom > log/24/stdout1901 2> log/24/stderr1901 === End of file commands.log === Start of file http_server.log 07:52:38.427314 ====> Client connect 07:52:38.427352 accept_connection 3 returned 4 07:52:38.427370 accept_connection 3 returned 0 07:52:38.427515 Read 93 bytes 07:52:38.427532 Process 93 bytes request 07:52:38.427547 Got request: GET /verifiedserver HTTP/1.1 07:52:38.427558 Are-we-friendly question received 07:52:38.427590 Wrote request (93 bytes) input to log/24/server.input 07:52:38.427608 Identifying ourselves as friends 07:52:38.427663 Response sent (56 bytes) and written to log/24/server.response 07:52:38.427674 special request received, no persistency 07:52:38.427684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 53336 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 17 WE ROOLZ: 74393 === End of file server.response === Start of file stderr1901 URL: http://127.0.0.1:41843/boom === End of file stderr1901 === Start of file valgrind1901 ==167305== ==167305== Process terminating with default action of signal 4 (SIGILL) ==167305== Illegal opcode at address 0x51D5F1F ==167305== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167305== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167305== by 0x51D5F1F: Curl_open (url.c:525) ==167305== by 0x514F6EF: curl_easy_init (easy.c:371) ==167305== by 0x403B504: test_lib1901.lto_priv.0 (lib1901.c:58) ==167305== by 0x400347F: main (first.c:280) ==167305== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167305== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167305== by 0x51D5EBD: Curl_open (url.c:504) ==167305== by 0x514F6EF: curl_easy_init (easy.c:371) ==167305== by 0x403B504: test_lib1901.lto_priv.0 (lib1901.c:58) ==167305== by 0x400347F: main (first.c:280) ==167305== === End of file valgrind1901 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/8/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/8/stdout1900 2> log/8/stderr1900 libtests returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/8/ dir 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/8/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/8/stdout1900 2> log/8/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 ==167169== ==167169== Process terminating with default action of signal 4 (SIGILL) ==167169== Illegal opcode at address 0x51D5F1F ==167169== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167169== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167169== by 0x51D5F1F: Curl_open (url.c:525) ==167169== by 0x514F6EF: curl_easy_init (easy.c:371) ==167169== by 0x403F3AC: UnknownInlinedFun (lib1900.c:36) ==167169== by 0x403F3AC: test_lib1900.lto_priv.0 (lib1900.c:28) ==167169== by 0x400347F: main (first.c:280) ==167169== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167169== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167169== by 0x51D5EBD: Curl_open (url.c:504) ==167169== by 0x514F6EF: curl_easy_init (easy.c:371) ==167169== by 0x403F3AC: UnknownInlinedFun (lib1900.c:36) ==167169== by 0x403F3AC: test_lib1900.lto_priv.0 (lib1900.c:28) ==167169== by 0x400347F: main (first.c:280) ==167169== === 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/10/valgrind1902 ./libtest/libtests lib1902 log/10/cookie1902 > log/10/stdout1902 2> log/10/stderr1902 libtests returned 132, when expecting 0 1902: exit FAILED == Contents of files in the log/10/ dir 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/10/valgrind1902 ./libtest/libtests lib1902 log/10/cookie1902 > log/10/stdout1902 2> log/10/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/10/cookie1902 === End of file stderr1902 === Start of file valgrind1902 ==167307== ==167307== Process terminating with default action of signal 4 (SIGILL) ==167307== Illegal opcode at address 0x51D5F1F ==167307== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167307== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167307== by 0x51D5F1F: Curl_open (url.c:525) ==167307== by 0x514F6EF: curl_easy_init (easy.c:371) ==167307== by 0x4038786: test_lib1902.lto_priv.0 (lib1902.c:35) ==167307== by 0x400347F: main (first.c:280) ==167307== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167307== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167307== by 0x51D5EBD: Curl_open (url.c:504) ==167307== by 0x514F6EF: curl_easy_init (easy.c:371) ==167307== by 0x4038786: test_lib1902.lto_priv.0 (lib1902.c:35) ==167307== by 0x400347F: main (first.c:280) ==167307== === 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/15/valgrind1904 ../src/curl -q --output log/15/curl1904.out --include --trace-ascii log/15/trace1904 --trace-time http://test.1904:43789/we/want/that/page/1904 -p --proxy 127.0.0.1:39495 > log/15/stdout1904 2> log/15/stderr1904 1904: 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/1/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:35709/we/want/1903 log/1/cookies1903 log/1/cookiesout1903 > log/1/stdout1903 2> log/1/stderr1903 file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ dir 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/15/valgrind1904 ../src/curl -q --output log/15/curl1904.out --include --trace-ascii log/15/trace1904 --trace-time http://test.1904:43789/we/want/that/page/1904 -p --proxy 127.0.0.1:39495 > log/15/stdout1904 2> log/15/stderr1904 === End of file commands.log === Start of file http2_server.log 07:52:38.595593 ====> Client connect 07:52:38.595628 accept_connection 3 returned 4 07:52:38.595646 accept_connection 3 returned 0 07:52:38.595775 Read 93 bytes 07:52:38.595796 Process 93 bytes request 07:52:38.595809 Got request: GET /verifiedserver HTTP/1.1 07:52:38.595819 Are-we-friendly question received 07:52:38.595860 Wrote request (93 bytes) input to log/15/proxy.input 07:52:38.595886 Identifying ourselves as friends 07:52:38.595949 Response sent (57 bytes) and written to log/15/proxy.response 07:52:38.595965 special request received, no persistency 07:52:38.595975 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:39495... * Established connection to 127.0.0.1 (127.0.0.1 port 39495) from 127.0.0.1 port 43624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39495 > User-Agent: curl/8.17.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:39495 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 143374 === End of file http2_verify.out === Start of file http_server.log 07:52:38.559022 ====> Client connect 07:52:38.559060 accept_connection 3 returned 4 07:52:38.559079 accept_connection 3 returned 0 07:52:38.559095 Read 93 bytes 07:52:38.559107 Process 93 bytes request 07:52:38.559122 Got request: GET /verifiedserver HTTP/1.1 07:52:38.559133 Are-we-friendly question received 07:52:38.559188 Wrote request (93 bytes) input to log/15/server.input 07:52:38.559209 Identifying ourselves as friends 07:52:38.559272 Response sent (56 bytes) and written to log/15/server.response 07:52:38.559285 special request received, no persistency 07:52:38.559295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 38232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143374 === 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: 17 WE ROOLZ: 74402 === End of file server.response === Start of file valgrind1904 ==167609== ==167609== Process terminating with default action of signal 4 (SIGILL) ==167609== Illegal opcode at address 0x4013DC0 ==167609== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==167609== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167609== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==167609== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1904 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/9/valgrind1912 ./libtest/libtests lib1912 - > log/9/stdout1912 2> log/9/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/3/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:42701/we/want/1905 log/3/cookies1905 > log/3/stdout1905 2> log/3/stderr1905 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/1/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:35709/we/want/1903 log/1/cookies1903 log/1/cookiesout1903 > log/1/stdout1903 2> log/1/stderr1903 1903: output (log/1/cookiesout1903) FAILED: --- log/1/check-expected 2025-11-07 07:52:39.934040992 +0000 +++ log/1/check-generated 2025-11-07 07:52:39.934040992 +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/1/ dir 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/1/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:35709/we/want/1903 log/1/cookies1903 log/1/cookiesout1903 > log/1/stdout1903 2> log/1/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 07:52:38.535883 ====> Client connect 07:52:38.535932 accept_connection 3 returned 4 07:52:38.535951 accept_connection 3 returned 0 07:52:38.535968 Read 93 bytes 07:52:38.535979 Process 93 bytes request 07:52:38.535995 Got request: GET /verifiedserver HTTP/1.1 07:52:38.536005 Are-we-friendly question received 07:52:38.536030 Wrote request (93 bytes) input to log/1/server.input 07:52:38.536047 Identifying ourselves as friends 07:52:38.536111 Response sent (56 bytes) and written to log/1/server.response 07:52:38.536122 special request received, no persistency 07:52:38.536133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 48416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file stderr1903 URL: http://127.0.0.1:35709/we/want/1903 === End of file stderr1903 === Start of file valgrind1903 ==167503== ==167503== Process terminating with default action of signal 4 (SIGILL) ==167503== Illegal opcode at address 0x51D5F1F ==167503== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167503== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167503== by 0x51D5F1F: Curl_open (url.c:525) ==167503== by 0x514F6EF: curl_easy_init (easy.c:371) ==167503== by 0x403F6CC: UnknownInlinedFun (lib1903.c:34) ==167503== by 0x403F6CC: test_lib1903.lto_priv.0 (lib1903.c:28) ==167503== by 0x400347F: main (first.c:280) ==167503== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167503== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167503== by 0x51D5EBD: Curl_open (url.c:504) ==167503== by 0x514F6EF: curl_easy_init (easy.c:371) ==167503== by 0x403F6CC: UnknownInlinedFun (lib1903.c:34) ==167503== by 0x403F6CC: test_lib1903.lto_priv.0 (lib1903.c:28) ==167503== by 0x400347F: main (first.c:280) ==167503== === End of file valgrind1903 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/9/valgrind1912 ./libtest/libtests lib1912 - > log/9/stdout1912 2> log/9/stderr1912 -------e-v- OK (1584 out of 1746, remaining: 00:12, took 0.688s, duration: 01:58) 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/3/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:42701/we/want/1905 log/3/cookies1905 > log/3/stdout1905 2> log/3/stderr1905 1905: 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/ dir 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/3/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:42701/we/want/1905 log/3/cookies1905 > log/3/stdout1905 2> log/3/stderr1905 === End of file commands.log === Start of file http_server.log 07:52:38.548946 ====> Client connect 07:52:38.549013 accept_connection 3 returned 4 07:52:38.549458 accept_connection 3 returned 0 07:52:38.549621 Read 93 bytes 07:52:38.549636 Process 93 bytes request 07:52:38.549652 Got request: GET /verifiedserver HTTP/1.1 07:52:38.549662 Are-we-friendly question received 07:52:38.549693 Wrote request (93 bytes) input to log/3/server.input 07:52:38.549712 Identifying ourselves as friends 07:52:38.549767 Response sent (57 bytes) and written to log/3/server.response 07:52:38.549778 special request received, no persistency 07:52:38.549788 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 55042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === End of file server.response === Start of file stderr1905 URL: http://127.0.0.1:42701/we/want/1905 === End of file stderr1905 === Start of file valgrind1905 ==167546== ==167546== Process terminating with default action of signal 4 (SIGILL) ==167546== Illegal opcode at address 0x519E800 ==167546== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==167546== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==167546== by 0x519E800: Curl_multi_handle (multi.c:247) ==167546== by 0x403FAA0: test_lib1905.lto_priv.0 (lib1905.c:37) ==167546== by 0x400347F: main (first.c:280) ==167546== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==167546== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167546== by 0x519E794: Curl_multi_handle (multi.c:239) ==167546== by 0x403FAA0: test_lib1905.lto_priv.0 (lib1905.c:37) ==167546== 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/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:46763/1909 > log/18/stdout1909 2> log/18/stderr1909 CMD (33792): ../libtool --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/valgrind1911 ./libtest/libtests lib1911 - > log/7/stdout1911 2> log/7/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/4/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:43573/1910 > log/4/stdout1910 2> log/4/stderr1910 CMD (33792): ../libtool --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/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/5/stdout1915 2> log/5/stderr1915 0x400347F: main (first.c:280) ==167546== === End of file valgrind1905 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:46763/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/ dir 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:46763/1909 > log/18/stdout1909 2> log/18/stderr1909 === End of file commands.log === Start of file http_server.log 07:52:39.836825 ====> Client connect 07:52:39.836861 accept_connection 3 returned 4 07:52:39.836879 accept_connection 3 returned 0 07:52:39.836894 Read 93 bytes 07:52:39.836906 Process 93 bytes request 07:52:39.836920 Got request: GET /verifiedserver HTTP/1.1 07:52:39.836930 Are-we-friendly question received 07:52:39.836956 Wrote request (93 bytes) input to log/18/server.input 07:52:39.836974 Identifying ourselves as friends 07:52:39.837029 Response sent (56 bytes) and written to log/18/server.response 07:52:39.837040 special request received, no persistency 07:52:39.837051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 44460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind1909 ==167829== ==167829== Process terminating with default action of signal 4 (SIGILL) ==167829== Illegal opcode at address 0x4013DC0 ==167829== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==167829== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167829== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==167829== by 0x40037A4: main (tool_main.c:199) === 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/7/valgrind1911 ./libtest/libtests lib1911 - > log/7/stdout1911 2> log/7/stderr1911 libtests returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/7/ dir 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/7/valgrind1911 ./libtest/libtests lib1911 - > log/7/stdout1911 2> log/7/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 ==167913== ==167913== Process terminating with default action of signal 4 (SIGILL) ==167913== Illegal opcode at address 0x51D5F1F ==167913== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167913== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167913== by 0x51D5F1F: Curl_open (url.c:525) ==167913== by 0x514F6EF: curl_easy_init (easy.c:371) ==167913== by 0x404069F: test_lib1911.lto_priv.0 (lib1911.c:42) ==167913== by 0x400347F: main (first.c:280) ==167913== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167913== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167913== by 0x51D5EBD: Curl_open (url.c:504) ==167913== by 0x514F6EF: curl_easy_init (easy.c:371) ==167913== by 0x404069F: test_lib1911.lto_priv.0 (lib1911.c:42) ==167913== by 0x400347F: main (first.c:280) ==167913== === 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/4/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:43573/1910 > log/4/stdout1910 2> log/4/stderr1910 1910: 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/ dir 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/4/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:43573/1910 > log/4/stdout1910 2> log/4/stderr1910 === End of file commands.log === Start of file http_server.log 07:52:39.933246 ====> Client connect 07:52:39.933282 accept_connection 3 returned 4 07:52:39.933299 accept_connection 3 returned 0 07:52:39.933314 Read 93 bytes 07:52:39.933325 Process 93 bytes request 07:52:39.933338 Got request: GET /verifiedserver HTTP/1.1 07:52:39.933348 Are-we-friendly question received 07:52:39.933372 Wrote request (93 bytes) input to log/4/server.input 07:52:39.933389 Identifying ourselves as friends 07:52:39.933443 Response sent (56 bytes) and written to log/4/server.response 07:52:39.933454 special request received, no persistency 07:52:39.933463 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 48100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file stderr1910 URL: 127.0.0.1:43573/1910 === End of file stderr1910 === Start of file valgrind1910 ==167885== ==167885== Process terminating with default action of signal 4 (SIGILL) ==167885== Illegal opcode at address 0x51D5F1F ==167885== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167885== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167885== by 0x51D5F1F: Curl_open (url.c:525) ==167885== by 0x514F6EF: curl_easy_init (easy.c:371) ==167885== by 0x403A277: test_lib1910.lto_priv.0 (lib1910.c:36) ==167885== by 0x400347F: main (first.c:280) ==167885== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167885== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167885== by 0x51D5EBD: Curl_open (url.c:504) ==167885== by 0x514F6EF: curl_easy_init (easy.c:371) ==167885== by 0x403A277: test_lib1910.lto_priv.0 (lib1910.c:36) ==167885== by 0x400347F: main (first.c:280) ==167885== === End of file valgrind1910 CMD (33792): ../libtool --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/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:44991/not-there/1913 > log/19/stdout1913 2> log/19/stderr1913 CMD (33792): ../libtool --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/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43755/%20" > log/17/stdout1917 2> log/17/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/21/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:32857/not-there/1913 1 > log/21/stdout1914 2> log/21/stderr1914 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/20/valgrind1918 ./libtest/libtests lib1918 - > log/20/stdout1918 2> log/20/stderr1918 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/5/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/5/stdout1915 2> log/5/stderr1915 1915: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:40.687374332 +0000 +++ log/5/check-generated 2025-11-07 07:52:40.687374332 +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/5/ dir 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/5/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/5/stdout1915 2> log/5/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 ==168119== ==168119== Process terminating with default action of signal 4 (SIGILL) ==168119== Illegal opcode at address 0x51D5F1F ==168119== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168119== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168119== by 0x51D5F1F: Curl_open (url.c:525) ==168119== by 0x514F6EF: curl_easy_init (easy.c:371) ==168119== by 0x403E56E: test_lib1915.lto_priv.0 (lib1915.c:109) ==168119== by 0x400347F: main (first.c:280) ==168119== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168119== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168119== by 0x51D5EBD: Curl_open (url.c:504) ==168119== by 0x514F6EF: curl_easy_init (easy.c:371) ==168119== by 0x403E56E: test_lib1915.lto_priv.0 (lib1915.c:109) ==168119== by 0x400347F: main (first.c:280) ==168119== === End of file valgrind1915 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/17/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43755/%20" > log/17/stdout1917 2> log/17/stderr1917 1917: 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/ dir 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/17/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43755/%20" > log/17/stdout1917 2> log/17/stderr1917 === End of file commands.log === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file stderr1917 URL: mqtt://127.0.0.1:43755/%20 === End of file stderr1917 === Start of file valgrind1917 ==168154== ==168154== Process terminating with default action of signal 4 (SIGILL) ==168154== Illegal opcode at address 0x51D5F1F ==168154== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168154== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168154== by 0x51D5F1F: Curl_open (url.c:525) ==168154== by 0x514F6EF: curl_easy_init (easy.c:371) ==168154== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==168154== by 0x400347F: main (first.c:280) ==168154== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168154== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168154== by 0x51D5EBD: Curl_open (url.c:504) ==168154== by 0x514F6EF: curl_easy_init (easy.c:371) ==168154== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==168154== by 0x400347F: main (first.c:280) ==168154== === End of file valgrind1917 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/19/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:44991/not-there/1913 > log/19/stdout1913 2> log/19/stderr1913 libtests returned 132, when expecting 78 1913: exit FAILED == Contents of files in the log/19/ dir 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/19/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:44991/not-there/1913 > log/19/stdout1913 2> log/19/stderr1913 === End of file commands.log === Start of file ftp_server.log 07:52:39.433974 ====> Client connect 07:52:39.434141 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:39.434449 < "USER anonymous" 07:52:39.434490 > "331 We are happy you popped in![CR][LF]" 07:52:39.434684 < "PASS ftp@example.com" 07:52:39.434717 > "230 Welcome you silly person[CR][LF]" 07:52:39.438066 < "PWD" 07:52:39.438109 > "257 "/" is current directory[CR][LF]" 07:52:39.438281 < "EPSV" 07:52:39.438304 ====> Passive DATA channel requested by client 07:52:39.438322 DATA sockfilt for passive data channel starting... 07:52:39.445937 DATA sockfilt for passive data channel started (pid 168095) 07:52:39.446071 DATA sockfilt for passive data channel listens on port 34977 07:52:39.446121 > "229 Entering Passive Mode (|||34977|)[CR][LF]" 07:52:39.446140 Client has been notified that DATA conn will be accepted on port 34977 07:52:39.451815 Client connects to port 34977 07:52:39.451871 ====> Client established passive DATA connection on port 34977 07:52:39.451987 < "TYPE I" 07:52:39.452031 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:39.453447 < "SIZE verifiedserver" 07:52:39.453507 > "213 17[CR][LF]" 07:52:39.453705 < "RETR verifiedserver" 07:52:39.453748 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:39.453852 =====> Closing passive DATA connection... 07:52:39.453872 Server disconnects passive DATA connection 07:52:39.454018 Server disconnected passive DATA connection 07:52:39.454045 DATA sockfilt for passive data channel quits (pid 168095) 07:52:39.454339 DATA sockfilt for passive data channel quit (pid 168095) 07:52:39.454370 =====> Closed passive DATA connection 07:52:39.454399 > "226 File transfer complete[CR][LF]" 07:52:39.497231 < "QUIT" 07:52:39.497468 > "221 bye bye baby[CR][LF]" 07:52:39.497753 MAIN sockfilt said DISC 07:52:39.497976 ====> Client disconnected 07:52:39.498072 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:39.261776 ====> Client connect 07:52:39.262097 Received DATA (on stdin) 07:52:39.262113 > 160 bytes data, server => client 07:52:39.262126 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:39.262138 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:39.262148 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:39.262230 < 16 bytes data, client => server 07:52:39.262243 'USER anonymous\r\n' 07:52:39.262432 Received DATA (on stdin) 07:52:39.262445 > 33 bytes data, server => client 07:52:39.262457 '331 We are happy you popped in!\r\n' 07:52:39.262519 < 22 bytes data, client => server 07:52:39.262531 'PASS ftp@example.com\r\n' 07:52:39.262673 Received DATA (on stdin) 07:52:39.262686 > 30 bytes data, server => client 07:52:39.262979 '230 Welcome you silly person\r\n' 07:52:39.265882 < 5 bytes data, client => server 07:52:39.265906 'PWD\r\n' 07:52:39.266050 Received DATA (on stdin) 07:52:39.266063 > 30 bytes data, server => client 07:52:39.266075 '257 "/" is current directory\r\n' 07:52:39.266135 < 6 bytes data, client => server 07:52:39.266146 'EPSV\r\n' 07:52:39.275898 Received DATA (on stdin) 07:52:39.275925 > 39 bytes data, server => client 07:52:39.275940 '229 Entering Passive Mode (|||34977|)\r\n' 07:52:39.276079 < 8 bytes data, client => server 07:52:39.276096 'TYPE I\r\n' 07:52:39.279980 Received DATA (on stdin) 07:52:39.279999 > 33 bytes data, server => client 07:52:39.280013 '200 I modify TYPE as you wanted\r\n' 07:52:39.281243 < 21 bytes data, client => server 07:52:39.281267 'SIZE verifiedserver\r\n' 07:52:39.281457 Received DATA (on stdin) 07:52:39.281472 > 8 bytes data, server => client 07:52:39.281485 '213 17\r\n' 07:52:39.281542 < 21 bytes data, client => server 07:52:39.281556 'RETR verifiedserver\r\n' 07:52:39.282345 Received DATA (on stdin) 07:52:39.282362 > 29 bytes data, server => client 07:52:39.282374 '150 Binary junk (17 bytes).\r\n' 07:52:39.282400 Received DATA (on stdin) 07:52:39.282413 > 28 bytes data, server => client 07:52:39.282425 '226 File transfer complete\r\n' 07:52:39.322926 < 6 bytes data, client => server 07:52:39.325477 'QUIT\r\n' 07:52:39.325500 Received DATA (on stdin) 07:52:39.325512 > 18 bytes data, server => client 07:52:39.325525 '221 bye bye baby\r\n' 07:52:39.325637 ====> Client disconnect 07:52:39.326023 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:39.273384 Running IPv4 version 07:52:39.273481 Listening on port 34977 07:52:39.273617 Wrote pid 168095 to log/19/server/ftp_sockdata.pid 07:52:39.273812 Received PING (on stdin) 07:52:39.273914 Received PORT (on stdin) 07:52:39.279682 ====> Client connect 07:52:39.281823 Received DATA (on stdin) 07:52:39.281843 > 17 bytes data, server => client 07:52:39.281855 'WE ROOLZ: 80634\r\n' 07:52:39.281885 Received DISC (on stdin) 07:52:39.281900 ====> Client forcibly disconnected 07:52:39.281996 Received QUIT (on stdin) 07:52:39.282011 quits 07:52:39.282080 ============> 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:44991/not-there/1913 === End of file stderr1913 === Start of file valgrind1913 ==168112== ==168112== Process terminating with default action of signal 4 (SIGILL) ==168112== Illegal opcode at address 0x51D5F1F ==168112== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168112== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168112== by 0x51D5F1F: Curl_open (url.c:525) ==168112== by 0x514F6EF: curl_easy_init (easy.c:371) ==168112== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==168112== by 0x400347F: main (first.c:280) ==168112== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168112== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168112== by 0x51D5EBD: Curl_open (url.c:504) ==168112== by 0x514F6EF: curl_easy_init (easy.c:371) ==168112== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==168112== by 0x400347F: main (first.c:280) ==168112== === End of file valgrind1913 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/20/valgrind1918 ./libtest/libtests lib1918 - > log/20/stdout1918 2> log/20/stderr1918 -------e-v- OK (1590 out of 1746, remaining: 00:11, took 1.095s, duration: 01:59) 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/21/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:32857/not-there/1913 1 > log/21/stdout1914 2> log/21/stderr1914 libtests returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/21/ dir 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/21/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:32857/not-there/1913 1 > log/21/stdout1914 2> log/21/stderr1914 === End of file commands.log === Start of file ftp_server.log 07:52:39.451487 ====> Client connect 07:52:39.451645 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:39.451925 < "USER anonymous" 07:52:39.451965 > "331 We are happy you popped in![CR][LF]" 07:52:39.452138 < "PASS ftp@example.com" 07:52:39.452168 > "230 Welcome you silly person[CR][LF]" 07:52:39.452320 < "PWD" 07:52:39.452355 > "257 "/" is current directory[CR][LF]" 07:52:39.452510 < "EPSV" 07:52:39.452534 ====> Passive DATA channel requested by client 07:52:39.452548 DATA sockfilt for passive data channel starting... 07:52:39.459904 DATA sockfilt for passive data channel started (pid 168096) 07:52:39.464318 DATA sockfilt for passive data channel listens on port 38823 07:52:39.464380 > "229 Entering Passive Mode (|||38823|)[CR][LF]" 07:52:39.464403 Client has been notified that DATA conn will be accepted on port 38823 07:52:39.467979 Client connects to port 38823 07:52:39.471149 ====> Client established passive DATA connection on port 38823 07:52:39.471260 < "TYPE I" 07:52:39.471302 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:39.474769 < "SIZE verifiedserver" 07:52:39.474815 > "213 17[CR][LF]" 07:52:39.474965 < "RETR verifiedserver" 07:52:39.474998 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:39.475086 =====> Closing passive DATA connection... 07:52:39.475102 Server disconnects passive DATA connection 07:52:39.477240 Server disconnected passive DATA connection 07:52:39.477271 DATA sockfilt for passive data channel quits (pid 168096) 07:52:39.477562 DATA sockfilt for passive data channel quit (pid 168096) 07:52:39.477586 =====> Closed passive DATA connection 07:52:39.477616 > "226 File transfer complete[CR][LF]" 07:52:39.518755 < "QUIT" 07:52:39.518813 > "221 bye bye baby[CR][LF]" 07:52:39.519683 MAIN sockfilt said DISC 07:52:39.519731 ====> Client disconnected 07:52:39.520323 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:39.279321 ====> Client connect 07:52:39.279599 Received DATA (on stdin) 07:52:39.279616 > 160 bytes data, server => client 07:52:39.279629 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:39.279641 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:39.279651 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:39.279722 < 16 bytes data, client => server 07:52:39.279735 'USER anonymous\r\n' 07:52:39.279907 Received DATA (on stdin) 07:52:39.279921 > 33 bytes data, server => client 07:52:39.279933 '331 We are happy you popped in!\r\n' 07:52:39.279982 < 22 bytes data, client => server 07:52:39.279995 'PASS ftp@example.com\r\n' 07:52:39.280106 Received DATA (on stdin) 07:52:39.280118 > 30 bytes data, server => client 07:52:39.280130 '230 Welcome you silly person\r\n' 07:52:39.280176 < 5 bytes data, client => server 07:52:39.280187 'PWD\r\n' 07:52:39.280293 Received DATA (on stdin) 07:52:39.280305 > 30 bytes data, server => client 07:52:39.280316 '257 "/" is current directory\r\n' 07:52:39.280369 < 6 bytes data, client => server 07:52:39.280381 'EPSV\r\n' 07:52:39.292352 Received DATA (on stdin) 07:52:39.292370 > 39 bytes data, server => client 07:52:39.292383 '229 Entering Passive Mode (|||38823|)\r\n' 07:52:39.292559 < 8 bytes data, client => server 07:CMD (33792): ../libtool --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/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:43955/1919 > log/2/stdout1919 2> log/2/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/14/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:34115/1940 > log/14/stdout1940 2> log/14/stderr1940 52:39.292583 'TYPE I\r\n' 07:52:39.302504 Received DATA (on stdin) 07:52:39.302526 > 33 bytes data, server => client 07:52:39.302538 '200 I modify TYPE as you wanted\r\n' 07:52:39.302604 < 21 bytes data, client => server 07:52:39.302616 'SIZE verifiedserver\r\n' 07:52:39.302756 Received DATA (on stdin) 07:52:39.302768 > 8 bytes data, server => client 07:52:39.302778 '213 17\r\n' 07:52:39.302825 < 21 bytes data, client => server 07:52:39.302836 'RETR verifiedserver\r\n' 07:52:39.303042 Received DATA (on stdin) 07:52:39.303054 > 29 bytes data, server => client 07:52:39.303065 '150 Binary junk (17 bytes).\r\n' 07:52:39.305558 Received DATA (on stdin) 07:52:39.305572 > 28 bytes data, server => client 07:52:39.305584 '226 File transfer complete\r\n' 07:52:39.346515 < 6 bytes data, client => server 07:52:39.346543 'QUIT\r\n' 07:52:39.346760 Received DATA (on stdin) 07:52:39.346775 > 18 bytes data, server => client 07:52:39.346787 '221 bye bye baby\r\n' 07:52:39.347554 ====> Client disconnect 07:52:39.347713 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:39.283912 Running IPv4 version 07:52:39.283998 Listening on port 38823 07:52:39.284037 Wrote pid 168096 to log/21/server/ftp_sockdata.pid 07:52:39.287044 Received PING (on stdin) 07:52:39.289007 Received PORT (on stdin) 07:52:39.292558 ====> Client connect 07:52:39.304968 Received DATA (on stdin) 07:52:39.304995 > 17 bytes data, server => client 07:52:39.305008 'WE ROOLZ: 83057\r\n' 07:52:39.305042 Received DISC (on stdin) 07:52:39.305057 ====> Client forcibly disconnected 07:52:39.305223 Received QUIT (on stdin) 07:52:39.305235 quits 07:52:39.305310 ============> 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:32857/not-there/1913 === End of file stderr1914 === Start of file valgrind1914 ==168121== ==168121== Process terminating with default action of signal 4 (SIGILL) ==168121== Illegal opcode at address 0x51D5F1F ==168121== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168121== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168121== by 0x51D5F1F: Curl_open (url.c:525) ==168121== by 0x514F6EF: curl_easy_init (easy.c:371) ==168121== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==168121== by 0x400347F: main (first.c:280) ==168121== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168121== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168121== by 0x51D5EBD: Curl_open (url.c:504) ==168121== by 0x514F6EF: curl_easy_init (easy.c:371) ==168121== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==168121== by 0x400347F: main (first.c:280) ==168121== === End of file valgrind1914 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/2/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:43955/1919 > log/2/stdout1919 2> log/2/stderr1919 1919: 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/ dir 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/2/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:43955/1919 > log/2/stdout1919 2> log/2/stderr1919 === End of file commands.log === Start of file http_server.log 07:52:40.478345 ====> Client connect 07:52:40.478377 accept_connection 3 returned 4 07:52:40.478394 accept_connection 3 returned 0 07:52:40.478409 Read 93 bytes 07:52:40.478420 Process 93 bytes request 07:52:40.478434 Got request: GET /verifiedserver HTTP/1.1 07:52:40.478444 Are-we-friendly question received 07:52:40.478468 Wrote request (93 bytes) input to log/2/server.input 07:52:40.478485 Identifying ourselves as friends 07:52:40.478537 Response sent (56 bytes) and written to log/2/server.response 07:52:40.478548 special request received, no persistency 07:52:40.478558 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 32798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr1919 URL: http://127.0.0.1:43955/1919 === End of file stderr1919 === Start of file valgrind1919 ==168361== ==168361== Process terminating with default action of signal 4 (SIGILL) ==168361== Illegal opcode at address 0x51D5F1F ==168361== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168361== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168361== by 0x51D5F1F: Curl_open (url.c:525) ==168361== by 0x514F6EF: curl_easy_init (easy.c:371) ==168361== by 0x403A4CC: UnknownInlinedFun (lib1919.c:35) ==168361== by 0x403A4CC: test_lib1919.lto_priv.0 (lib1919.c:28) ==168361== by 0x400347F: main (first.c:280) ==168361== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168361== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168361== by 0x51D5EBD: Curl_open (url.c:504) ==168361== by 0x514F6EF: curl_easy_init (easy.c:371) ==168361== by 0x403A4CC: UnknownInlinedFun (lib1919.c:35) ==168361== by 0x403A4CC: test_lib1919.lto_priv.0 (lib1919.c:28) ==168361== by 0x400347F: main (first.c:280) ==168361== === End of file valgrind1919 CMD (33792): ../libtool --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/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:45933/1942 > log/6/stdout1942 2> log/6/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/14/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:34115/1940 > log/14/stdout1940 2> log/14/stderr1940 1940: stdout FAILED: --- log/14/check-expected 2025-11-07 07:52:40.814041000 +0000 +++ log/14/check-generated 2025-11-07 07:52:40.814041000 +0000 @@ -1,11 +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] == Contents of files in the log/14/ dir 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] === 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/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:34115/1940 > log/14/stdout1940 2> log/14/stderr1940 === End of file commands.log === Start of file http_server.log 07:52:39.537345 ====> Client connect 07:52:39.537381 accept_connection 3 returned 4 07:52:39.537398 accept_connection 3 returned 0 07:52:39.537414 Read 93 bytes 07:52:39.537425 Process 93 bytes request 07:52:39.537440 Got request: GET /verifiedserver HTTP/1.1 07:52:39.537450 Are-we-friendly question received 07:52:39.537473 Wrote request (93 bytes) input to log/14/server.input 07:52:39.537490 Identifying ourselves as friends 07:52:39.537545 Response sent (56 bytes) and written to log/14/server.response 07:52:39.537555 special request received, no persistency 07:52:39.537564 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 40376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file stderr1940 URL: http://127.0.0.1:34115/1940 === End of file stderr1940 === Start of file valgrind1940 ==168418== ==168418== Process terminating with default action of signal 4 (SIGILL) ==168418== Illegal opcode at address 0x51D5F1F ==168418== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168418== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168418== by 0x51D5F1F: Curl_open (url.c:525) ==168418== by 0x514F6EF: curl_easy_init (easy.c:371) ==168418== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168418== by 0x400347F: main (first.c:280) ==168418== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168418== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168418== by 0x51D5EBD: Curl_open (url.c:504) ==168418== by 0x514F6EF: curl_easy_init (easy.c:371) ==168418== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168418== by 0x400347F: main (first.c:280) ==168418== === 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/13/valgrind1941 ./libtest/libtests lib1940 http://hello:37965/1941 127.0.0.1:36447 > log/13/stdout1941 2> log/13/stderr1941 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/6/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:45933/1942 > log/6/stdout1942 2> log/6/stderr1942 1942: stdout FAILED: --- log/6/check-expected 2025-11-07 07:52:40.927374335 +0000 +++ log/6/check-generated 2025-11-07 07:52:40.927374335 +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/6/ dir 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/6/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:45933/1942 > log/6/stdout1942 2> log/6/stderr1942 === End of file commands.log === Start of file http_server.log 07:52:39.571055 ====> Client connect 07:52:39.571086 accept_connection 3 returned 4 07:52:39.571103 accept_connection 3 returned 0 07:52:39.571117 Read 93 bytes 07:52:39.571127 Process 93 bytes request 07:52:39.571139 Got request: GET /verifiedserver HTTP/1.1 07:52:39.571149 Are-we-friendly question received 07:52:39.571172 Wrote request (93 bytes) input to log/6/server.input 07:52:39.571188 Identifying ourselves as friends 07:52:39.571241 Response sent (56 bytes) and written to log/6/server.response 07:52:39.571251 special request received, no persistency 07:52:39.571261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 59096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr1942 URL: http://127.0.0.1:45933/1942 === End of file stderr1942 === Start of file valgrind1942 ==168479== ==168479== Process terminating with default action of signal 4 (SIGILL) ==168479== Illegal opcode at address 0x51D5F1F ==168479== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168479== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168479== by 0x51D5F1F: Curl_open (url.c:525) ==168479== by 0x514F6EF: curl_easy_init (easy.c:371) ==168479== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168479== by 0x400347F: main (first.c:280) ==168479== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168479== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168479== by 0x51D5EBD: Curl_open (url.c:504) ==168479== by 0x514F6EF: curl_easy_init (easy.c:371) ==168479== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168479== by 0x400347F: main (first.c:280) ==168479== === 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/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:34041/1946 > log/10/stdout1946 2> log/10/stderr1946 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/13/valgrind1941 ./libtest/libtests lib1940 http://hello:37965/1941 127.0.0.1:36447 > log/13/stdout1941 2> log/13/stderr1941 1941: stdout FAILED: --- log/13/check-expected 2025-11-07 07:52:40.940707668 +0000 +++ log/13/check-generated 2025-11-07 07:52:40.940707668 +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/13/ dir 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/13/valgrind1941 ./libtest/libtests lib1940 http://hello:37965/1941 127.0.0.1:36447 > log/13/stdout1941 2> log/13/stderr1941 === End of file commands.log === Start of file http2_server.log 07:52:39.608281 ====> Client connect 07:52:39.608320 accept_connection 3 returned 4 07:52:39.608338 accept_connection 3 returned 0 07:52:39.608355 Read 93 bytes 07:52:39.608371 Process 93 bytes request 07:52:39.608387 Got request: GET /verifiedserver HTTP/1.1 07:52:39.608397 Are-we-friendly question received 07:52:39.608425 Wrote request (93 bytes) input to log/13/proxy.input 07:52:39.608450 Identifying ourselves as friends 07:52:39.608517 Response sent (56 bytes) and written to log/13/proxy.response 07:52:39.608534 special request received, no persistency 07:52:39.608545 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36447... * Established connection to 127.0.0.1 (127.0.0.1 port 36447) from 127.0.0.1 port 59338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36447 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36447 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79581 === End of file http2_verify.out === Start of file http_server.log 07:52:39.576462 ====> Client connect 07:52:39.576495 accept_connection 3 returned 4 07:52:39.576512 accept_connection 3 returned 0 07:52:39.576526 Read 93 bytes 07:52:39.576537 Process 93 bytes request 07:52:39.576550 Got request: GET /verifiedserver HTTP/1.1 07:52:39.576560 Are-we-friendly question received 07:52:39.576585 Wrote request (93 bytes) input to log/13/server.input 07:52:39.576602 Identifying ourselves as friends 07:52:39.576683 Response sent (57 bytes) and written to log/13/server.response 07:52:39.576695 special request received, no persistency 07:52:39.576705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 44950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79581 === End of file proxy.response === Start of file server.cmd Testnum 1941 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 154708 === End of file server.response === Start of file stderr1941 URL: http://hello:37965/1941 === End of file stderr1941 === Start of file valgrind1941 ==168533== ==168533== Process terminating with default action of signal 4 (SIGILL) ==168533== Illegal opcode at address 0x51D5F1F ==168533== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168533== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168533== by 0x51D5F1F: Curl_open (url.c:525) ==168533== by 0x514F6EF: curl_easy_init (easy.c:371) ==168533== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168533== by 0x400347F: main (first.c:280) ==168533== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168533== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168533== by 0x51D5EBD: Curl_open (url.c:504) ==168533== by 0x514F6EF: curl_easy_init (easy.c:371) ==168533== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168533== by 0x400347F: main (first.c:280) ==168533== === End of file valgrind1941 CMD (33792): ../libtool --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/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:40377/1943 > log/22/stdout1943 2> log/22/stderr1943 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/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:34041/1946 > log/10/stdout1946 2> log/10/stderr1946 1946: stdout FAILED: --- log/10/check-expected 2025-11-07 07:52:40.954041001 +0000 +++ log/10/check-generated 2025-11-07 07:52:40.954041001 +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/10/ dir 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/10/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:34041/1946 > log/10/stdout1946 2> log/10/stderr1946 === End of file commands.log === Start of file http_server.log 07:52:39.682549 ====> Client connect 07:52:39.682587 accept_connection 3 returned 4 07:52:39.682605 accept_connection 3 returned 0 07:52:39.682621 Read 93 bytes 07:52:39.682632 Process 93 bytes request 07:52:39.682646 Got request: GET /verifiedserver HTTP/1.1 07:52:39.682656 Are-we-friendly question received 07:52:39.682682 Wrote request (93 bytes) input to log/10/server.input 07:52:39.682707 Identifying ourselves as friends 07:52:39.682772 Response sent (56 bytes) and written to log/10/server.response 07:52:39.682784 special request received, no persistency 07:52:39.682794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 45014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr1946 URL: http://127.0.0.1:34041/1946 === End of file stderr1946 === Start of file valgrind1946 ==168682== ==168682== Process terminating with default action of signal 4 (SIGILL) ==168682== Illegal opcode at address 0x51D5F1F ==168682== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168682== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168682== by 0x51D5F1F: Curl_open (url.c:525) ==168682== by 0x514F6EF: curl_easy_init (easy.c:371) ==168682== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168682== by 0x400347F: main (first.c:280) ==168682== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168682== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168682== by 0x51D5EBD: Curl_open (url.c:504) ==168682== by 0x514F6EF: curl_easy_init (easy.c:371) ==168682== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168682== by 0x400347F: main (first.c:280) ==168682== === End of file valgrind1946 CMD (33792): ../libtool --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/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41843/1944 > log/24/stdout1944 2> log/24/stderr1944 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/22/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:40377/1943 > log/22/stdout1943 2> log/22/stderr1943 1943: stdout FAILED: --- log/22/check-expected 2025-11-07 07:52:40.974041002 +0000 +++ log/22/check-generated 2025-11-07 07:52:40.974041002 +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/22/ dir 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/22/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:40377/1943 > log/22/stdout1943 2> log/22/stderr1943 === End of file commands.log === Start of file http_server.log 07:52:39.665860 ====> Client connect 07:52:39.665907 accept_connection 3 returned 4 07:52:39.665927 accept_connection 3 returned 0 07:52:39.665943 Read 93 bytes 07:52:39.665955 Process 93 bytes request 07:52:39.665971 Got request: GET /verifiedserver HTTP/1.1 07:52:39.665981 Are-we-friendly question received 07:52:39.666012 Wrote request (93 bytes) input to log/22/server.input 07:52:39.666031 Identifying ourselves as friends 07:52:39.666092 Response sent (56 bytes) and written to log/22/server.response 07:52:39.666104 special request received, no persistency 07:52:39.666115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 41190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file stderr1943 URL: http://127.0.0.1:40377/1943 === End of file stderr1943 === Start of file valgrind1943 ==168648== ==168648== Process terminating with default action of signal 4 (SIGILL) ==168648== Illegal opcode at address 0x51D5F1F ==168648== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168648== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168648== by 0x51D5F1F: Curl_open (url.c:525) ==168648== by 0x514F6EF: curl_easy_init (easy.c:371) ==168648== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168648== by 0x400347F: main (first.c:280) ==168648== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168648== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168648== by 0x51D5EBD: Curl_open (url.c:504) ==168648== by 0x514F6EF: curl_easy_init (easy.c:371) ==168648== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168648== by 0x400347F: main (first.c:280) ==168648== === End of file valgrind1943 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/valgrind1979 ./unit/units unit1979 - > log/7/stdout1979 2> log/7/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/8/valgrind1945 ./libtest/libtests lib1945 http://hello:36233/1945 127.0.0.1:43791 > log/8/stdout1945 2> log/8/stderr1945 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/24/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41843/1944 > log/24/stdout1944 2> log/24/stderr1944 1944: stdout FAILED: --- log/24/check-expected 2025-11-07 07:52:41.087374336 +0000 +++ log/24/check-generated 2025-11-07 07:52:41.087374336 +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/24/ dir 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/24/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41843/1944 > log/24/stdout1944 2> log/24/stderr1944 === End of file commands.log === Start of file http_server.log 07:52:39.683701 ====> Client connect 07:52:39.683734 accept_connection 3 returned 4 07:52:39.683751 accept_connection 3 returned 0 07:52:39.683765 Read 93 bytes 07:52:39.683775 Process 93 bytes request 07:52:39.683788 Got request: GET /verifiedserver HTTP/1.1 07:52:39.683798 Are-we-friendly question received 07:52:39.683823 Wrote request (93 bytes) input to log/24/server.input 07:52:39.683847 Identifying ourselves as friends 07:52:39.683900 Response sent (56 bytes) and written to log/24/server.response 07:52:39.683911 special request received, no persistency 07:52:39.683922 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 53344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 17 WE ROOLZ: 74393 === End of file server.response === Start of file stderr1944 URL: http://127.0.0.1:41843/1944 === End of file stderr1944 === Start of file valgrind1944 ==168685== ==168685== Process terminating with default action of signal 4 (SIGILL) ==168685== Illegal opcode at address 0x51D5F1F ==168685== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168685== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168685== by 0x51D5F1F: Curl_open (url.c:525) ==168685== by 0x514F6EF: curl_easy_init (easy.c:371) ==168685== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168685== by 0x400347F: main (first.c:280) ==168685== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168685== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168685== by 0x51D5EBD: Curl_open (url.c:504) ==168685== by 0x514F6EF: curl_easy_init (easy.c:371) ==168685== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168685== by 0x400347F: main (first.c:280) ==168685== === End of file valgrind1944 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/7/valgrind1979 ./unit/units unit1979 - > log/7/stdout1979 2> log/7/stderr1979 -------e-v- OK (1605 out of 1746, remaining: 00:10, took 0.765s, duration: 01:59) CMD (33792): ../libtool --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/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43789/1947 http://127.0.0.1:43789/19470003 > log/15/stdout1947 2> log/15/stderr1947 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/8/valgrind1945 ./libtest/libtests lib1945 http://hello:36233/1945 127.0.0.1:43791 > log/8/stdout1945 2> log/8/stderr1945 1945: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:41.100707669 +0000 +++ log/8/check-generated 2025-11-07 07:52:41.100707669 +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/8/ dir 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/8/valgrind1945 ./libtest/libtests lib1945 http://hello:36233/1945 127.0.0.1:43791 > log/8/stdout1945 2> log/8/stderr1945 === End of file commands.log === Start of file http2_server.log 07:52:39.711478 ====> Client connect 07:52:39.711518 accept_connection 3 returned 4 07:52:39.711535 accept_connection 3 returned 0 07:52:39.711552 Read 93 bytes 07:52:39.711569 Process 93 bytes request 07:52:39.711584 Got request: GET /verifiedserver HTTP/1.1 07:52:39.711594 Are-we-friendly question received 07:52:39.711621 Wrote request (93 bytes) input to log/8/proxy.input 07:52:39.711643 Identifying ourselves as friends 07:52:39.711705 Response sent (56 bytes) and written to log/8/proxy.response 07:52:39.711720 special request received, no persistency 07:52:39.711730 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:43791... * Established connection to 127.0.0.1 (127.0.0.1 port 43791) from 127.0.0.1 port 44018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43791 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43791 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79371 === End of file http2_verify.out === Start of file http_server.log 07:52:39.680601 ====> Client connect 07:52:39.680638 accept_connection 3 returned 4 07:52:39.680657 accept_connection 3 returned 0 07:52:39.680674 Read 93 bytes 07:52:39.680686 Process 93 bytes request 07:52:39.680700 Got request: GET /verifiedserver HTTP/1.1 07:52:39.680711 Are-we-friendly question received 07:52:39.680738 Wrote request (93 bytes) input to log/8/server.input 07:52:39.680756 Identifying ourselves as friends 07:52:39.680833 Response sent (57 bytes) and written to log/8/server.response 07:52:39.680845 special request received, no persistency 07:52:39.680856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 44912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79371 === End of file proxy.response === 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: 159283 === End of file server.response === Start of file stderr1945 URL: http://hello:36233/1945 === End of file stderr1945 === Start of file valgrind1945 ==168777== ==168777== Process terminating with default action of signal 4 (SIGILL) ==168777== Illegal opcode at address 0x51D5F1F ==168777== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168777== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168777== by 0x51D5F1F: Curl_open (url.c:525) ==168777== by 0x514F6EF: curl_easy_init (easy.c:371) ==168777== by 0x4040CAC: UnknownInlinedFun (lib1945.c:56) ==168777== by 0x4040CAC: test_lib1945.lto_priv.0 (lib1945.c:49) ==168777== by 0x400347F: main (first.c:280) ==168777== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168777== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168777== by 0x51D5EBD: Curl_open (url.c:504) ==168777== by 0x514F6EF: curl_easy_init (easy.c:371) ==168777== by 0x4040CAC: UnknownInlinedFun (lib1945.c:56) ==168777== by 0x4040CAC: test_lib1945.lto_priv.0 (lib1945.c:49) ==168777== by 0x400347F: main (first.c:280) ==168777== === End of file valgrind1945 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/valgrind1980 ./unit/units unit1980 - > log/4/stdout1980 2> log/4/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/1/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:35709/1948 > log/1/stdout1948 2> log/1/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/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:42717/file 127.0.0.1 42717 > log/9/stdout1960 2> log/9/stderr1960 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/15/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43789/1947 http://127.0.0.1:43789/19470003 > log/15/stdout1947 2> log/15/stderr1947 1947: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:41.107374336 +0000 +++ log/15/check-generated 2025-11-07 07:52:41.107374336 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/15/ dir 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/15/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43789/1947 http://127.0.0.1:43789/19470003 > log/15/stdout1947 2> log/15/stderr1947 === End of file commands.log === Start of file http_server.log 07:52:39.792602 ====> Client connect 07:52:39.792647 accept_connection 3 returned 4 07:52:39.792667 accept_connection 3 returned 0 07:52:39.792683 Read 93 bytes 07:52:39.792693 Process 93 bytes request 07:52:39.792707 Got request: GET /verifiedserver HTTP/1.1 07:52:39.792717 Are-we-friendly question received 07:52:39.792742 Wrote request (93 bytes) input to log/15/server.input 07:52:39.792759 Identifying ourselves as friends 07:52:39.792868 Response sent (56 bytes) and written to log/15/server.response 07:52:39.792880 special request received, no persistency 07:52:39.792890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 38248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file stderr1947 URL: http://127.0.0.1:43789/1947 === End of file stderr1947 === Start of file valgrind1947 ==168920== ==168920== Process terminating with default action of signal 4 (SIGILL) ==168920== Illegal opcode at address 0x51D5F1F ==168920== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168920== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168920== by 0x51D5F1F: Curl_open (url.c:525) ==168920== by 0x514F6EF: curl_easy_init (easy.c:371) ==168920== by 0x4040EAC: UnknownInlinedFun (lib1947.c:46) ==168920== by 0x4040EAC: test_lib1947.lto_priv.0 (lib1947.c:36) ==168920== by 0x400347F: main (first.c:280) ==168920== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168920== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168920== by 0x51D5EBD: Curl_open (url.c:504) ==168920== by 0x514F6EF: curl_easy_init (easy.c:371) ==168920== by 0x4040EAC: UnknownInlinedFun (lib1947.c:46) ==168920== by 0x4040EAC: test_lib1947.lto_priv.0 (lib1947.c:36) ==168920== by 0x400347F: main (first.c:280) ==168920== === End of file valgrind1947 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/4/valgrind1980 ./unit/units unit1980 - > log/4/stdout1980 2> log/4/stderr1980 -------e-v- OK (1606 out of 1746, remaining: 00:10, took 0.770s, duration: 01:59) 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/1/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:35709/1948 > log/1/stdout1948 2> log/1/stderr1948 1948: 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/ dir 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/1/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:35709/1948 > log/1/stdout1948 2> log/1/stderr1948 === End of file commands.log === Start of file http_server.log 07:52:39.803142 ====> Client connect 07:52:39.803178 accept_connection 3 returned 4 07:52:39.803196 accept_connection 3 returned 0 07:52:39.803211 Read 93 bytes 07:52:39.803222 Process 93 bytes request 07:52:39.803240 Got request: GET /verifiedserver HTTP/1.1 07:52:39.803250 Are-we-friendly question received 07:52:39.803276 Wrote request (93 bytes) input to log/1/server.input 07:52:39.803294 Identifying ourselves as friends 07:52:39.803349 Response sent (56 bytes) and written to log/1/server.response 07:52:39.803360 special request received, no persistency 07:52:39.803370 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file stderr1948 URL: http://127.0.0.1:35709/1948 === End of file stderr1948 === Start of file valgrind1948 ==168941== ==168941== Process terminating with default action of signal 4 (SIGILL) ==168941== Illegal opcode at address 0x51D5F1F ==168941== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168941== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168941== by 0x51D5F1F: Curl_open (url.c:525) ==168941== by 0x514F6EF: curl_easy_init (easy.c:371) ==168941== by 0x403A931: test_lib1948.lto_priv.0 (lib1948.c:52) ==168941== by 0x400347F: main (first.c:280) ==168941== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168941== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168941== by 0x51D5EBD: Curl_open (url.c:504) ==168941== by 0x514F6EF: curl_easy_init (easy.c:371) ==168941== by 0x403A931: test_lib1948.lto_priv.0 (lib1948.c:52) ==168941== by 0x400347F: main (first.c:280) ==168941== === End of file valgrind1948 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/9/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:42717/file 127.0.0.1 42717 > log/9/stdout1960 2> log/9/stderr1960 1960: 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/ dir 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/9/valgrind1960 ./libtest/libtests libCMD (33792): ../libtool --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/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:42701 > log/3/stdout1964 2> log/3/stderr1964 CMD (33792): ../libtool --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/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:46763/1977 > log/18/stdout1977 2> log/18/stderr1977 1960 http://127.0.0.1:42717/file 127.0.0.1 42717 > log/9/stdout1960 2> log/9/stderr1960 === End of file commands.log === Start of file http_server.log 07:52:39.815493 ====> Client connect 07:52:39.815529 accept_connection 3 returned 4 07:52:39.815548 accept_connection 3 returned 0 07:52:39.815701 Read 93 bytes 07:52:39.815718 Process 93 bytes request 07:52:39.815733 Got request: GET /verifiedserver HTTP/1.1 07:52:39.815744 Are-we-friendly question received 07:52:39.815773 Wrote request (93 bytes) input to log/9/server.input 07:52:39.815793 Identifying ourselves as friends 07:52:39.815859 Response sent (56 bytes) and written to log/9/server.response 07:52:39.815872 special request received, no persistency 07:52:39.815883 ====> Client disconnect 0 07:52:40.940678 ====> Client connect 07:52:40.940705 accept_connection 3 returned 4 07:52:40.940722 accept_connection 3 returned 0 07:52:41.064380 Connection closed by client 07:52:41.064410 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 45636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file stderr1960 URL: http://127.0.0.1:42717/file === End of file stderr1960 === Start of file valgrind1960 ==169014== ==169014== Process terminating with default action of signal 4 (SIGILL) ==169014== Illegal opcode at address 0x51D5F1F ==169014== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169014== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169014== by 0x51D5F1F: Curl_open (url.c:525) ==169014== by 0x514F6EF: curl_easy_init (easy.c:371) ==169014== by 0x4041234: test_lib1960.lto_priv.0 (lib1960.c:119) ==169014== by 0x400347F: main (first.c:280) ==169014== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169014== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169014== by 0x51D5EBD: Curl_open (url.c:504) ==169014== by 0x514F6EF: curl_easy_init (easy.c:371) ==169014== by 0x4041234: test_lib1960.lto_priv.0 (lib1960.c:119) ==169014== by 0x400347F: main (first.c:280) ==169014== === End of file valgrind1960 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/3/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:42701 > log/3/stdout1964 2> log/3/stderr1964 1964: 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/ dir 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/3/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:42701 > log/3/stdout1964 2> log/3/stderr1964 === End of file commands.log === Start of file http_server.log 07:52:39.882589 ====> Client connect 07:52:39.882634 accept_connection 3 returned 4 07:52:39.882656 accept_connection 3 returned 0 07:52:39.882675 Read 93 bytes 07:52:39.882687 Process 93 bytes request 07:52:39.882702 Got request: GET /verifiedserver HTTP/1.1 07:52:39.882713 Are-we-friendly question received 07:52:39.882743 Wrote request (93 bytes) input to log/3/server.input 07:52:39.882761 Identifying ourselves as friends 07:52:39.882830 Response sent (57 bytes) and written to log/3/server.response 07:52:39.882845 special request received, no persistency 07:52:39.882855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 33938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === 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 ==169026== ==169026== Process terminating with default action of signal 4 (SIGILL) ==169026== Illegal opcode at address 0x51D5F1F ==169026== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169026== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169026== by 0x51D5F1F: Curl_open (url.c:525) ==169026== by 0x514F6EF: curl_easy_init (easy.c:371) ==169026== by 0x403CD8C: UnknownInlinedFun (lib1964.c:36) ==169026== by 0x403CD8C: test_lib1964.lto_priv.0 (lib1964.c:28) ==169026== by 0x400347F: main (first.c:280) ==169026== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169026== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169026== by 0x51D5EBD: Curl_open (url.c:504) ==169026== by 0x514F6EF: curl_easy_init (easy.c:371) ==169026== by 0x403CD8C: UnknownInlinedFun (lib1964.c:36) ==169026== by 0x403CD8C: test_lib1964.lto_priv.0 (lib1964.c:28) ==169026== by 0x400347F: main (first.c:280) ==169026== === 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/23/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:42217/%20" > log/23/stdout1916 2> log/23/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/19/valgrind2001 ../src/curl -q --trace-ascii log/19/trace2001 --trace-time http://127.0.0.1:34835/20010001 ftp://127.0.0.1:44991/20010002 file://localhost/startdir/src/build-curl/tests/log/19/test2001.txt > log/19/stdout2001 2> log/19/stderr2001 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/18/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:46763/1977 > log/18/stdout1977 2> log/18/stderr1977 1977: stdout FAILED: --- log/18/check-expected 2025-11-07 07:52:41.544041007 +0000 +++ log/18/check-generated 2025-11-07 07:52:41.544041007 +0000 @@ -1,3 +0,0 @@ -effective URL: http://127.0.0.1:46763/1977[LF] -effective URL: http://127.0.0.1:46763/1977?foo[LF] -effective URL: http://127.0.0.1:46763/1977?foo&bar[LF] == Contents of files in the log/18/ dir after test 1977 === Start of file check-expected effective URL: http://127.0.0.1:46763/1977[LF] effective URL: http://127.0.0.1:46763/1977?foo[LF] effective URL: http://127.0.0.1:46763/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/18/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:46763/1977 > log/18/stdout1977 2> log/18/stderr1977 === End of file commands.log === Start of file http_server.log 07:52:41.179249 ====> Client connect 07:52:41.179295 accept_connection 3 returned 4 07:52:41.179315 accept_connection 3 returned 0 07:52:41.179333 Read 93 bytes 07:52:41.179343 Process 93 bytes request 07:52:41.179359 Got request: GET /verifiedserver HTTP/1.1 07:52:41.179369 Are-we-friendly question received 07:52:41.179393 Wrote request (93 bytes) input to log/18/server.input 07:52:41.179410 Identifying ourselves as friends 07:52:41.179484 Response sent (56 bytes) and written to log/18/server.response 07:52:41.179495 special request received, no persistency 07:52:41.179505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 37490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file stderr1977 URL: http://127.0.0.1:46763/1977 === End of file stderr1977 === Start of file valgrind1977 ==169204== ==169204== Process terminating with default action of signal 4 (SIGILL) ==169204== Illegal opcode at address 0x51D5F1F ==169204== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169204== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169204== by 0x51D5F1F: Curl_open (url.c:525) ==169204== by 0x514F6EF: curl_easy_init (easy.c:371) ==169204== by 0x403EC77: test_lib1977.lto_priv.0 (lib1977.c:37) ==169204== by 0x400347F: main (first.c:280) ==169204== 88 bytes in 1 blocks are definitely lost in loss record 577 of 647 ==169204== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169204== by 0x403EC53: test_lib1977.lto_priv.0 (lib1977.c:32) ==169204== by 0x400347F: main (first.c:280) ==169204== ==169204== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==169204== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169204== by 0x51D5EBD: Curl_open (url.c:504) ==169204== by 0x514F6EF: curl_easy_init (easy.c:371) ==169204== by 0x403EC77: test_lib1977.lto_priv.0 (lib1977.c:37) ==169204== by 0x400347F: main (first.c:280) ==169204== === End of file valgrind1977 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 168114 on PORT 42217 * pid mqtt => 168114 168114 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/23/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:42217/%20" > log/23/stdout1916 2> log/23/stderr1916 1916: 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/ dir 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/23/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:42217/%20" > log/23/stdout1916 2> log/23/stderr1916 === End of file commands.log === Start of file mqtt_server.log 07:52:39.363409 Running IPv4 version 07:52:39.363469 Listening on port 42217 07:52:39.363506 Wrote pid 168114 to log/23/server/mqtt_server.pid 07:52:39.363536 Wrote port 42217 to log/23/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1916 === End of file server.cmd === Start of file stderr1916 URL: mqtt://127.0.0.1:42217/%20 === End of file stderr1916 === Start of file valgrind1916 ==169318== ==169318== Process terminating with default action of signal 4 (SIGILL) ==169318== Illegal opcode at address 0x51D5F1F ==169318== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169318== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169318== by 0x51D5F1F: Curl_open (url.c:525) ==169318== by 0x514F6EF: curl_easy_init (easy.c:371) ==169318== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==169318== by 0x400347F: main (first.c:280) ==169318== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169318== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169318== by 0x51D5EBD: Curl_open (url.c:504) ==169318== by 0x514F6EF: curl_easy_init (easy.c:371) ==169318== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==169318== by 0x400347F: main (first.c:280) ==169318== === End of file valgrind1916 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/2/server/tftp_server.pid" --portfile "log/2/server/tftp_server.port" --logfile "log/2/tftp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 169499 port 56321 * pid tftp => 169499 169499 CMD (33792): ../libtool --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/valgrind2000 ../src/curl -q --trace-ascii log/5/trace2000 --trace-time ftp://127.0.0.1:39251/2000 file://localhost/startdir/src/build-curl/tests/log/5/test2000.txt > log/5/stdout2000 2> log/5/stderr2000 CMD (33792): ../libtool --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/valgrind2005 ../src/curl -q --output log/14/curl2005.out --include --trace-ascii log/14/trace2005 --trace-time --netrc-optional --netrc-file log/14/netrc2005 http://127.0.0.1:34115/ > log/14/stdout2005 2> log/14/stderr2005 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/19/valgrind2001 ../src/curl -q --trace-ascii log/19/trace2001 --trace-time http://127.0.0.1:34835/20010001 ftp://127.0.0.1:44991/20010002 file://localhost/startdir/src/build-curl/tests/log/19/test2001.txt > log/19/stdout2001 2> log/19/stderr2001 2001: stdout FAILED: --- log/19/check-expected 2025-11-07 07:52:41.897374344 +0000 +++ log/19/check-generated 2025-11-07 07:52:41.897374344 +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/19/ dir 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/19/valgrind2001 ../src/curl -q --trace-ascii log/19/trace2001 --trace-time http://127.0.0.1:34835/20010001 ftp://127.0.0.1:44991/20010002 file://localhost/startdir/src/build-curl/tests/log/19/test2001.txt > log/19/stdout2001 2> log/19/stderr2001 === End of file commands.log === Start of file ftp_server.log 07:52:40.753731 ====> Client connect 07:52:40.753892 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:40.754162 < "USER anonymous" 07:52:40.754198 > "331 We are happy you popped in![CR][LF]" 07:52:40.754355 < "PASS ftp@example.com" 07:52:40.754380 > "230 Welcome you silly person[CR][LF]" 07:52:40.754518 < "PWD" 07:52:40.754550 > "257 "/" is current directory[CR][LF]" 07:52:40.755527 < "EPSV" 07:52:40.755554 ====> Passive DATA channel requested by client 07:52:40.755612 DATA sockfilt for passive data channel starting... 07:52:40.757792 DATA sockfilt for passive data channel started (pid 169459) 07:52:40.757962 DATA sockfilt for passive data channel listens on port 44973 07:52:40.758017 > "229 Entering Passive Mode (|||44973|)[CR][LF]" 07:52:40.758038 Client has been notified that DATA conn will be accepted on port 44973 07:52:40.758287 Client connects to port 44973 07:52:40.758337 ====> Client established passive DATA connection on port 44973 07:52:40.758427 < "TYPE I" 07:52:40.758461 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:40.758646 < "SIZE verifiedserver" 07:52:40.758686 > "213 17[CR][LF]" 07:52:40.758866 < "RETR verifiedserver" 07:52:40.758906 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:40.759000 =====> Closing passive DATA connection... 07:52:40.759019 Server disconnects passive DATA connection 07:52:40.759280 Server disconnected passive DATA connection 07:52:40.759310 DATA sockfilt for passive data channel quits (pid 169459) 07:52:40.759588 DATA sockfilt for passive data channel quit (pid 169459) 07:52:40.759617 =====> Closed passive DATA connection 07:52:40.759649 > "226 File transfer complete[CR][LF]" 07:52:40.802904 < "QUIT" 07:52:40.802963 > "221 bye bye baby[CR][LF]" 07:52:40.807944 MAIN sockfilt said DISC 07:52:40.808004 ====> Client disconnected 07:52:40.808073 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:40.581543 ====> Client connect 07:52:40.581848 Received DATA (on stdin) 07:52:40.581863 > 160 bytes data, server => client 07:52:40.581875 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:40.581886 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:40.581896 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:40.581969 < 16 bytes data, client => server 07:52:40.581980 'USER anonymous\r\n' 07:52:40.582138 Received DATA (on stdin) 07:52:40.582151 > 33 bytes data, server => client 07:52:40.582161 '331 We are happy you popped in!\r\n' 07:52:40.582206 < 22 bytes data, client => server 07:52:40.582216 'PASS ftp@example.com\r\n' 07:52:40.582316 Received DATA (on stdin) 07:52:40.582327 > 30 bytes data, server => client 07:52:40.582337 '230 Welcome you silly person\r\n' 07:52:40.582378 < 5 bytes data, client => server 07:52:40.582388 'PWD\r\n' 07:52:40.582487 Received DATA (on stdin) 07:52:40.583286 > 30 bytes data, server => client 07:52:40.583307 '257 "/" is current directory\r\n' 07:52:40.583368 < 6 bytes data, client => server 07:52:40.583380 'EPSV\r\n' 07:52:40.585986 Received DATA (on stdin) 07:52:40.586002 > 39 bytes data, server => client 07:52:40.586015 '229 Entering Passive Mode (|||44973|)\r\n' 07:52:40.586136 < 8 bytes data, client => server 07:52:40.586154 'TYPE I\r\n' 07:52:40.586406 Received DATA (on stdin) 07:52:40.586421 > 33 bytes data, server => client 07:52:40.586434 '200 I modify TYPE as you wanted\r\n' 07:52:40.586490 < 21 bytes data, client => server 07:52:40.586505 'SIZE verifiedserver\r\n' 07:52:40.586629 Received DATA (on stdin) 07:52:40.586643 > 8 bytes data, server => client 07:52:40.586655 '213 17\r\n' 07:52:40.586708 < 21 bytes data, client => server 07:52:40.586723 'RETR verifiedserver\r\n' 07:52:40.586963 Received DATA (on stdin) 07:52:40.586978 > 29 bytes data, server => client 07:52:40.586990 '150 Binary junk (17 bytes).\r\n' 07:52:40.587593 Received DATA (on stdin) 07:52:40.587608 > 28 bytes data, server => client 07:52:40.587620 '226 File transfer complete\r\n' 07:52:40.630657 < 6 bytes data, client => server 07:52:40.630687 'QUIT\r\n' 07:52:40.630909 Received DATA (on stdin) 07:52:40.630924 > 18 bytes data, server => client 07:52:40.630937 '221 bye bye baby\r\n' 07:52:40.632846 ====> Client disconnect 07:52:40.636312 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:40.585391 Running IPv4 version 07:52:40.585460 Listening on port 44973 07:52:40.585498 Wrote pid 169459 to log/19/server/ftp_sockdata.pid 07:52:40.585668 Received PING (on stdin) 07:52:40.585757 Received PORT (on stdin) 07:52:40.586177 ====> Client connect 07:52:40.587019 Received DATA (on stdin) 07:52:40.587034 > 17 bytes data, server => client 07:52:40.587046 'WE ROOLZ: 80634\r\n' 07:52:40.587073 Received DISC (on stdin) 07:52:40.587086 ====> Client forcibly disconnected 07:52:40.587262 Received QUIT (on stdin) 07:52:40.587276 quits 07:52:40.587342 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:40.561910 ====> Client connect 07:52:40.561943 accept_connection 3 returned 4 07:52:40.561960 accept_connection 3 returned 0 07:52:40.561975 Read 93 bytes 07:52:40.561986 Process 93 bytes request 07:52:40.561999 Got request: GET /verifiedserver HTTP/1.1 07:52:40.562008 Are-we-friendly question received 07:52:40.562033 Wrote request (93 bytes) input to log/19/server.input 07:52:40.562050 Identifying ourselves as friends 07:52:40.562105 Response sent (56 bytes) and written to log/19/server.response 07:52:40.562115 special request received, no persistency 07:52:40.562124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 50360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file test2001.txt foo bar bar foo moo === End of file test2001.txt === Start of file valgrind2001 ==169520== ==169520== Process terminating with default action of signal 4 (SIGILL) ==169520== Illegal opcode at address 0x4013DC0 ==169520== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==169520== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169520== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==169520== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2001 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/5/valgrind2000 ../src/curl -q --trace-ascii log/5/trace2000 --trace-time ftp://127.0.0.1:39251/2000 file://localhost/startdir/src/build-curl/tests/log/5/test2000.txt > log/5/stdout2000 2> log/5/stderr2000 2000: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:41.907374344 +0000 +++ log/5/check-generated 2025-11-07 07:52:41.907374344 +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/5/ dir 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/5/valgrind2000 ../src/curl -q --trace-ascii log/5/trace2000 --trace-time ftp://127.0.0.1:39251/2000 file://localhost/startdir/src/build-curl/tests/log/5/test2000.txt > log/5/stdout2000 2> log/5/stderr2000 === End of file commands.log === Start of file ftp_server.log 07:52:40.733761 ====> Client connect 07:52:40.733949 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:40.734280 < "USER anonymous" 07:52:40.734323 > "331 We are happy you popped in![CR][LF]" 07:52:40.734521 < "PASS ftp@example.com" 07:52:40.734550 > "230 Welcome you silly person[CR][LF]" 07:52:40.734730 < "PWD" 07:52:40.734763 > "257 "/" is current directory[CR][LF]" 07:52:40.734930 < "EPSV" 07:52:40.734953 ====> Passive DATA channel requested by client 07:52:40.734967 DATA sockfilt for passive data channel starting... 07:52:40.737249 DATA sockfilt for passive data channel started (pid 169427) 07:52:40.737367 DATA sockfilt for passive data channel listens on port 41001 07:52:40.737415 > "229 Entering Passive Mode (|||41001|)[CR][LF]" 07:52:40.737435 Client has been notified that DATA conn will be accepted on port 41001 07:52:40.737682 Client connects to port 41001 07:52:40.737715 ====> Client established passive DATA connection on port 41001 07:52:40.737814 < "TYPE I" 07:52:40.737850 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:40.738028 < "SIZE verifiedserver" 07:52:40.738069 > "213 17[CR][LF]" 07:52:40.738213 < "RETR verifiedserver" 07:52:40.738245 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:40.738332 =====> Closing passive DATA connection... 07:52:40.738347 Server disconnects passive DATA connection 07:52:40.738573 Server disconnected passive DATA connection 07:52:40.738599 DATA sockfilt for passive data channel quits (pid 169427) 07:52:40.738823 DATA sockfilt for passive data channel quit (pid 169427) 07:52:40.738845 =====> Closed passive DATA connection 07:52:40.738874 > "226 File transfer complete[CR][LF]" 07:52:40.783406 < "QUIT" 07:52:40.783460 > "221 bye bye baby[CR][LF]" 07:52:40.784328 MAIN sockfilt said DISC 07:52:40.784368 ====> Client disconnected 07:52:40.784446 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:40.561557 ====> Client connect 07:52:40.561906 Received DATA (on stdin) 07:52:40.561924 > 160 bytes data, server => client 07:52:40.561939 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:40.561951 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:40.561963 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:40.562042 < 16 bytes data, client => server 07:52:40.562057 'USER anonymous\r\n' 07:52:40.562268 Received DATA (on stdin) 07:52:40.562283 > 33 bytes data, server => client 07:52:40.562295 '331 We are happy you popped in!\r\n' 07:52:40.562353 < 22 bytes data, client => server 07:52:40.562367 'PASS ftp@example.com\r\n' 07:52:40.562502 Received DATA (on stdin) 07:52:40.562516 > 30 bytes data, server => client 07:52:40.562527 '230 Welcome you silly person\r\n' 07:52:40.562578 < 5 bytes data, client => server 07:52:40.562591 'PWD\r\n' 07:52:40.562702 Received DATA (on stdin) 07:52:40.562715 > 30 bytes data, server => client 07:52:40.562727 '257 "/" is current directory\r\n' 07:52:40.562784 < 6 bytes data, client => server 07:52:40.562797 'EPSV\r\n' 07:52:40.565382 Received DATA (on stdin) 07:52:40.565399 > 39 bytes data, server => client 07:52:40.565411 '229 Entering Passive Mode (|||41001|)\r\n' 07:52:40.565537 < 8 bytes data, client => server 07:52:40.565552 'TYPE I\r\n' 07:52:40.565790 Received DATA (on stdin) 07:52:40.565804 > 33 bytes data, server => client 07:52:40.565815 '200 I modify TYPE as you wanted\r\n' 07:52:40.565877 < 21 bytes data, client => server 07:52:40.565889 'SIZE verifiedserver\r\n' 07:52:40.566006 Received DATA (on stdin) 07:52:40.566018 > 8 bytes data, server => client 07:52:40.566028 '213 17\r\n' 07:52:40.566073 < 21 bytes data, client => server 07:52:40.566084 'RETR verifiedserver\r\n' 07:52:40.566288 Received DATA (on stdin) 07:52:40.566300 > 29 bytes data, server => client 07:52:40.566311 '150 Binary junk (17 bytes).\r\n' 07:52:40.566815 Received DATA (on stdin) 07:52:40.566828 > 28 bytes data, server => client 07:52:40.566839 '226 File transfer complete\r\n' 07:52:40.611153 < 6 bytes data, client => server 07:52:40.611181 'QUIT\r\n' 07:52:40.611403 Received DATA (on stdin) 07:52:40.611416 > 18 bytes data, server => client 07:52:40.611427 '221 bye bye baby\r\n' 07:52:40.612208 ====> Client disconnect 07:52:40.612384 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:40.564845 Running IPv4 version 07:52:40.564914 Listening on port 41001 07:52:40.564946 Wrote pid 169427 to log/5/server/ftp_sockdata.pid 07:52:40.565131 Received PING (on stdin) 07:52:40.565217 Received PORT (on stdin) 07:52:40.565571 ====> Client connect 07:52:40.566336 Received DATA (on stdin) 07:52:40.566348 > 17 bytes data, server => client 07:52:40.566359 'WE ROOLZ: 80550\r\n' 07:52:40.566382 Received DISC (on stdin) 07:52:40.566394 ====> Client forcibly disconnected 07:52:40.566545 Received QUIT (on stdin) 07:52:40.566556 quits 07:52:40.566608 ============> 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 ==169465== ==169465== Process terminating with default action of signal 4 (SIGILL) ==169465== Illegal opcode at address 0x4013DC0 ==169465== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==169465== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169465== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==169465== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2000 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/14/valgrind2005 ../src/curl -q --output log/14/curl2005.out --include --trace-ascii log/14/trace2005 --trace-time --netrc-optional --netrc-file log/14/netrc2005 http://127.0.0.1:34115/ > log/14/stdout2005 2> log/14/stderr2005 2005: 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/ dir 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/14/valgrind2005 ../src/curl -q --output log/14/curl2005.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/21/valgrind2002 ../src/curl -q --trace-ascii log/21/trace2002 --trace-time http://127.0.0.1:45761/20020001 ftp://127.0.0.1:32857/20020002 file://localhost/startdir/src/build-curl/tests/log/21/test2002.txt tftp://127.0.0.1:47416//20020003 > log/21/stdout2002 2> log/21/stderr2002 --trace-ascii log/14/trace2005 --trace-time --netrc-optional --netrc-file log/14/netrc2005 http://127.0.0.1:34115/ > log/14/stdout2005 2> log/14/stderr2005 === End of file commands.log === Start of file http_server.log 07:52:40.684977 ====> Client connect 07:52:40.685010 accept_connection 3 returned 4 07:52:40.685032 accept_connection 3 returned 0 07:52:40.685050 Read 93 bytes 07:52:40.685061 Process 93 bytes request 07:52:40.685075 Got request: GET /verifiedserver HTTP/1.1 07:52:40.685084 Are-we-friendly question received 07:52:40.685108 Wrote request (93 bytes) input to log/14/server.input 07:52:40.685125 Identifying ourselves as friends 07:52:40.685175 Response sent (56 bytes) and written to log/14/server.response 07:52:40.685185 special request received, no persistency 07:52:40.685195 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 48028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind2005 ==169635== ==169635== Process terminating with default action of signal 4 (SIGILL) ==169635== Illegal opcode at address 0x4013DC0 ==169635== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==169635== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169635== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==169635== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2005 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/21/valgrind2002 ../src/curl -q --trace-ascii log/21/trace2002 --trace-time http://127.0.0.1:45761/20020001 ftp://127.0.0.1:32857/20020002 file://localhost/startdir/src/build-curl/tests/log/21/test2002.txt tftp://127.0.0.1:47416//20020003 > log/21/stdout2002 2> log/21/stderr2002 2002: stdout FAILED: --- log/21/check-expected 2025-11-07 07:52:41.987374344 +0000 +++ log/21/check-generated 2025-11-07 07:52:41.987374344 +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/21/ dir 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/21/valgrind2002 ../src/curl -q --trace-ascii log/21/trace2002 --trace-time http://127.0.0.1:45761/20020001 ftp://127.0.0.1:32857/20020002 file://localhost/startdir/src/build-curl/tests/log/21/test2002.txt tftp://127.0.0.1:47416//20020003 > log/21/stdout2002 2> log/21/stderr2002 === End of file commands.log === Start of file ftp_server.log 07:52:40.756519 ====> Client connect 07:52:40.756676 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:40.756951 < "USER anonymous" 07:52:40.756991 > "331 We are happy you popped in![CR][LF]" 07:52:40.757173 < "PASS ftp@example.com" 07:52:40.757205 > "230 Welcome you silly person[CR][LF]" 07:52:40.757364 < "PWD" 07:52:40.757396 > "257 "/" is current directory[CR][LF]" 07:52:40.757556 < "EPSV" 07:52:40.757580 ====> Passive DATA channel requested by client 07:52:40.757595 DATA sockfilt for passive data channel starting... 07:52:40.759886 DATA sockfilt for passive data channel started (pid 169460) 07:52:40.760015 DATA sockfilt for passive data channel listens on port 44711 07:52:40.760066 > "229 Entering Passive Mode (|||44711|)[CR][LF]" 07:52:40.760087 Client has been notified that DATA conn will be accepted on port 44711 07:52:40.760378 Client connects to port 44711 07:52:40.760414 ====> Client established passive DATA connection on port 44711 07:52:40.760510 < "TYPE I" 07:52:40.760548 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:40.760729 < "SIZE verifiedserver" 07:52:40.760770 > "213 17[CR][LF]" 07:52:40.760937 < "RETR verifiedserver" 07:52:40.760973 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:40.761056 =====> Closing passive DATA connection... 07:52:40.761072 Server disconnects passive DATA connection 07:52:40.761198 Server disconnected passive DATA connection 07:52:40.761221 DATA sockfilt for passive data channel quits (pid 169460) 07:52:40.761467 DATA sockfilt for passive data channel quit (pid 169460) 07:52:40.761491 =====> Closed passive DATA connection 07:52:40.761523 > "226 File transfer complete[CR][LF]" 07:52:40.803768 < "QUIT" 07:52:40.803822 > "221 bye bye baby[CR][LF]" 07:52:40.804899 MAIN sockfilt said DISC 07:52:40.804947 ====> Client disconnected 07:52:40.805030 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:40.584347 ====> Client connect 07:52:40.584632 Received DATA (on stdin) 07:52:40.584649 > 160 bytes data, server => client 07:52:40.584663 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:40.584676 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:40.584687 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:40.584759 < 16 bytes data, client => server 07:52:40.584773 'USER anonymous\r\n' 07:52:40.584934 Received DATA (on stdin) 07:52:40.584948 > 33 bytes data, server => client 07:52:40.584960 '331 We are happy you popped in!\r\n' 07:52:40.585014 < 22 bytes data, client => server 07:52:40.585027 'PASS ftp@example.com\r\n' 07:52:40.585145 Received DATA (on stdin) 07:52:40.585158 > 30 bytes data, server => client 07:52:40.585170 '230 Welcome you silly person\r\n' 07:52:40.585218 < 5 bytes data, client => server 07:52:40.585230 'PWD\r\n' 07:52:40.585333 Received DATA (on stdin) 07:52:40.585346 > 30 bytes data, server => client 07:52:40.585358 '257 "/" is current directory\r\n' 07:52:40.585413 < 6 bytes data, client => server 07:52:40.585425 'EPSV\r\n' 07:52:40.588035 Received DATA (on stdin) 07:52:40.588054 > 39 bytes data, server => client 07:52:40.588068 '229 Entering Passive Mode (|||44711|)\r\n' 07:52:40.588259 < 8 bytes data, client => server 07:52:40.588273 'TYPE I\r\n' 07:52:40.588488 Received DATA (on stdin) 07:52:40.588502 > 33 bytes data, server => client 07:52:40.588514 '200 I modify TYPE as you wanted\r\n' 07:52:40.588579 < 21 bytes data, client => server 07:52:40.588592 'SIZE verifiedserver\r\n' 07:52:40.588712 Received DATA (on stdin) 07:52:40.588725 > 8 bytes data, server => client 07:52:40.588740 '213 17\r\n' 07:52:40.588791 < 21 bytes data, client => server 07:52:40.588804 'RETR verifiedserver\r\n' 07:52:40.589062 Received DATA (on stdin) 07:52:40.589085 > 29 bytes data, server => client 07:52:40.589099 '150 Binary junk (17 bytes).\r\n' 07:52:40.589466 Received DATA (on stdin) 07:52:40.589482 > 28 bytes data, server => client 07:52:40.589495 '226 File transfer complete\r\n' 07:52:40.631512 < 6 bytes data, client => server 07:52:40.631542 'QUIT\r\n' 07:52:40.631767 Received DATA (on stdin) 07:52:40.631782 > 18 bytes data, server => client 07:52:40.631794 '221 bye bye baby\r\n' 07:52:40.632773 ====> Client disconnect 07:52:40.632972 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:40.587449 Running IPv4 version 07:52:40.587530 Listening on port 44711 07:52:40.587569 Wrote pid 169460 to log/21/server/ftp_sockdata.pid 07:52:40.587761 Received PING (on stdin) 07:52:40.587859 Received PORT (on stdin) 07:52:40.588227 ====> Client connect 07:52:40.589015 Received DATA (on stdin) 07:52:40.589030 > 17 bytes data, server => client 07:52:40.589042 'WE ROOLZ: 83057\r\n' 07:52:40.589070 Received DISC (on stdin) 07:52:40.589087 ====> Client forcibly disconnected 07:52:40.589176 Received QUIT (on stdin) 07:52:40.589189 quits 07:52:40.589252 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:40.563617 ====> Client connect 07:52:40.563652 accept_connection 3 returned 4 07:52:40.563670 accept_connection 3 returned 0 07:52:40.563686 Read 93 bytes 07:52:40.563698 Process 93 bytes request 07:52:40.563712 Got request: GET /verifiedserver HTTP/1.1 07:52:40.563723 Are-we-friendly question received 07:52:40.563748 Wrote request (93 bytes) input to log/21/server.input 07:52:40.563766 Identifying ourselves as friends 07:52:40.563826 Response sent (56 bytes) and written to log/21/server.response 07:52:40.563838 special request received, no persistency 07:52:40.563849 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 39964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === End of file http_verify.ouCMD (33792): ../libtool --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:42601/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/20/valgrind2003 ../src/curl -q --trace-ascii log/20/trace2003 --trace-time http://127.0.0.1:40357/20030001 ftp://127.0.0.1:33651/20030002 file://localhost/startdir/src/build-curl/tests/log/20/test2003.txt tftp://127.0.0.1:41830//20030003 tftp://127.0.0.1:41830//20030003 file://localhost/startdir/src/build-curl/tests/log/20/test2003.txt ftp://127.0.0.1:33651/20030002 http://127.0.0.1:40357/20030001 > log/20/stdout2003 2> log/20/stderr2003 t === 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: 74396 === 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 07:52:40.666148 trying to get file: verifiedserver mode 1 07:52:40.666177 Are-we-friendly question received 07:52:40.666193 write 07:52:40.666210 read 07:52:40.666829 read: 4 07:52:40.666889 end of one transfer === End of file tftp_server.log === Start of file valgrind2002 ==169601== ==169601== Process terminating with default action of signal 4 (SIGILL) ==169601== Illegal opcode at address 0x4013DC0 ==169601== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==169601== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169601== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==169601== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2002 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:42601/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/ dir 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:42601/2023 basic basic > log/17/stdout2023 2> log/17/stderr2023 === End of file commands.log === Start of file http_server.log 07:52:41.688493 ====> Client connect 07:52:41.688526 accept_connection 3 returned 4 07:52:41.688543 accept_connection 3 returned 0 07:52:41.688557 Read 93 bytes 07:52:41.688568 Process 93 bytes request 07:52:41.688581 Got request: GET /verifiedserver HTTP/1.1 07:52:41.688590 Are-we-friendly question received 07:52:41.688615 Wrote request (93 bytes) input to log/17/server.input 07:52:41.688631 Identifying ourselves as friends 07:52:41.688683 Response sent (56 bytes) and written to log/17/server.response 07:52:41.688693 special request received, no persistency 07:52:41.688702 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 51874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 17 WE ROOLZ: 74400 === End of file server.response === Start of file stderr2023 URL: http://127.0.0.1:42601/2023 === End of file stderr2023 === Start of file valgrind2023 ==169687== ==169687== Process terminating with default action of signal 4 (SIGILL) ==169687== Illegal opcode at address 0x51D5F1F ==169687== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169687== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169687== by 0x51D5F1F: Curl_open (url.c:525) ==169687== by 0x514F6EF: curl_easy_init (easy.c:371) ==169687== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169687== by 0x400347F: main (first.c:280) ==169687== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169687== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169687== by 0x51D5EBD: Curl_open (url.c:504) ==169687== by 0x514F6EF: curl_easy_init (easy.c:371) ==169687== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169687== by 0x400347F: main (first.c:280) ==169687== === End of file valgrind2023 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/20/valgrind2003 ../src/curl -q --trace-ascii log/20/trace2003 --trace-time http://127.0.0.1:40357/20030001 ftp://127.0.0.1:33651/20030002 file://localhost/startdir/src/build-curl/tests/log/20/test2003.txt tftp://127.0.0.1:41830//20030003 tftp://127.0.0.1:41830//20030003 file://localhost/startdir/src/build-curl/tests/log/20/test2003.txt ftp://127.0.0.1:33651/20030002 http://127.0.0.1:40357/20030001 > log/20/stdout2003 2> log/20/stderr2003 2003: stdout FAILED: --- log/20/check-expected 2025-11-07 07:52:42.024041011 +0000 +++ log/20/check-generated 2025-11-07 07:52:42.024041011 +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/20/ dir 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/20/valgrind2003 ../src/curl -q --trace-ascii log/20/trace2003 --trace-time http://127.0.0.1:40357/20030001 ftp://127.0.0.1:33651/20030002 file://localhost/startdir/src/build-curl/tests/log/20/test2003.txt tftp://127.0.0.1:41830//20030003 tftp://127.0.0.1:41830//20030003 file://localhost/startdir/src/build-curl/tests/log/20/test2003.txt ftp://127.0.0.1:33651/20030002 http://127.0.0.1:40357/20030001 > log/20/stdout2003 2> log/20/stderr2003 === End of file commands.log === Start of file ftp_server.log 07:52:40.864526 ====> Client connect 07:52:40.864678 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:40.864936 < "USER anonymous" 07:52:40.864972 > "331 We are happy you popped in![CR][LF]" 07:52:40.865147 < "PASS ftp@example.com" 07:52:40.865174 > "230 Welcome you silly person[CR][LF]" 07:52:40.865322 < "PWD" 07:52:40.865353 > "257 "/" is current directory[CR][LF]" 07:52:40.865507 < "EPSV" 07:52:40.865530 ====> Passive DATA channel requested by client 07:52:40.865545 DATA sockfilt for passive data channel starting... 07:52:40.867689 DATA sockfilt for passive data channel started (pid 169620) 07:52:40.867865 DATA sockfilt for passive data channel listens on port 38157 07:52:40.867955 > "229 Entering Passive Mode (|||38157|)[CR][LF]" 07:52:40.867984 Client has been notified that DATA conn will be accepted on port 38157 07:52:40.868251 Client connects to port 38157 07:52:40.868282 ====> Client established passive DATA connection on port 38157 07:52:40.868389 < "TYPE I" 07:52:40.868428 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:40.868608 < "SIZE verifiedserver" 07:52:40.868651 > "213 17[CR][LF]" 07:52:40.868815 < "RETR verifiedserver" 07:52:40.868847 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:40.868937 =====> Closing passive DATA connection... 07:52:40.868954 Server disconnects passive DATA connection 07:52:40.869208 Server disconnected passive DATA connection 07:52:40.869234 DATA sockfilt for passive data channel quits (pid 169620) 07:52:40.869456 DATA sockfilt for passive data channel quit (pid 169620) 07:52:40.869479 =====> Closed passive DATA connection 07:52:40.869506 > "226 File transfer complete[CR][LF]" 07:52:40.912021 < "QUIT" 07:52:40.912085 > "221 bye bye baby[CR][LF]" 07:52:40.913397 MAIN sockfilt said DISC 07:52:40.913451 ====> Client disconnected 07:52:40.913535 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:40.692367 ====> Client connect 07:52:40.692629 Received DATA (on stdin) 07:52:40.692646 > 160 bytes data, server => client 07:52:40.692659 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:40.692671 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:40.692682 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:40.692752 < 16 bytes data, client => server 07:52:40.692765 'USER anonymous\r\n' 07:52:40.692912 Received DATA (on stdin) 07:52:40.692925 > 33 bytes data, server => client 07:52:40.692941 '331 We are happy you popped in!\r\n' 07:52:40.692995 < 22 bytes data, client => server 07:52:40.693007 'PASS ftp@example.com\r\n' 07:52:40.693112 Received DATA (on stdin) 07:52:40.693124 > 30 bytes data, server => client 07:52:40.693135 '230 Welcome you silly person\r\n' 07:52:40.693180 < 5 bytes data, client => server 07:52:40.693191 'PWD\r\n' 07:52:40.693290 Received DATA (on stdin) 07:52:40.693302 > 30 bytes data, server => client 07:52:40.693314 '257 "/" is current directory\r\n' 07:52:40.693368 < 6 bytes data, client => server 07:52:40.693379 'EPSV\r\n' 07:52:40.695940 Received DATA (on stdin) 07:52:40.695963 > 39 bytes data, server => client 07:52:40.695977 '229 Entering Passive Mode (|||38157|)\r\n' 07:52:40.696133 < 8 bytes data, client => server 07:52:40.696154 'TYPE I\r\n' 07:52:40.696369 Received DATA (on stdin) 07:52:40.696384 > 33 bytes data, server => client 07:52:40.696396 '200 I modify TYPE as you wanted\r\n' 07:52:40.696452 < 21 bytes data, client => server 07:52:40.696465 'SIZE verifiedserver\r\n' 07:52:40.696591 Received DATA (on stdin) 07:52:40.696604 > 8 bytes data, server => client 07:52:40.696616 '213 17\r\n' 07:52:40.696666 < 21 bytes data, client => server 07:52:40.696679 'RETR verifiedserver\r\n' 07:52:40.696895 Received DATA (on stdin) 07:52:40.696908 > 29 bytes data, server => client 07:52:40.696921 '150 Binary junk (17 bytes).\r\n' 07:52:40.697447 Received DATA (on stdin) 07:52:40.697462 > 28 bytes data, server => client 07:52:40.697474 '226 File transfer complete\r\n' 07:52:40.739751 < 6 bytes data, client => server 07:52:40.739780 'QUIT\r\n' 07:52:40.740037 Received DATA (on stdin) 07:52:40.740055 > 18 bytes data, server => client 07:52:40.740068 '221 bye bye baby\r\n' 07:52:40.740729 ====> Client disconnect 07:52:40.741494 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:40.695269 Running IPv4 version 07:52:40.695334 Listening on port 38157 07:52:40.695374 Wrote pid 169620 to log/20/server/ftp_sockdata.pid 07:52:40.695563 Received PING (on stdin) 07:52:40.695687 Received PORT (on stdin) 07:52:40.696133 ====> Client connect 07:52:40.696947 Received DATA (on stdin) 07:52:40.696963 > 17 bytes data, server => client 07:52:40.696974 'WE ROOLZ: 80551\r\n' 07:52:40.697000 Received DISC (on stdin) 07:52:40.697013 ====> Client forcibly disconnected 07:52:40.697183 Received QUIT (on stdin) 07:52:40.697195 quits 07:52:40.697258 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 07:52:40.662557 ====> Client connect 07:52:40.662596 accept_connection 3 returned 4 07:52:40.662616 accept_connection 3 returned 0 07:52:40.662634 Read 93 bytes 07:52:40.662646 Process 93 bytes request 07:52:40.662664 Got request: GET /verifiedserver HTTP/1.1 07:52:40.662675 Are-we-friendly question received 07:52:40.662705 Wrote request (93 bytes) input to log/20/server.input 07:52:40.662728 Identifying ourselves as friends 07:52:40.662797 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/10/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:34041/2026 digest basic > log/10/stdout2026 2> log/10/stderr2026 CMD (33792): ../libtool --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/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:40377/2027 digest digest > log/22/stdout2027 2> log/22/stderr2027 CMD (33792): ../libtool --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/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45933/2024 basic digest > log/6/stdout2024 2> log/6/stderr2024 e sent (56 bytes) and written to log/20/server.response 07:52:40.662812 special request received, no persistency 07:52:40.662823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 34260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === 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 07:52:40.784594 trying to get file: verifiedserver mode 1 07:52:40.784632 Are-we-friendly question received 07:52:40.784647 write 07:52:40.784667 read 07:52:40.784739 read: 4 07:52:40.784789 end of one transfer === End of file tftp_server.log === Start of file valgrind2003 ==169859== ==169859== Process terminating with default action of signal 4 (SIGILL) ==169859== Illegal opcode at address 0x4013DC0 ==169859== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==169859== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169859== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==169859== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2003 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/10/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:34041/2026 digest basic > log/10/stdout2026 2> log/10/stderr2026 2026: 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/ dir 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/10/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:34041/2026 digest basic > log/10/stdout2026 2> log/10/stderr2026 === End of file commands.log === Start of file http_server.log 07:52:40.813042 ====> Client connect 07:52:40.813077 accept_connection 3 returned 4 07:52:40.813094 accept_connection 3 returned 0 07:52:40.813109 Read 93 bytes 07:52:40.813119 Process 93 bytes request 07:52:40.813133 Got request: GET /verifiedserver HTTP/1.1 07:52:40.813143 Are-we-friendly question received 07:52:40.813168 Wrote request (93 bytes) input to log/10/server.input 07:52:40.813189 Identifying ourselves as friends 07:52:40.813241 Response sent (56 bytes) and written to log/10/server.response 07:52:40.813251 special request received, no persistency 07:52:40.813261 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 60448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === 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: 74555 === End of file server.response === Start of file stderr2026 URL: http://127.0.0.1:34041/2026 === End of file stderr2026 === Start of file valgrind2026 ==169923== ==169923== Process terminating with default action of signal 4 (SIGILL) ==169923== Illegal opcode at address 0x51D5F1F ==169923== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169923== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169923== by 0x51D5F1F: Curl_open (url.c:525) ==169923== by 0x514F6EF: curl_easy_init (easy.c:371) ==169923== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169923== by 0x400347F: main (first.c:280) ==169923== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169923== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169923== by 0x51D5EBD: Curl_open (url.c:504) ==169923== by 0x514F6EF: curl_easy_init (easy.c:371) ==169923== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169923== by 0x400347F: main (first.c:280) ==169923== === End of file valgrind2026 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/22/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:40377/2027 digest digest > log/22/stdout2027 2> log/22/stderr2027 2027: 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/ dir 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/22/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:40377/2027 digest digest > log/22/stdout2027 2> log/22/stderr2027 === End of file commands.log === Start of file http_server.log 07:52:40.842566 ====> Client connect 07:52:40.842609 accept_connection 3 returned 4 07:52:40.842629 accept_connection 3 returned 0 07:52:40.842646 Read 93 bytes 07:52:40.842658 Process 93 bytes request 07:52:40.842673 Got request: GET /verifiedserver HTTP/1.1 07:52:40.842684 Are-we-friendly question received 07:52:40.842713 Wrote request (93 bytes) input to log/22/server.input 07:52:40.842731 Identifying ourselves as friends 07:52:40.842796 Response sent (56 bytes) and written to log/22/server.response 07:52:40.842810 special request received, no persistency 07:52:40.842821 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 46464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file stderr2027 URL: http://127.0.0.1:40377/2027 === End of file stderr2027 === Start of file valgrind2027 ==169976== ==169976== Process terminating with default action of signal 4 (SIGILL) ==169976== Illegal opcode at address 0x51D5F1F ==169976== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169976== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169976== by 0x51D5F1F: Curl_open (url.c:525) ==169976== by 0x514F6EF: curl_easy_init (easy.c:371) ==169976== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169976== by 0x400347F: main (first.c:280) ==169976== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169976== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169976== by 0x51D5EBD: 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/13/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:37965/2025 basic ntlm > log/13/stdout2025 2> log/13/stderr2025 CMD (33792): ../libtool --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/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:43573/2032 > log/4/stdout2032 2> log/4/stderr2032 url_open (url.c:504) ==169976== by 0x514F6EF: curl_easy_init (easy.c:371) ==169976== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169976== by 0x400347F: main (first.c:280) ==169976== === End of file valgrind2027 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/6/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45933/2024 basic digest > log/6/stdout2024 2> log/6/stderr2024 2024: 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/ dir 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/6/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:45933/2024 basic digest > log/6/stdout2024 2> log/6/stderr2024 === End of file commands.log === Start of file http_server.log 07:52:40.812511 ====> Client connect 07:52:40.812551 accept_connection 3 returned 4 07:52:40.812571 accept_connection 3 returned 0 07:52:40.812587 Read 93 bytes 07:52:40.812600 Process 93 bytes request 07:52:40.812617 Got request: GET /verifiedserver HTTP/1.1 07:52:40.812628 Are-we-friendly question received 07:52:40.812656 Wrote request (93 bytes) input to log/6/server.input 07:52:40.812676 Identifying ourselves as friends 07:52:40.812738 Response sent (56 bytes) and written to log/6/server.response 07:52:40.812752 special request received, no persistency 07:52:40.812763 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 42644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file stderr2024 URL: http://127.0.0.1:45933/2024 === End of file stderr2024 === Start of file valgrind2024 ==169905== ==169905== Process terminating with default action of signal 4 (SIGILL) ==169905== Illegal opcode at address 0x51D5F1F ==169905== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169905== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169905== by 0x51D5F1F: Curl_open (url.c:525) ==169905== by 0x514F6EF: curl_easy_init (easy.c:371) ==169905== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169905== by 0x400347F: main (first.c:280) ==169905== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169905== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169905== by 0x51D5EBD: Curl_open (url.c:504) ==169905== by 0x514F6EF: curl_easy_init (easy.c:371) ==169905== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169905== by 0x400347F: main (first.c:280) ==169905== === End of file valgrind2024 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/13/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:37965/2025 basic ntlm > log/13/stdout2025 2> log/13/stderr2025 2025: 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/ dir 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/13/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:37965/2025 basic ntlm > log/13/stdout2025 2> log/13/stderr2025 === End of file commands.log === Start of file http_server.log 07:52:40.818569 ====> Client connect 07:52:40.818603 accept_connection 3 returned 4 07:52:40.818621 accept_connection 3 returned 0 07:52:40.818634 Read 93 bytes 07:52:40.818645 Process 93 bytes request 07:52:40.818656 Got request: GET /verifiedserver HTTP/1.1 07:52:40.818667 Are-we-friendly question received 07:52:40.818691 Wrote request (93 bytes) input to log/13/server.input 07:52:40.818707 Identifying ourselves as friends 07:52:40.818762 Response sent (57 bytes) and written to log/13/server.response 07:52:40.818773 special request received, no persistency 07:52:40.818783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 58682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file stderr2025 URL: http://127.0.0.1:37965/2025 === End of file stderr2025 === Start of file valgrind2025 ==169931== ==169931== Process terminating with default action of signal 4 (SIGILL) ==169931== Illegal opcode at address 0x51D5F1F ==169931== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169931== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169931== by 0x51D5F1F: Curl_open (url.c:525) ==169931== by 0x514F6EF: curl_easy_init (easy.c:371) ==169931== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169931== by 0x400347F: main (first.c:280) ==169931== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169931== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169931== by 0x51D5EBD: Curl_open (url.c:504) ==169931== by 0x514F6EF: curl_easy_init (easy.c:371) ==169931== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169931== by 0x400347F: main (first.c:280) ==169931== === End of file valgrind2025 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/4/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:43573/2032 > log/4/stdout2032 2> log/4/stderr2032 2032: 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/ dir 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/4/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:43573/2032 > log/4/stdout2032 2> log/4/stderr2032 === End of file commands.log === Start of file http_server.log 07:52:41.998666 ====> Client connect 07:52:41.998698 accept_connection 3 returned 4 07:52:41.998716 accept_connection 3 returned 0 07:52:41.998731 Read 93 bytes 07:52:41.998741 Process 93 bytes request 07:52:41.998755 Got request: GET /verifiedserver HTTP/1.1 07:52:41.998765 Are-we-friendly question received 07:52:41.998790 Wrote request (93 bytes) input to log/4/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/15/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:43789/2031 ntlm ntlm > log/15/stdout2031 2> log/15/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/8/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:36233/2030 ntlm digest > log/8/stdout2030 2> log/8/stderr2030 CMD (33792): ../libtool --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/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:39661/2029 ntlm basic > log/7/stdout2029 2> log/7/stderr2029 input 07:52:41.998809 Identifying ourselves as friends 07:52:41.998867 Response sent (56 bytes) and written to log/4/server.response 07:52:41.998878 special request received, no persistency 07:52:41.998888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file stderr2032 URL: http://127.0.0.1:43573/2032 === End of file stderr2032 === Start of file valgrind2032 ==170287== ==170287== Process terminating with default action of signal 4 (SIGILL) ==170287== Illegal opcode at address 0x519E800 ==170287== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==170287== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==170287== by 0x519E800: Curl_multi_handle (multi.c:247) ==170287== by 0x4041C21: test_lib2032.lto_priv.0 (lib2032.c:115) ==170287== by 0x400347F: main (first.c:280) ==170287== 712 bytes in 1 blocks are definitely lost in loss record 613 of 646 ==170287== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170287== by 0x519E794: Curl_multi_handle (multi.c:239) ==170287== by 0x4041C21: test_lib2032.lto_priv.0 (lib2032.c:115) ==170287== by 0x400347F: main (first.c:280) ==170287== === 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/15/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:43789/2031 ntlm ntlm > log/15/stdout2031 2> log/15/stderr2031 2031: 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/ dir 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/15/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:43789/2031 ntlm ntlm > log/15/stdout2031 2> log/15/stderr2031 === End of file commands.log === Start of file http_server.log 07:52:40.968154 ====> Client connect 07:52:40.968189 accept_connection 3 returned 4 07:52:40.968206 accept_connection 3 returned 0 07:52:40.968222 Read 93 bytes 07:52:40.968233 Process 93 bytes request 07:52:40.968245 Got request: GET /verifiedserver HTTP/1.1 07:52:40.968255 Are-we-friendly question received 07:52:40.968281 Wrote request (93 bytes) input to log/15/server.input 07:52:40.968299 Identifying ourselves as friends 07:52:40.968354 Response sent (56 bytes) and written to log/15/server.response 07:52:40.968365 special request received, no persistency 07:52:40.968376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 45622 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file stderr2031 URL: http://127.0.0.1:43789/2031 === End of file stderr2031 === Start of file valgrind2031 ==170242== ==170242== Process terminating with default action of signal 4 (SIGILL) ==170242== Illegal opcode at address 0x51D5F1F ==170242== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170242== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170242== by 0x51D5F1F: Curl_open (url.c:525) ==170242== by 0x514F6EF: curl_easy_init (easy.c:371) ==170242== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170242== by 0x400347F: main (first.c:280) ==170242== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170242== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170242== by 0x51D5EBD: Curl_open (url.c:504) ==170242== by 0x514F6EF: curl_easy_init (easy.c:371) ==170242== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170242== by 0x400347F: main (first.c:280) ==170242== === 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/8/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:36233/2030 ntlm digest > log/8/stdout2030 2> log/8/stderr2030 2030: 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/ dir 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/8/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:36233/2030 ntlm digest > log/8/stdout2030 2> log/8/stderr2030 === End of file commands.log === Start of file http_server.log 07:52:40.961591 ====> Client connect 07:52:40.961636 accept_connection 3 returned 4 07:52:40.961655 accept_connection 3 returned 0 07:52:40.961671 Read 93 bytes 07:52:40.961683 Process 93 bytes request 07:52:40.961696 Got request: GET /verifiedserver HTTP/1.1 07:52:40.961707 Are-we-friendly question received 07:52:40.961734 Wrote request (93 bytes) input to log/8/server.input 07:52:40.961751 Identifying ourselves as friends 07:52:40.961809 Response sent (57 bytes) and written to log/8/server.response 07:52:40.961820 special request received, no persistency 07:52:40.961830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 47686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === 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: 18 WE ROOLZ: 159283 === End of file server.response === Start of file stderr2030 URL: http://127.0.0.1:36233/2030 === End of file stderr2030 === Start of file valgrind2030 ==170221== ==170221== Process terminating with default action of signal 4 (SIGILL) ==170221== Illegal opcode at address 0x51D5F1F ==170221== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170221== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170221== by 0x51D5F1F: Curl_open (url.c:525) ==170221== by 0x514F6EF: curl_easy_init (easy.c:371) ==170221== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170221== by 0x400347F: main (first.c:280) ==17022CMD (33792): ../libtool --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/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:41843/2028 digest ntlm > log/24/stdout2028 2> log/24/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/3/valgrind2044 ../src/curl -q --output log/3/curl2044.out --include --trace-ascii log/3/trace2044 --trace-time --proto-default DOESNOTEXIST > log/3/stdout2044 2> log/3/stderr2044 1== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170221== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170221== by 0x51D5EBD: Curl_open (url.c:504) ==170221== by 0x514F6EF: curl_easy_init (easy.c:371) ==170221== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170221== by 0x400347F: main (first.c:280) ==170221== === End of file valgrind2030 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/7/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:39661/2029 ntlm basic > log/7/stdout2029 2> log/7/stderr2029 2029: 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/ dir 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/7/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:39661/2029 ntlm basic > log/7/stdout2029 2> log/7/stderr2029 === End of file commands.log === Start of file http_server.log 07:52:41.948563 ====> Client connect 07:52:41.948600 accept_connection 3 returned 4 07:52:41.948618 accept_connection 3 returned 0 07:52:41.948633 Read 93 bytes 07:52:41.948645 Process 93 bytes request 07:52:41.948659 Got request: GET /verifiedserver HTTP/1.1 07:52:41.948670 Are-we-friendly question received 07:52:41.948695 Wrote request (93 bytes) input to log/7/server.input 07:52:41.948714 Identifying ourselves as friends 07:52:41.948781 Response sent (56 bytes) and written to log/7/server.response 07:52:41.948792 special request received, no persistency 07:52:41.948802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 35858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr2029 URL: http://127.0.0.1:39661/2029 === End of file stderr2029 === Start of file valgrind2029 ==170214== ==170214== Process terminating with default action of signal 4 (SIGILL) ==170214== Illegal opcode at address 0x51D5F1F ==170214== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170214== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170214== by 0x51D5F1F: Curl_open (url.c:525) ==170214== by 0x514F6EF: curl_easy_init (easy.c:371) ==170214== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170214== by 0x400347F: main (first.c:280) ==170214== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170214== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170214== by 0x51D5EBD: Curl_open (url.c:504) ==170214== by 0x514F6EF: curl_easy_init (easy.c:371) ==170214== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170214== by 0x400347F: main (first.c:280) ==170214== === End of file valgrind2029 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/24/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:41843/2028 digest ntlm > log/24/stdout2028 2> log/24/stderr2028 2028: 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/ dir 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/24/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:41843/2028 digest ntlm > log/24/stdout2028 2> log/24/stderr2028 === End of file commands.log === Start of file http_server.log 07:52:40.960319 ====> Client connect 07:52:40.960356 accept_connection 3 returned 4 07:52:40.960374 accept_connection 3 returned 0 07:52:40.960391 Read 93 bytes 07:52:40.960403 Process 93 bytes request 07:52:40.960416 Got request: GET /verifiedserver HTTP/1.1 07:52:40.960427 Are-we-friendly question received 07:52:40.960459 Wrote request (93 bytes) input to log/24/server.input 07:52:40.960477 Identifying ourselves as friends 07:52:40.960538 Response sent (56 bytes) and written to log/24/server.response 07:52:40.960552 special request received, no persistency 07:52:40.960563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 44308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file stderr2028 URL: http://127.0.0.1:41843/2028 === End of file stderr2028 === Start of file valgrind2028 ==170222== ==170222== Process terminating with default action of signal 4 (SIGILL) ==170222== Illegal opcode at address 0x51D5F1F ==170222== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170222== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170222== by 0x51D5F1F: Curl_open (url.c:525) ==170222== by 0x514F6EF: curl_easy_init (easy.c:371) ==170222== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170222== by 0x400347F: main (first.c:280) ==170222== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170222== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170222== by 0x51D5EBD: Curl_open (url.c:504) ==170222== by 0x514F6EF: curl_easy_init (easy.c:371) ==170222== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170222== by 0x400347F: main (first.c:280) ==170222== === End of file valgrind2028 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/3/valgrind2044 ../src/curl -q --output log/3/curl2044.out --include --trace-ascii log/3/trace2044 --trace-time --proto-default DOESNOTEXIST > log/3/stdout2044 2> log/3/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/3/ dir 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/3/valgrind2044 ../src/curl -q --output log/3/curl2044.out --include --trace-ascii log/3/trace2044 --trace-time --proto-default DOESNOTEXIST > log/3/stdout2044 2> log/3/stderr2044 === End of file commands.log === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==170483== ==170483== Process terminating with default 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/9/valgrind2040 ../src/curl -q --trace-ascii log/9/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:42717/20400100 --next --no-basic http://127.0.0.1:42717/20400200 > log/9/stdout2040 2> log/9/stderr2040 tion of signal 4 (SIGILL) ==170483== Illegal opcode at address 0x4013DC0 ==170483== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170483== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170483== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170483== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2044 CMD (33792): ../libtool --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/valgrind2039 ../src/curl -q --output log/1/curl2039.out --include --trace-ascii log/1/trace2039 --trace-time --netrc-optional --netrc-file log/1/netrc2039 ftp://127.0.0.1:42965/ > log/1/stdout2039 2> log/1/stderr2039 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/9/valgrind2040 ../src/curl -q --trace-ascii log/9/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:42717/20400100 --next --no-basic http://127.0.0.1:42717/20400200 > log/9/stdout2040 2> log/9/stderr2040 2040: stdout FAILED: --- log/9/check-expected 2025-11-07 07:52:42.384041015 +0000 +++ log/9/check-generated 2025-11-07 07:52:42.384041015 +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/9/ dir 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/9/valgrind2040 ../src/curl -q --trace-ascii log/9/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:42717/20400100 --next --no-basic http://127.0.0.1:42717/20400200 > log/9/stdout2040 2> log/9/stderr2040 === End of file commands.log === Start of file http_server.log 07:52:41.114590 ====> Client connect 07:52:41.114622 accept_connection 3 returned 4 07:52:41.114639 accept_connection 3 returned 0 07:52:41.114653 Read 93 bytes 07:52:41.114663 Process 93 bytes request 07:52:41.114677 Got request: GET /verifiedserver HTTP/1.1 07:52:41.114686 Are-we-friendly question received 07:52:41.114710 Wrote request (93 bytes) input to log/9/server.input 07:52:41.114725 Identifying ourselves as friends 07:52:41.114775 Response sent (56 bytes) and written to log/9/server.response 07:52:41.114786 special request received, no persistency 07:52:41.114794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 45646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind2040 ==170501== ==170501== Process terminating with default action of signal 4 (SIGILL) ==170501== Illegal opcode at address 0x4013DC0 ==170501== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170501== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170501== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170501== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2040 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/1/valgrind2039 ../src/curl -q --output log/1/curl2039.out --include --trace-ascii log/1/trace2039 --trace-time --netrc-optional --netrc-file log/1/netrc2039 ftp://127.0.0.1:42965/ > log/1/stdout2039 2> log/1/stderr2039 2039: 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/ dir 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/1/valgrind2039 ../src/curl -q --output log/1/curl2039.out --include --trace-ascii log/1/trace2039 --trace-time --netrc-optional --netrc-file log/1/netrc2039 ftp://127.0.0.1:42965/ > log/1/stdout2039 2> log/1/stderr2039 === End of file commands.log === Start of file ftp_server.log 07:52:41.220923 ====> Client connect 07:52:41.221094 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:41.221415 < "USER anonymous" 07:52:41.221454 > "331 We are happy you popped in![CR][LF]" 07:52:41.221623 < "PASS ftp@example.com" 07:52:41.221648 > "230 Welcome you silly person[CR][LF]" 07:52:41.221794 < "PWD" 07:52:41.221824 > "257 "/" is current directory[CR][LF]" 07:52:41.221977 < "EPSV" 07:52:41.222000 ====> Passive DATA channel requested by client 07:52:41.222014 DATA sockfilt for passive data channel starting... 07:52:41.224401 DATA sockfilt for passive data channel started (pid 170381) 07:52:41.224540 DATA sockfilt for passive data channel listens on port 41373 07:52:41.224593 > "229 Entering Passive Mode (|||41373|)[CR][LF]" 07:52:41.224614 Client has been notified that DATA conn will be accepted on port 41373 07:52:41.225967 Client connects to port 41373 07:52:41.226009 ====> Client established passive DATA connection on port 41373 07:52:41.226190 < "TYPE I" 07:52:41.226233 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:41.226426 < "SIZE verifiedserver" 07:52:41.226463 > "213 17[CR][LF]" 07:52:41.226620 < "RETR verifiedserver" 07:52:41.226657 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:41.226753 =====> Closing passive DATA connection... 07:52:41.226772 Server disconnects passive DATA connection 07:52:41.227262 Server disconnected passive DATA connection 07:52:41.227294 DATA sockfilt for passive data channel quits (pid 170381) 07:52:41.227685 DATA sockfilt for passive data channel quit (pid 170381) 07:52:41.227708 =====> Closed passive DATA connection 07:52:41.227737 > "226 File transfer complete[CR][LF]" 07:52:41.268593 < "QUIT" 07:52:41.268649 > "221 bye bye baby[CR][LF]" 07:52:41.269759 MAIN sockfilt said DISC 07:52:41.269804 ====> Client disconnected 07:52:41.269880 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:41.048730 ====> Client connect 07:52:41.049049 Received DATA (on stdin) 07:52:41.049066 > 160 bytes data, server => client 07:52:41.049080 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:41.049092 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:41.049103 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:41.049196 < 16 bytes data, client => server 07:52:41.049210 'USER anonymous\r\n' 07:52:41.049396 Received DATA (on stdin) 07:52:41.049409 > 33 bytes data, server => client 07:52:41.049421 '331 We are happy you popped in!\r\n' 07:52:41.049470 < 22 bytes data, client => server 07:52:41.049483 'PASS ftp@example.com\r\n' 07:52:41.049586 Received DATA (on stdin) 07:52:41.049598 > 30 bytes data, server => client 07:52:41.049610 '230 Welcome you silly person\r\n' 07:52:41.049654 < 5 bytes data, client => server 07:52:41.049665 'PWD\r\n' 07:52:41.049761 Received DATA (on stdin) 07:52:41.049773 > 30 bytes data, server => client 07:52:41.049785 '257 "/" is current directory\r\n' 07:52:41.049837 < 6 bytes data, client => server 07:52:41.049849 'EPSV\r\n' 07:52:41.053620 Received DATA (on stdin) 07:52:41.053647 > 39 bytes data, server => client 07:52:41.053660 '229 Entering Passive Mode (|||41373|)\r\n' 07:52:41.053979 < 8 bytes data, client => server 07:52:41.053996 'TYPE I\r\n' 07:52:41.054179 Received DATA (on stdin) 07:52:41.054196 > 33 bytes data, server => client 07:52:41.054208 '200 I modify TYPE as you wanted\r\n' 07:52:41.054276 < 21 bytes data, client => server 07:52:41.054289 'SIZE verifiedserver\r\n' 07:52:41.054401 Received DATA (on stdin) 07:52:41.054413 > 8 bytes data, server => client 07:52:41.054424 '213 17\r\n' 07:52:41.054471 < 21 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/18/valgrind2045 ../src/curl -q --output log/18/curl2045.out --include --trace-ascii log/18/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:34455 > log/18/stdout2045 2> log/18/stderr2045 , client => server 07:52:41.054484 'RETR verifiedserver\r\n' 07:52:41.054718 Received DATA (on stdin) 07:52:41.054733 > 29 bytes data, server => client 07:52:41.054746 '150 Binary junk (17 bytes).\r\n' 07:52:41.055678 Received DATA (on stdin) 07:52:41.055693 > 28 bytes data, server => client 07:52:41.055705 '226 File transfer complete\r\n' 07:52:41.096334 < 6 bytes data, client => server 07:52:41.096361 'QUIT\r\n' 07:52:41.096597 Received DATA (on stdin) 07:52:41.096611 > 18 bytes data, server => client 07:52:41.096622 '221 bye bye baby\r\n' 07:52:41.097635 ====> Client disconnect 07:52:41.097819 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:41.051985 Running IPv4 version 07:52:41.052067 Listening on port 41373 07:52:41.052102 Wrote pid 170381 to log/1/server/ftp_sockdata.pid 07:52:41.052278 Received PING (on stdin) 07:52:41.052382 Received PORT (on stdin) 07:52:41.053846 ====> Client connect 07:52:41.055022 Received DATA (on stdin) 07:52:41.055042 > 17 bytes data, server => client 07:52:41.055053 'WE ROOLZ: 83307\r\n' 07:52:41.055085 Received DISC (on stdin) 07:52:41.055098 ====> Client forcibly disconnected 07:52:41.055252 Received QUIT (on stdin) 07:52:41.055270 quits 07:52:41.055337 ============> 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 ==170500== ==170500== Process terminating with default action of signal 4 (SIGILL) ==170500== Illegal opcode at address 0x4013DC0 ==170500== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170500== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170500== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170500== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2039 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/18/valgrind2045 ../src/curl -q --output log/18/curl2045.out --include --trace-ascii log/18/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:34455 > log/18/stdout2045 2> log/18/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/18/ dir 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/18/valgrind2045 ../src/curl -q --output log/18/curl2045.out --include --trace-ascii log/18/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:34455 > log/18/stdout2045 2> log/18/stderr2045 === End of file commands.log === Start of file ftp_server.log 07:52:41.612486 ====> Client connect 07:52:41.612651 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:41.612948 < "USER anonymous" 07:52:41.612991 > "331 We are happy you popped in![CR][LF]" 07:52:41.613181 < "PASS ftp@example.com" 07:52:41.613213 > "230 Welcome you silly person[CR][LF]" 07:52:41.613373 < "PWD" 07:52:41.613407 > "257 "/" is current directory[CR][LF]" 07:52:41.613579 < "EPSV" 07:52:41.613604 ====> Passive DATA channel requested by client 07:52:41.613618 DATA sockfilt for passive data channel starting... 07:52:41.619271 DATA sockfilt for passive data channel started (pid 170679) 07:52:41.619406 DATA sockfilt for passive data channel listens on port 40649 07:52:41.619462 > "229 Entering Passive Mode (|||40649|)[CR][LF]" 07:52:41.619485 Client has been notified that DATA conn will be accepted on port 40649 07:52:41.619834 Client connects to port 40649 07:52:41.619876 ====> Client established passive DATA connection on port 40649 07:52:41.619975 < "TYPE I" 07:52:41.620010 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:41.620179 < "SIZE verifiedserver" 07:52:41.620218 > "213 17[CR][LF]" 07:52:41.620373 < "RETR verifiedserver" 07:52:41.620407 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:41.620490 =====> Closing passive DATA connection... 07:52:41.620505 Server disconnects passive DATA connection 07:52:41.620757 Server disconnected passive DATA connection 07:52:41.620784 DATA sockfilt for passive data channel quits (pid 170679) 07:52:41.621039 DATA sockfilt for passive data channel quit (pid 170679) 07:52:41.621061 =====> Closed passive DATA connection 07:52:41.621087 > "226 File transfer complete[CR][LF]" 07:52:41.671408 < "QUIT" 07:52:41.671477 > "221 bye bye baby[CR][LF]" 07:52:41.672709 MAIN sockfilt said DISC 07:52:41.672757 ====> Client disconnected 07:52:41.672846 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:42.440284 ====> Client connect 07:52:42.440603 Received DATA (on stdin) 07:52:42.440619 > 160 bytes data, server => client 07:52:42.440634 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:42.440646 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:42.440658 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:42.440738 < 16 bytes data, client => server 07:52:42.440751 'USER anonymous\r\n' 07:52:42.440935 Received DATA (on stdin) 07:52:42.440949 > 33 bytes data, server => client 07:52:42.440962 '331 We are happy you popped in!\r\n' 07:52:42.441018 < 22 bytes data, client => server 07:52:42.441031 'PASS ftp@example.com\r\n' 07:52:42.441153 Received DATA (on stdin) 07:52:42.441166 > 30 bytes data, server => client 07:52:42.441178 '230 Welcome you silly person\r\n' 07:52:42.441226 < 5 bytes data, client => server 07:52:42.441238 'PWD\r\n' 07:52:42.441345 Received DATA (on stdin) 07:52:42.441358 > 30 bytes data, server => client 07:52:42.441370 '257 "/" is current directory\r\n' 07:52:42.441430 < 6 bytes data, client => server 07:52:42.441444 'EPSV\r\n' 07:52:42.447436 Received DATA (on stdin) 07:52:42.447457 > 39 bytes data, server => client 07:52:42.447469 '229 Entering Passive Mode (|||40649|)\r\n' 07:52:42.447709 < 8 bytes data, client => server 07:52:42.447726 'TYPE I\r\n' 07:52:42.447950 Received DATA (on stdin) 07:52:42.447964 > 33 bytes data, server => client 07:52:42.447976 '200 I modify TYPE as you wanted\r\n' 07:52:42.448032 < 21 bytes data, client => server 07:52:42.448044 'SIZE verifiedserver\r\n' 07:52:42.448156 Received DATA (on stdin) 07:52:42.448169 > 8 bytes data, server => client 07:52:42.448180 '213 17\r\n' 07:52:42.448228 < 21 bytes data, client => server 07:52:42.448240 'RETR verifiedserver\r\n' 07:52:42.448541 Received DATA (on stdin) 07:52:42.448555 > 29 bytes data, server => client 07:52:42.448567 '150 Binary junk (17 bytes).\r\n' 07:52:42.449028 Received DATA (on stdin) 07:52:42.449042 > 28 bytes data, server => client 07:52:42.449053 '226 File transfer complete\r\n' 07:52:42.495963 < 6 bytes data, client => server 07:52:42.496004 'QUIT\r\n' 07:52:42.499438 Received DATA (on stdin) 07:52:42.499459 > 18 bytes data, server => client 07:52:42.499473 '221 bye bye baby\r\n' 07:52:42.500577 ====> Client disconnect 07:52:42.500792 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:41.446809 Running IPv4 version 07:52:41.446911 Listening on port 40649 07:52:41.446953 Wrote pid 170679 to log/18/server/ftp_sockdata.pid 07:52:41.447149 Received PING (on stdin) 07:52:41.447245 Received PORT (on stdin) 07:52:41.447668 ====> Client connect 07:52:41.448448 Received DATA (on stdin) 07:52:41.448463 > 17 bytes data, server => client 07:52:41.448475 'WE ROOLZ: 80643\r\n' 07:52:41.448503 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/2/valgrind2047 ../src/curl -q --include --trace-ascii log/2/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:43955 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout2047 2> log/2/stderr2047 DISC (on stdin) 07:52:41.448515 ====> Client forcibly disconnected 07:52:41.448731 Received QUIT (on stdin) 07:52:41.448744 quits 07:52:41.448815 ============> 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 ==170686== ==170686== Process terminating with default action of signal 4 (SIGILL) ==170686== Illegal opcode at address 0x4013DC0 ==170686== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170686== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170686== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170686== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2045 CMD (33792): ../libtool --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/valgrind2046 ../src/curl -q --include --trace-ascii log/23/trace2046 --trace-time http://åäö.se:41029/2046 --resolve xn--4cab6c.se:41029: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/23/stdout2046 2> log/23/stderr2046 setenv LC_ALL = C.UTF-8 test 2047...[Connection reuse with IDN host name 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/2/valgrind2047 ../src/curl -q --include --trace-ascii log/2/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:43955 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout2047 2> log/2/stderr2047 2047: stdout FAILED: --- log/2/check-expected 2025-11-07 07:52:42.934041020 +0000 +++ log/2/check-generated 2025-11-07 07:52:42.934041020 +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/2/ dir 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/2/valgrind2047 ../src/curl -q --include --trace-ascii log/2/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:43955 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/2/stdout2047 2> log/2/stderr2047 === End of file commands.log === Start of file http_server.log 07:52:42.677193 ====> Client connect 07:52:42.677232 accept_connection 3 returned 4 07:52:42.677251 accept_connection 3 returned 0 07:52:42.677267 Read 93 bytes 07:52:42.677278 Process 93 bytes request 07:52:42.677292 Got request: GET /verifiedserver HTTP/1.1 07:52:42.677303 Are-we-friendly question received 07:52:42.677329 Wrote request (93 bytes) input to log/2/server.input 07:52:42.677348 Identifying ourselves as friends 07:52:42.677407 Response sent (56 bytes) and written to log/2/server.response 07:52:42.677421 special request received, no persistency 07:52:42.677432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 57994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file valgrind2047 ==170816== ==170816== Process terminating with default action of signal 4 (SIGILL) ==170816== Illegal opcode at address 0x4013DC0 ==170816== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170816== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170816== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170816== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2047 CMD (33792): ../libtool --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:34835 -x 127.0.0.1:36399 > log/19/stdout2050 2> log/19/stderr2050 setenv LC_ALL = C.UTF-8 test 2046...[Connection reuse with IDN host 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/23/valgrind2046 ../src/curl -q --include --trace-ascii log/23/trace2046 --trace-time http://åäö.se:41029/2046 --resolve xn--4cab6c.se:41029: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/23/stdout2046 2> log/23/stderr2046 2046: stdout FAILED: --- log/23/check-expected 2025-11-07 07:52:42.947374353 +0000 +++ log/23/check-generated 2025-11-07 07:52:42.947374353 +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:41029/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/23/ dir 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:41029/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/23/valgrind2046 ../src/curl -q --include --trace-ascii log/23/trace2046 --trace-time http://åäö.se:41029/2046 --resolve xn--4cab6c.se:41029: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/23/stdout2046 2> log/23/stderr2046 === End of file commands.log === Start of file http_server.log 07:52:41.593276 ====> Client connect 07:52:41.593315 accept_connection 3 returned 4 07:52:41.593335 accept_connection 3 returned 0 07:52:41.593352 Read 93 bytes 07:52:41.593364 Process 93 bytes request 07:52:41.593379 Got request: GET /verifiedserver HTTP/1.1 07:52:41.593390 Are-we-friendly question received 07:52:41.593416 Wrote request (93 bytes) input to log/23/server.input 07:52:41.593435 Identifying ourselves as friends 07:52:41.593493 Response sent (56 bytes) and written to log/23/server.response 07:52:41.593505 special request received, no persistency 07:52:41.593516 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 38938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 17 WE ROOLZ: 74394 === End of file server.response === Start of file valgrind2046 ==170735== ==170735== Process terminating with default action of signal 4 (SIGILL) ==170735== Illegal opcode at address 0x4013DC0 ==170735== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170735== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170735== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170735== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2046 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:34835 -x 127.0.0.1:36399 > 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/ dir 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:34835 -x 127.0.0.1:36399 > log/19/stdout2050 2> log/19/stderr2050 === End of file commands.log === Start of file http2_server.log 07:52:41.842756 ====> Client connect 07:52:41.842791 accept_connection 3 returned 4 07:52:41.842807 accept_connection 3 returned 0 07:52:41.842821 Read 93 bytes 07:52:41.842838 Process 93 bytes request 07:52:41.842850 Got request: GET /verifiedserver HTTP/1.1 07:52:41.842860 Are-we-friendly question received 07:52:41.842885 Wrote request (93 bytes) input to log/19/proxy.input 07:52:41.842907 Identifying ourselves as friends 07:52:41.842969 Response sent (57 bytes) and written to log/19/proxy.response 07:52:41.842985 special request received, no persistency 07:52:41.842995 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:36399... * Established connection to 127.0.0.1 (127.0.0.1 port 36399) from 127.0.0.1 port 58782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36399 > User-Agent: curl/8.17.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:36399 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 147058 === End of file http2_verify.out === Start of file http_server.log 07:52:41.767723 ====> Client connect 07:52:41.767762 accept_connection 3 returned 4 07:52:41.767780 accept_connection 3 returned 0 07:52:41.767798 Read 93 bytes 07:52:41.767809 Process 93 bytes request 07:52:41.767825 Got request: GET /verifiedserver HTTP/1.1 07:52:41.767835 Are-we-friendly question received 07:52:41.767864 Wrote request (93 bytes) input to log/19/server.input 07:52:41.767884 Identifying ourselves as friends 07:52:41.767962 Response sent (56 bytes) and written to log/19/server.response 07:52:41.767976 special request received, no persistency 07:52:41.767986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 50372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147058 === 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: 74398 === End of file server.response === Start of file valgrind2050 ==171026== ==171026== Process terminating with default action of signal 4 (SIGILL) ==171026== Illegal opcode at address 0x4013DC0 ==171026== CMD (33792): ../libtool --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/valgrind2049 ../src/curl -q --output log/14/curl2049.out --include --trace-ascii log/14/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:34115 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:34115 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:34115 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:34115 > log/14/stdout2049 2> log/14/stderr2049 CMD (33792): ../libtool --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/valgrind2051 ../src/curl -q --include --trace-ascii log/5/trace2051 --trace-time http://127.0.0.1:42797/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:42797 http://127.0.0.1:42797/2051 -w "%{num_connects}\n" --next http://127.0.0.1:42797/2051 -w "%{num_connects}\n" > log/5/stdout2051 2> log/5/stderr2051 at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171026== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171026== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171026== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2050 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/14/valgrind2049 ../src/curl -q --output log/14/curl2049.out --include --trace-ascii log/14/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:34115 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:34115 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:34115 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:34115 > log/14/stdout2049 2> log/14/stderr2049 2049: 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/ dir 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=16 --log-file=log/14/valgrind2049 ../src/curl -q --output log/14/curl2049.out --include --trace-ascii log/14/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:34115 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:34115 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:34115 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:34115 > log/14/stdout2049 2> log/14/stderr2049 === End of file commands.log === Start of file http_server.log 07:52:41.775234 ====> Client connect 07:52:41.775269 accept_connection 3 returned 4 07:52:41.775285 accept_connection 3 returned 0 07:52:41.775305 Read 93 bytes 07:52:41.775315 Process 93 bytes request 07:52:41.775329 Got request: GET /verifiedserver HTTP/1.1 07:52:41.775339 Are-we-friendly question received 07:52:41.775362 Wrote request (93 bytes) input to log/14/server.input 07:52:41.775379 Identifying ourselves as friends 07:52:41.775430 Response sent (56 bytes) and written to log/14/server.response 07:52:41.775441 special request received, no persistency 07:52:41.775450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.0.1 (127.0.0.1 port 34115) from 127.0.0.1 port 48038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind2049 ==170923== ==170923== Process terminating with default action of signal 4 (SIGILL) ==170923== Illegal opcode at address 0x4013DC0 ==170923== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==170923== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170923== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==170923== by 0x40037A4: main (tool_main.c:199) === 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/17/valgrind2053 ../src/curl -q --output log/17/curl2053.out --include --trace-ascii log/17/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:42601 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:42601 > log/17/stdout2053 2> log/17/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/21/valgrind2052 ../src/curl -q --include --trace-ascii log/21/trace2052 --trace-time http://www.example.com:45761/2052 --resolve www.example.com:45761:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:45761 --connect-to ::127.0.0.1:45761 http://www.example.com:45761/2052 -w "%{num_connects}\n" > log/21/stdout2052 2> log/21/stderr2052 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/5/valgrind2051 ../src/curl -q --include --trace-ascii log/5/trace2051 --trace-time http://127.0.0.1:42797/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:42797 http://127.0.0.1:42797/2051 -w "%{num_connects}\n" --next http://127.0.0.1:42797/2051 -w "%{num_connects}\n" > log/5/stdout2051 2> log/5/stderr2051 2051: stdout FAILED: --- log/5/check-expected 2025-11-07 07:52:43.100707689 +0000 +++ log/5/check-generated 2025-11-07 07:52:43.100707689 +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/5/ dir 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/5/valgrind2051 ../src/curl -q --include --trace-ascii log/5/trace2051 --trace-time http://127.0.0.1:42797/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:42797 http://127.0.0.1:42797/2051 -w "%{num_connects}\n" --next http://127.0.0.1:42797/2051 -w "%{num_connects}\n" > log/5/stdout2051 2> log/5/stderr2051 === End of file commands.log === Start of file http_server.log 07:52:41.841984 ====> Client connect 07:52:41.842021 accept_connection 3 returned 4 07:52:41.842037 accept_connection 3 returned 0 07:52:41.842050 Read 93 bytes 07:52:41.842060 Process 93 bytes request 07:52:41.842074 Got request: GET /verifiedserver HTTP/1.1 07:52:41.842083 Are-we-friendly question received 07:52:41.842113 Wrote request (93 bytes) input to log/5/server.input 07:52:41.842129 Identifying ourselves as friends 07:52:41.842184 Response sent (56 bytes) and written to log/5/server.response 07:52:41.842194 special request received, no persistency 07:52:41.842203 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42797... * Established connection to 127.0.0.1 (127.0.0.1 port 42797) from 127.0.0.1 port 57912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42797 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42797 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75828 === 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: 17 WE ROOLZ: 75828 === End of file server.response === Start of file valgrind2051 ==171035== ==171035== Process terminating with default action of signal 4 (SIGILL) ==171035== Illegal opcode at address 0x4013DC0 ==171035== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171035== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171035== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171035== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2051 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/17/valgrind2053 ../src/curl -q --output log/17/curl2053.out --include --trace-ascii log/17/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:42601 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:42601 > log/17/stdout2053 2> log/17/stderr2053 2053: 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/ dir 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/17/valgrind2053 ../src/curl -q --output log/17/curl2053.out --include --trace-ascii log/17/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:42601 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:42601 > log/17/stdout2053 2> log/17/stderr2053 === End of file commands.log === Start of file http_server.log 07:52:42.871540 ====> Client connect 07:52:42.871576 accept_connection 3 returned 4 07:52:42.871593 accept_connection 3 returned 0 07:52:42.871609 Read 93 bytes 07:52:42.871620 Process 93 bytes request 07:52:42.871634 Got request: GET /verifiedserver HTTP/1.1 07:52:42.871645 Are-we-friendly question received 07:52:42.871671 Wrote request (93 bytes) input to log/17/server.input 07:52:42.871689 Identifying ourselves as friends 07:52:42.871751 Response sent (56 bytes) and written to log/17/server.response 07:52:42.871763 special request received, no persistency 07:52:42.871773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 51888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind2053 ==171103== ==171103== Process terminating with default action of signal 4 (SIGILL) ==171103== Illegal opcode at address 0x4013DC0 ==171103== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171103== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2053 CMD (33792): ../libtool --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/valgrind2054 ../src/curl -q --output log/20/curl2054.out --include --trace-ascii log/20/trace2054 --trace-time http://127.0.0.1:40357/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:40357/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::40357 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:40357 --connect-to www.example.com:8084:foo:123 > log/20/stdout2054 2> log/20/stderr2054 CMD (33792): ../libtool --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/valgrind2059 ../src/curl -q --output log/6/curl2059.out --include --trace-ascii log/6/trace2059 --trace-time http://127.0.0.1:45933/2059 -u auser:apasswd --digest -T log/6/2059 -x http://127.0.0.1:45933 -C 2 -X GET > log/6/stdout2059 2> log/6/stderr2059 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/21/valgrind2052 ../src/curl -q --include --trace-ascii log/21/trace2052 --trace-time http://www.example.com:45761/2052 --resolve www.example.com:45761:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:45761 --connect-to ::127.0.0.1:45761 http://www.example.com:45761/2052 -w "%{num_connects}\n" > log/21/stdout2052 2> log/21/stderr2052 2052: stdout FAILED: --- log/21/check-expected 2025-11-07 07:52:43.214041023 +0000 +++ log/21/check-generated 2025-11-07 07:52:43.214041023 +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/21/ dir 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/21/valgrind2052 ../src/curl -q --include --trace-ascii log/21/trace2052 --trace-time http://www.example.com:45761/2052 --resolve www.example.com:45761:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:45761 --connect-to ::127.0.0.1:45761 http://www.example.com:45761/2052 -w "%{num_connects}\n" > log/21/stdout2052 2> log/21/stderr2052 === End of file commands.log === Start of file http_server.log 07:52:41.866523 ====> Client connect 07:52:41.866558 accept_connection 3 returned 4 07:52:41.866574 accept_connection 3 returned 0 07:52:41.866722 Read 93 bytes 07:52:41.866738 Process 93 bytes request 07:52:41.866754 Got request: GET /verifiedserver HTTP/1.1 07:52:41.866764 Are-we-friendly question received 07:52:41.866794 Wrote request (93 bytes) input to log/21/server.input 07:52:41.866811 Identifying ourselves as friends 07:52:41.866859 Response sent (56 bytes) and written to log/21/server.response 07:52:41.866870 special request received, no persistency 07:52:41.866879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 39968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind2052 ==171088== ==171088== Process terminating with default action of signal 4 (SIGILL) ==171088== Illegal opcode at address 0x4013DC0 ==171088== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171088== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171088== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171088== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2052 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/20/valgrind2054 ../src/curl -q --output log/20/curl2054.out --include --trace-ascii log/20/trace2054 --trace-time http://127.0.0.1:40357/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:40357/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::40357 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:40357 --connect-to www.example.com:8084:foo:123 > log/20/stdout2054 2> log/20/stderr2054 2054: 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/ dir 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/20/valgrind2054 ../src/curl -q --output log/20/curl2054.out --include --trace-ascii log/20/trace2054 --trace-time http://127.0.0.1:40357/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:40357/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::40357 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:40357 --connect-to www.example.com:8084:foo:123 > log/20/stdout2054 2> log/20/stderr2054 === End of file commands.log === Start of file http_server.log 07:52:41.884742 ====> Client connect 07:52:41.884777 accept_connection 3 returned 4 07:52:41.884792 accept_connection 3 returned 0 07:52:41.884806 Read 93 bytes 07:52:41.884816 Process 93 bytes request 07:52:41.884829 Got request: GET /verifiedserver HTTP/1.1 07:52:41.884838 Are-we-friendly question received 07:52:41.884861 Wrote request (93 bytes) input to log/20/server.input 07:52:41.884878 Identifying ourselves as friends 07:52:41.884931 Response sent (56 bytes) and written to log/20/server.response 07:52:41.884941 special request received, no persistency 07:52:41.884950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 34274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind2054 ==171147== ==171147== Process terminating with default action of signal 4 (SIGILL) ==171147== Illegal opcode at address 0x4013DC0 ==171147== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171147== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171147== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171147== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2054 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 --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2059 ../src/curl -q --output log/6/curl2059.out --include --trace-ascii log/6/trace2059 --trace-time http://127.0.0.1:45933/2059 -u auser:apasswd --digest -T log/6/2059 -x http://127.0.0.1:45933 -C 2 -X GET > log/6/stdout2059 2> log/6/stderr2059 2059: 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/ dir 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-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/13/valgrind2060 ../src/curl -q --output log/13/curl2060.out --include --trace-ascii log/13/trace2060 --trace-time http://127.0.0.1:37965/2060 -u auser:apasswd --digest -T log/13/2060 -x http://127.0.0.1:37965 -C 2 -X GET > log/13/stdout2060 2> log/13/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/22/valgrind2058 ../src/curl -q --output log/22/curl2058.out --include --trace-ascii log/22/trace2058 --trace-time http://127.0.0.1:40377/2058 -u auser:apasswd --digest -T log/22/2058 -x http://127.0.0.1:40377 -C 2 -X GET > log/22/stdout2058 2> log/22/stderr2058 =yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2059 ../src/curl -q --output log/6/curl2059.out --include --trace-ascii log/6/trace2059 --trace-time http://127.0.0.1:45933/2059 -u auser:apasswd --digest -T log/6/2059 -x http://127.0.0.1:45933 -C 2 -X GET > log/6/stdout2059 2> log/6/stderr2059 === End of file commands.log === Start of file http_server.log 07:52:41.999862 ====> Client connect 07:52:41.999897 accept_connection 3 returned 4 07:52:41.999915 accept_connection 3 returned 0 07:52:41.999930 Read 93 bytes 07:52:41.999941 Process 93 bytes request 07:52:41.999954 Got request: GET /verifiedserver HTTP/1.1 07:52:41.999965 Are-we-friendly question received 07:52:41.999991 Wrote request (93 bytes) input to log/6/server.input 07:52:42.000008 Identifying ourselves as friends 07:52:42.000062 Response sent (56 bytes) and written to log/6/server.response 07:52:42.000073 special request received, no persistency 07:52:42.000084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 42648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind2059 ==171398== ==171398== Process terminating with default action of signal 4 (SIGILL) ==171398== Illegal opcode at address 0x4013DC0 ==171398== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171398== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171398== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171398== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2059 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 45465 --port2 38843 --nghttpx "nghttpx" --pidfile "log/12/server/http_v2_server.pid" --logfile "log/12/http_v2_server.log" --logdir "log/12" --connect 127.0.0.1:38023 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 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/13/valgrind2060 ../src/curl -q --output log/13/curl2060.out --include --trace-ascii log/13/trace2060 --trace-time http://127.0.0.1:37965/2060 -u auser:apasswd --digest -T log/13/2060 -x http://127.0.0.1:37965 -C 2 -X GET > log/13/stdout2060 2> log/13/stderr2060 2060: 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/ dir 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/13/valgrind2060 ../src/curl -q --output log/13/curl2060.out --include --trace-ascii log/13/trace2060 --trace-time http://127.0.0.1:37965/2060 -u auser:apasswd --digest -T log/13/2060 -x http://127.0.0.1:37965 -C 2 -X GET > log/13/stdout2060 2> log/13/stderr2060 === End of file commands.log === Start of file http_server.log 07:52:41.998093 ====> Client connect 07:52:41.998130 accept_connection 3 returned 4 07:52:41.998149 accept_connection 3 returned 0 07:52:41.998165 Read 93 bytes 07:52:41.998177 Process 93 bytes request 07:52:41.998191 Got request: GET /verifiedserver HTTP/1.1 07:52:41.998202 Are-we-friendly question received 07:52:41.998230 Wrote request (93 bytes) input to log/13/server.input 07:52:41.998249 Identifying ourselves as friends 07:52:41.998306 Response sent (57 bytes) and written to log/13/server.response 07:52:41.998318 special request received, no persistency 07:52:41.998329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 58688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file valgrind2060 ==171400== ==171400== Process terminating with default action of signal 4 (SIGILL) ==171400== Illegal opcode at address 0x4013DC0 ==171400== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171400== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171400== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171400== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2060 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/22/valgrind2058 ../src/curl -q --output log/22/curl2058.out --include --trace-ascii log/22/trace2058 --trace-time http://127.0.0.1:40377/2058 -u auser:apasswd --digest -T log/22/2058 -x http://127.0.0.1:40377 -C 2 -X GET > log/22/stdout2058 2> log/22/stderr2058 2058: 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/ dir 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/22/valgrind2058 ../src/curl -q --output log/22/curl2058.out --include --trace-ascii log/22/trace2058 --trace-time http://127.0.0.1:40377/2058 -u auser:apasswd --digest -T log/22/2058 -x http://127.0.0.1:40377 -C 2 -X GET > log/22/stdout2058 2> log/22/stderr2058 === End of file commands.log === Start of file http_server.log 07:52:42.002547 ====> Client connect 07:52:42.002581 accept_connection 3 returned 4 07:52:42.002598 accept_connection 3 returned 0 07:52:42.002613 Read 93 bytes 07:52:42.002623 Process 93 bytes request 07:52:42.002635 Got request: GET /verifiedserver HTTP/1.1 07:52:42.002645 Are-we-friendly question received 07:52:42.002670 Wrote request (93 bytes) input to log/22/server.input 07:52:42.002688 Identifying ourselves as friends 07:52:42.002752 Response sent (56 bytes) and written to log/22/server.response 07:52:42.002764 special request received, no persistency 07:52:42.002774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 46470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.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/15/valgrind2062 ../src/curl -q --output log/15/curl2062.out --include --trace-ascii log/15/trace2062 --trace-time http://127.0.0.1:43789/2062 -u testuser:testpass --digest > log/15/stdout2062 2> log/15/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/8/valgrind2063 ../src/curl -q --output log/8/curl2063.out --include --trace-ascii log/8/trace2063 --trace-time http://127.0.0.1:36233/2063 -u testuser:testpass --digest > log/8/stdout2063 2> log/8/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/4/valgrind2061 ../src/curl -q --output log/4/curl2061.out --include --trace-ascii log/4/trace2061 --trace-time http://127.0.0.1:43573/2061 -u testuser:testpass --digest > log/4/stdout2061 2> log/4/stderr2061 .out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind2058 ==171418== ==171418== Process terminating with default action of signal 4 (SIGILL) ==171418== Illegal opcode at address 0x4013DC0 ==171418== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171418== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171418== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171418== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2058 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/15/valgrind2062 ../src/curl -q --output log/15/curl2062.out --include --trace-ascii log/15/trace2062 --trace-time http://127.0.0.1:43789/2062 -u testuser:testpass --digest > log/15/stdout2062 2> log/15/stderr2062 2062: 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/ dir 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/15/valgrind2062 ../src/curl -q --output log/15/curl2062.out --include --trace-ascii log/15/trace2062 --trace-time http://127.0.0.1:43789/2062 -u testuser:testpass --digest > log/15/stdout2062 2> log/15/stderr2062 === End of file commands.log === Start of file http_server.log 07:52:42.121335 ====> Client connect 07:52:42.121370 accept_connection 3 returned 4 07:52:42.121387 accept_connection 3 returned 0 07:52:42.121401 Read 93 bytes 07:52:42.121412 Process 93 bytes request 07:52:42.121424 Got request: GET /verifiedserver HTTP/1.1 07:52:42.121434 Are-we-friendly question received 07:52:42.121459 Wrote request (93 bytes) input to log/15/server.input 07:52:42.121475 Identifying ourselves as friends 07:52:42.121527 Response sent (56 bytes) and written to log/15/server.response 07:52:42.121538 special request received, no persistency 07:52:42.121547 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 45636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 74402 === End of file server.response === Start of file valgrind2062 ==171642== ==171642== Process terminating with default action of signal 4 (SIGILL) ==171642== Illegal opcode at address 0x4013DC0 ==171642== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171642== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171642== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171642== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2062 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/8/valgrind2063 ../src/curl -q --output log/8/curl2063.out --include --trace-ascii log/8/trace2063 --trace-time http://127.0.0.1:36233/2063 -u testuser:testpass --digest > log/8/stdout2063 2> log/8/stderr2063 2063: 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/ dir 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/8/valgrind2063 ../src/curl -q --output log/8/curl2063.out --include --trace-ascii log/8/trace2063 --trace-time http://127.0.0.1:36233/2063 -u testuser:testpass --digest > log/8/stdout2063 2> log/8/stderr2063 === End of file commands.log === Start of file http_server.log 07:52:42.135548 ====> Client connect 07:52:42.135583 accept_connection 3 returned 4 07:52:42.135599 accept_connection 3 returned 0 07:52:42.135612 Read 93 bytes 07:52:42.135622 Process 93 bytes request 07:52:42.135638 Got request: GET /verifiedserver HTTP/1.1 07:52:42.135647 Are-we-friendly question received 07:52:42.135670 Wrote request (93 bytes) input to log/8/server.input 07:52:42.135686 Identifying ourselves as friends 07:52:42.135740 Response sent (57 bytes) and written to log/8/server.response 07:52:42.135749 special request received, no persistency 07:52:42.135759 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 47700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === 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: 18 WE ROOLZ: 159283 === End of file server.response === Start of file valgrind2063 ==171663== ==171663== Process terminating with default action of signal 4 (SIGILL) ==171663== Illegal opcode at address 0x4013DC0 ==171663== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171663== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171663== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171663== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2063 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/4/valgrind2061 ../src/curl -q --output log/4/curl2061.out --include --trace-ascii log/4/trace2061 --trace-time http://127.0.0.1:43573/2061 -u testuser:testpass --digest > log/4/stdout2061 2> log/4/stderr2061 2061: 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/ dir 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/4/valgrind2061 ../src/curl -q --output log/4/curl2061.out --include --trace-ascii log/4/trace2061 --trace-time http://127.0.0.1:43573/2061 -u testuser:testpass --digest > log/4/stdout2061 2> log/4/stderr2061 === End of file commands.log === Start of file http_server.log 07:52:43.116105 ====> Client connect 07:52:43.116137 accept_connection 3 returned 4 07:52:43.116154 accept_connection 3 returned 0 07:52:43.116169 Read 93 bytes 07:52:43.116180 Process 93 bytes request 07:52:43.116195 Got request: GET /verifiedserver HTTP/1.1 07:52:43.116205 Are-we-friendly question received 07:52:43.116227 Wrote request (93 bytes) input to log/4/server.input 07:52:43.116243 Identifying ourselves as friends 07:52:43.116291 Response 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/24/valgrind2065 ../src/curl -q --output log/24/curl2065.out --include --trace-ascii log/24/trace2065 --trace-time http://127.0.0.1:41843/2065 -u testuser:test2pass --digest > log/24/stdout2065 2> log/24/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/7/valgrind2064 ../src/curl -q --output log/7/curl2064.out --include --trace-ascii log/7/trace2064 --trace-time http://127.0.0.1:39661/2064 -u testuser:test2pass --digest > log/7/stdout2064 2> log/7/stderr2064 CMD (33792): ../libtool --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/valgrind2066 ../src/curl -q --output log/3/curl2066.out --include --trace-ascii log/3/trace2066 --trace-time http://127.0.0.1:42701/2066 -u testuser:test2pass --digest > log/3/stdout2066 2> log/3/stderr2066 ent (56 bytes) and written to log/4/server.response 07:52:43.116301 special request received, no persistency 07:52:43.116310 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 17 WE ROOLZ: 74732 === End of file server.response === Start of file valgrind2061 ==171630== ==171630== Process terminating with default action of signal 4 (SIGILL) ==171630== Illegal opcode at address 0x4013DC0 ==171630== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171630== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171630== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171630== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2061 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 45853 --port2 34705 --nghttpx "nghttpx" --pidfile "log/11/server/http_v2_server.pid" --logfile "log/11/http_v2_server.log" --logdir "log/11" --connect 127.0.0.1:38169 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 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/24/valgrind2065 ../src/curl -q --output log/24/curl2065.out --include --trace-ascii log/24/trace2065 --trace-time http://127.0.0.1:41843/2065 -u testuser:test2pass --digest > log/24/stdout2065 2> log/24/stderr2065 2065: 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/ dir 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/24/valgrind2065 ../src/curl -q --output log/24/curl2065.out --include --trace-ascii log/24/trace2065 --trace-time http://127.0.0.1:41843/2065 -u testuser:test2pass --digest > log/24/stdout2065 2> log/24/stderr2065 === End of file commands.log === Start of file http_server.log 07:52:42.158800 ====> Client connect 07:52:42.158838 accept_connection 3 returned 4 07:52:42.158857 accept_connection 3 returned 0 07:52:42.158874 Read 93 bytes 07:52:42.158885 Process 93 bytes request 07:52:42.158899 Got request: GET /verifiedserver HTTP/1.1 07:52:42.158910 Are-we-friendly question received 07:52:42.158936 Wrote request (93 bytes) input to log/24/server.input 07:52:42.158956 Identifying ourselves as friends 07:52:42.159026 Response sent (56 bytes) and written to log/24/server.response 07:52:42.159038 special request received, no persistency 07:52:42.159049 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 44318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind2065 ==171731== ==171731== Process terminating with default action of signal 4 (SIGILL) ==171731== Illegal opcode at address 0x4013DC0 ==171731== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171731== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171731== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171731== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2065 test 2064...[HTTP with RFC7616 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/7/valgrind2064 ../src/curl -q --output log/7/curl2064.out --include --trace-ascii log/7/trace2064 --trace-time http://127.0.0.1:39661/2064 -u testuser:test2pass --digest > log/7/stdout2064 2> log/7/stderr2064 2064: 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/ dir 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/7/valgrind2064 ../src/curl -q --output log/7/curl2064.out --include --trace-ascii log/7/trace2064 --trace-time http://127.0.0.1:39661/2064 -u testuser:test2pass --digest > log/7/stdout2064 2> log/7/stderr2064 === End of file commands.log === Start of file http_server.log 07:52:43.146904 ====> Client connect 07:52:43.146940 accept_connection 3 returned 4 07:52:43.146957 accept_connection 3 returned 0 07:52:43.146972 Read 93 bytes 07:52:43.146983 Process 93 bytes request 07:52:43.146997 Got request: GET /verifiedserver HTTP/1.1 07:52:43.147007 Are-we-friendly question received 07:52:43.147033 Wrote request (93 bytes) input to log/7/server.input 07:52:43.147051 Identifying ourselves as friends 07:52:43.147106 Response sent (56 bytes) and written to log/7/server.response 07:52:43.147118 special request received, no persistency 07:52:43.147129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 35872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file valgrind2064 ==171699== ==171699== Process terminating with default action of signal 4 (SIGILL) ==171699== Illegal opcode at address 0x4013DC0 ==171699== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171699== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171699== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171699== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2064 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 42585 --port2 36205 --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:44351 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 2066...[HTTP with RFC7616 Digest, bad password, SHA-256 and userhaCMD (33792): ../libtool --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/valgrind2067 ../src/curl -q --output log/9/curl2067.out --include --trace-ascii log/9/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42717/2067 > log/9/stdout2067 2> log/9/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/1/valgrind2068 ../src/curl -q --output log/1/curl2068.out --include --trace-ascii log/1/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35709/2068 > log/1/stdout2068 2> log/1/stderr2068 sh] ../libtool --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/valgrind2066 ../src/curl -q --output log/3/curl2066.out --include --trace-ascii log/3/trace2066 --trace-time http://127.0.0.1:42701/2066 -u testuser:test2pass --digest > log/3/stdout2066 2> log/3/stderr2066 2066: 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/ dir 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/3/valgrind2066 ../src/curl -q --output log/3/curl2066.out --include --trace-ascii log/3/trace2066 --trace-time http://127.0.0.1:42701/2066 -u testuser:test2pass --digest > log/3/stdout2066 2> log/3/stderr2066 === End of file commands.log === Start of file http_server.log 07:52:42.228869 ====> Client connect 07:52:42.228913 accept_connection 3 returned 4 07:52:42.228932 accept_connection 3 returned 0 07:52:42.228949 Read 93 bytes 07:52:42.228960 Process 93 bytes request 07:52:42.228976 Got request: GET /verifiedserver HTTP/1.1 07:52:42.228986 Are-we-friendly question received 07:52:42.229016 Wrote request (93 bytes) input to log/3/server.input 07:52:42.229036 Identifying ourselves as friends 07:52:42.229100 Response sent (57 bytes) and written to log/3/server.response 07:52:42.229114 special request received, no persistency 07:52:42.229124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 33940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === End of file server.response === Start of file valgrind2066 ==171918== ==171918== Process terminating with default action of signal 4 (SIGILL) ==171918== Illegal opcode at address 0x4013DC0 ==171918== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171918== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171918== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171918== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2066 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/9/valgrind2067 ../src/curl -q --output log/9/curl2067.out --include --trace-ascii log/9/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42717/2067 > log/9/stdout2067 2> log/9/stderr2067 2067: 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/ dir 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/9/valgrind2067 ../src/curl -q --output log/9/curl2067.out --include --trace-ascii log/9/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42717/2067 > log/9/stdout2067 2> log/9/stderr2067 === End of file commands.log === Start of file http_server.log 07:52:42.252375 ====> Client connect 07:52:42.252412 accept_connection 3 returned 4 07:52:42.252430 accept_connection 3 returned 0 07:52:42.252447 Read 93 bytes 07:52:42.252458 Process 93 bytes request 07:52:42.252472 Got request: GET /verifiedserver HTTP/1.1 07:52:42.252482 Are-we-friendly question received 07:52:42.252519 Wrote request (93 bytes) input to log/9/server.input 07:52:42.252537 Identifying ourselves as friends 07:52:42.252596 Response sent (56 bytes) and written to log/9/server.response 07:52:42.252608 special request received, no persistency 07:52:42.252618 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 45658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === 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: 74613 === End of file server.response === Start of file valgrind2067 ==171937== ==171937== Process terminating with default action of signal 4 (SIGILL) ==171937== Illegal opcode at address 0x4013DC0 ==171937== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==171937== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171937== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==171937== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2067 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/1/valgrind2068 ../src/curl -q --output log/1/curl2068.out --include --trace-ascii log/1/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35709/2068 > log/1/stdout2068 2> log/1/stderr2068 2068: 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/ dir 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/1/valgrind2068 ../src/curl -q --output log/1/curl2068.out --include --trace-ascii log/1/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:35709/2068 > log/1/stdout2068 2> log/1/stderr2068 === End of file commands.log === Start of file http_server.log 07:52:42.406182 ====> Client connect 07:52:42.406219 accept_connection 3 returned 4 07:52:42.406237 accept_connection 3 returned 0 07:52:42.406253 Read 93 bytes 07:52:42.406264 Process 93 bytes request 07:52:42.406279 Got request: GET /verifiedserver HTTP/1.1 07:52:42.406290 Are-we-friendly question received 07:52:42.406316 Wrote request (93 bytes) input to log/1/server.input 07:52:42.406334 Identifying ourselves as friends 07:52:42.406391 Response sent (56 bytes) and written to log/1/server.response 07:52:42.406402 special request received, no persistency 07:52:42.406413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact ===CMD (33792): ../libtool --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/valgrind2069 ../src/curl -q --output log/18/curl2069.out --include --trace-ascii log/18/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46763/2069 > log/18/stdout2069 2> log/18/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/23/valgrind2072 ../src/curl -q --output log/23/curl2072.out --trace-ascii log/23/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/23/test2072.txt > log/23/stdout2072 2> log/23/stderr2072 End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind2068 ==172052== ==172052== Process terminating with default action of signal 4 (SIGILL) ==172052== Illegal opcode at address 0x4013DC0 ==172052== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172052== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172052== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172052== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2068 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/18/valgrind2069 ../src/curl -q --output log/18/curl2069.out --include --trace-ascii log/18/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46763/2069 > log/18/stdout2069 2> log/18/stderr2069 2069: 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/ dir 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/18/valgrind2069 ../src/curl -q --output log/18/curl2069.out --include --trace-ascii log/18/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46763/2069 > log/18/stdout2069 2> log/18/stderr2069 === End of file commands.log === Start of file http_server.log 07:52:43.697939 ====> Client connect 07:52:43.697978 accept_connection 3 returned 4 07:52:43.697998 accept_connection 3 returned 0 07:52:43.698269 Read 93 bytes 07:52:43.698289 Process 93 bytes request 07:52:43.698306 Got request: GET /verifiedserver HTTP/1.1 07:52:43.698317 Are-we-friendly question received 07:52:43.698350 Wrote request (93 bytes) input to log/18/server.input 07:52:43.698371 Identifying ourselves as friends 07:52:43.698432 Response sent (56 bytes) and written to log/18/server.response 07:52:43.698446 special request received, no persistency 07:52:43.698457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 37500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 17 WE ROOLZ: 74399 === End of file server.response === Start of file valgrind2069 ==172143== ==172143== Process terminating with default action of signal 4 (SIGILL) ==172143== Illegal opcode at address 0x4013DC0 ==172143== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172143== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172143== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172143== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2069 CMD (33792): ../libtool --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/valgrind2071 ../src/curl -q --output log/2/curl2071.out --trace-ascii log/2/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/2/test2070.txt > log/2/stdout2071 2> log/2/stderr2071 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/23/valgrind2072 ../src/curl -q --output log/23/curl2072.out --trace-ascii log/23/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/23/test2072.txt > log/23/stdout2072 2> log/23/stderr2072 2072: data FAILED: --- log/23/check-expected 2025-11-07 07:52:44.027374364 +0000 +++ log/23/check-generated 2025-11-07 07:52:44.027374364 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/23/ dir 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/23/valgrind2072 ../src/curl -q --output log/23/curl2072.out --trace-ascii log/23/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/23/test2072.txt > log/23/stdout2072 2> log/23/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 ==172213== ==172213== Process terminating with default action of signal 4 (SIGILL) ==172213== Illegal opcode at address 0x4013DC0 ==172213== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2072 CMD (33792): ../libtool --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/valgrind2075 ../src/curl -q --output log/5/curl2075.out --include --trace-ascii log/5/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/5/stdout2075 2> log/5/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/valgrind2073 ../src/curl -q --output log/19/curl2073.out --include --trace-ascii log/19/trace2073 --trace-time http://127.0.0.1:34835/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:34835/2073 -F 'name=b;filename=b.jpg' > log/19/stdout2073 2> log/19/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/14/valgrind2074 ../src/curl -q --output log/14/curl2074.out --include --trace-ascii log/14/trace2074 --trace-time http://127.0.0.1:34115/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout2074 2> log/14/stderr2074 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/2/valgrind2071 ../src/curl -q --output log/2/curl2071.out --trace-ascii log/2/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/2/test2070.txt > log/2/stdout2071 2> log/2/stderr2071 2071: data FAILED: --- log/2/check-expected 2025-11-07 07:52:44.124041032 +0000 +++ log/2/check-generated 2025-11-07 07:52:44.124041032 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/2/ dir 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/2/valgrind2071 ../src/curl -q --output log/2/curl2071.out --trace-ascii log/2/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/2/test2070.txt > log/2/stdout2071 2> log/2/stderr2071 === End of file commands.log === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==172193== ==172193== Process terminating with default action of signal 4 (SIGILL) ==172193== Illegal opcode at address 0x4013DC0 ==172193== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172193== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172193== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172193== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2071 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/5/valgrind2075 ../src/curl -q --output log/5/curl2075.out --include --trace-ascii log/5/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/5/stdout2075 2> log/5/stderr2075 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/5/ dir 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/5/valgrind2075 ../src/curl -q --output log/5/curl2075.out --include --trace-ascii log/5/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/5/stdout2075 2> log/5/stderr2075 === End of file commands.log === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==172343== ==172343== Process terminating with default action of signal 4 (SIGILL) ==172343== Illegal opcode at address 0x4013DC0 ==172343== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172343== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172343== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172343== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2075 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/19/valgrind2073 ../src/curl -q --output log/19/curl2073.out --include --trace-ascii log/19/trace2073 --trace-time http://127.0.0.1:34835/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:34835/2073 -F 'name=b;filename=b.jpg' > log/19/stdout2073 2> log/19/stderr2073 2073: 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/ dir 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/19/valgrind2073 ../src/curl -q --output log/19/curl2073.out --include --trace-ascii log/19/trace2073 --trace-time http://127.0.0.1:34835/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:34835/2073 -F 'name=b;filename=b.jpg' > log/19/stdout2073 2> log/19/stderr2073 === End of file commands.log === Start of file http_server.log 07:52:42.947539 ====> Client connect 07:52:42.947574 accept_connection 3 returned 4 07:52:42.947591 accept_connection 3 returned 0 07:52:42.947605 Read 93 bytes 07:52:42.947616 Process 93 bytes request 07:52:42.947629 Got request: GET /verifiedserver HTTP/1.1 07:52:42.947638 Are-we-friendly question received 07:52:42.947663 Wrote request (93 bytes) input to log/19/server.input 07:52:42.947679 Identifying ourselves as friends 07:52:42.947733 Response sent (56 bytes) and written to log/19/server.response 07:52:42.947743 special request received, no persistency 07:52:42.947752 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34835... * Established connection to 127.0.0.1 (127.0.0.1 port 34835) from 127.0.0.1 port 50382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34835 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34835 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74398 === 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: 74398 === End of file server.response === Start of file valgrind2073 ==172382== ==172382== Process terminating with default action of signal 4 (SIGILL) ==172382== Illegal opcode at address 0x4013DC0 ==172382== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172382== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172382== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172382== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2073 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/14/valgrind2074 ../src/curl -q --output log/14/curl2074.out --include --trace-ascii log/14/trace2074 --trace-time http://127.0.0.1:34115/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout2074 2> log/14/stderr2074 2074: 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/ dir 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/14/valgrind2074 ../src/curl -q --output log/14/curl2074.out --include --trace-ascii log/14/trace2074 --trace-time http://127.0.0.1:34115/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout2074 2> log/14/stderr2074 === End of file commands.log === Start of file http_server.log 07:52:42.941325 ====> Client connect 07:52:42.941356 accept_connection 3 returned 4 07:52:42.941372 accept_connection 3 returned 0 07:52:42.941387 Read 93 bytes 07:52:42.941398 Process 93 bytes request 07:52:42.941412 Got request: GET /verifiedserver HTTP/1.1 07:52:42.941422 Are-we-friendly question received 07:52:42.941446 Wrote request (93 bytes) input to log/14/server.input 07:52:42.941463 Identifying ourselves as friends 07:52:42.941513 Response sent (56 bytes) and written to log/14/server.response 07:52:42.941523 special request received, no persistency 07:52:42.941533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34115... * Established connection to 127.0.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/17/valgrind2076 ../src/curl -q --output log/17/curl2076.out --include --trace-ascii log/17/trace2076 --trace-time "http://127.0.0.1:42601/2076?query" -u testuser:testpass --digest > log/17/stdout2076 2> log/17/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/10/valgrind2055 ../src/curl -q --output log/10/curl2055.out --include --trace-ascii log/10/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34041 -x 127.0.0.1:44583 --preproxy socks5://127.0.0.1:44391 > log/10/stdout2055 2> log/10/stderr2055 1 (127.0.0.1 port 34115) from 127.0.0.1 port 48046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34115 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34115 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74404 === 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: 74404 === End of file server.response === Start of file valgrind2074 ==172365== ==172365== Process terminating with default action of signal 4 (SIGILL) ==172365== Illegal opcode at address 0x4013DC0 ==172365== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172365== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172365== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172365== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2074 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/17/valgrind2076 ../src/curl -q --output log/17/curl2076.out --include --trace-ascii log/17/trace2076 --trace-time "http://127.0.0.1:42601/2076?query" -u testuser:testpass --digest > log/17/stdout2076 2> log/17/stderr2076 2076: 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/ dir 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/17/valgrind2076 ../src/curl -q --output log/17/curl2076.out --include --trace-ascii log/17/trace2076 --trace-time "http://127.0.0.1:42601/2076?query" -u testuser:testpass --digest > log/17/stdout2076 2> log/17/stderr2076 === End of file commands.log === Start of file http_server.log 07:52:43.974366 ====> Client connect 07:52:43.974405 accept_connection 3 returned 4 07:52:43.974423 accept_connection 3 returned 0 07:52:43.974440 Read 93 bytes 07:52:43.974452 Process 93 bytes request 07:52:43.974468 Got request: GET /verifiedserver HTTP/1.1 07:52:43.974479 Are-we-friendly question received 07:52:43.974506 Wrote request (93 bytes) input to log/17/server.input 07:52:43.974525 Identifying ourselves as friends 07:52:43.974672 Response sent (56 bytes) and written to log/17/server.response 07:52:43.974685 special request received, no persistency 07:52:43.974695 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42601... * Established connection to 127.0.0.1 (127.0.0.1 port 42601) from 127.0.0.1 port 51896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42601 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42601 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74400 === 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: 74400 === End of file server.response === Start of file valgrind2076 ==172444== ==172444== Process terminating with default action of signal 4 (SIGILL) ==172444== Illegal opcode at address 0x4013DC0 ==172444== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172444== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172444== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172444== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2076 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 171392 * pid socks => 171392 171392 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/10/valgrind2055 ../src/curl -q --output log/10/curl2055.out --include --trace-ascii log/10/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34041 -x 127.0.0.1:44583 --preproxy socks5://127.0.0.1:44391 > log/10/stdout2055 2> log/10/stderr2055 2055: 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/ dir 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/10/valgrind2055 ../src/curl -q --output log/10/curl2055.out --include --trace-ascii log/10/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:34041 -x 127.0.0.1:44583 --preproxy socks5://127.0.0.1:44391 > log/10/stdout2055 2> log/10/stderr2055 === End of file commands.log === Start of file http2_server.log 07:52:42.007280 ====> Client connect 07:52:42.007314 accept_connection 3 returned 4 07:52:42.007332 accept_connection 3 returned 0 07:52:42.007347 Read 93 bytes 07:52:42.007364 Process 93 bytes request 07:52:42.007376 Got request: GET /verifiedserver HTTP/1.1 07:52:42.007387 Are-we-friendly question received 07:52:42.007415 Wrote request (93 bytes) input to log/10/proxy.input 07:52:42.007439 Identifying ourselves as friends 07:52:42.007504 Response sent (57 bytes) and written to log/10/proxy.response 07:52:42.007520 special request received, no persistency 07:52:42.007530 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44583... * Established connection to 127.0.0.1 (127.0.0.1 port 44583) from 127.0.0.1 port 40198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44583 > User-Agent: curl/8.17.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:44583 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 147482 === End of file http2_verify.out === Start of file http_server.log 07:52:41.984307 ====> Client connect 07:52:41.984344 accept_connection 3 returned 4 07:52:41.984362 accept_connection 3 returned 0 07:52:41.984378 Read 93 bytes 07:52:41.984390 Process 93 bytes request 07:52:41.984405 Got request: GET /verifiedserver HTTP/1.1 07:52:41.984416 Are-we-friendly question received 07:52:41.984443 Wrote request (93 bytes) input to log/10/server.input 07:52:41.984461 Identifying ourselves as friends 07:52:41.984519 Response sent (56 bytes) and written to log/10/server.response 07:52:41.984530 special request received, no persistency 07:52:41.984540 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34041... * Established connection to 127.0.0.1 (127.0.0.1 port 34041) from 127.0.0.1 port 60458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34041 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34041 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74555 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147482 === End of file proxy.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/6/valgrind2080 ../src/curl -q --output log/6/curl2080.out --include --trace-ascii log/6/trace2080 --trace-time -K log/6/config2080 file://de\>v/null > log/6/stdout2080 2> log/6/stderr2080 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: 74555 === End of file server.response === Start of file socks_server.log 07:52:42.012270 Running IPv4 version 07:52:42.012332 Listening on port 44391 07:52:42.012369 Wrote pid 171392 to log/10/server/socks_server.pid 07:52:42.012399 Wrote port 44391 to log/10/server/socks_server.port === End of file socks_server.log === Start of file valgrind2055 ==172520== ==172520== Process terminating with default action of signal 4 (SIGILL) ==172520== Illegal opcode at address 0x4013DC0 ==172520== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172520== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172520== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172520== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2055 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/6/valgrind2080 ../src/curl -q --output log/6/curl2080.out --include --trace-ascii log/6/trace2080 --trace-time -K log/6/config2080 file://de\>v/null > log/6/stdout2080 2> log/6/stderr2080 curl returned 132, when expecting 2 2080: exit FAILED == Contents of files in the log/6/ dir 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/6/valgrind2080 ../src/curl -q --output log/6/curl2080.out --include --trace-ascii log/6/trace2080 --trace-time -K log/6/config2080 file://de\>v/null > log/6/stdout2080 2> log/6/stderr2080 === End of file commands.log === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCMD (33792): ../libtool --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/valgrind2077 ../src/curl -q --output log/21/curl2077.out --include --trace-ascii log/21/trace2077 --trace-time http://127.0.0.1:45761/2077 --fail --negotiate > log/21/stdout2077 2> log/21/stderr2077 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==172597== ==172597== Process terminating with default action of signal 4 (SIGILL) ==172597== Illegal opcode at address 0x4013DC0 ==172597== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172597== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172597== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172597== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2080 CMD (33792): ../libtool --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/valgrind2078 ../src/curl -q --output log/20/curl2078.out --include --trace-ascii log/20/trace2078 --trace-time http://127.0.0.1:40357/2078 --negotiate --data name=value > log/20/stdout2078 2> log/20/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/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:37965/2082 > log/13/stdout2082 2> log/13/stderr2082 CMD (33792): ../libtool --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/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:43789/2084#err > log/15/stdout2084 2> log/15/stderr2084 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/21/valgrind2077 ../src/curl -q --output log/21/curl2077.out --include --trace-ascii log/21/trace2077 --trace-time http://127.0.0.1:45761/2077 --fail --negotiate > log/21/stdout2077 2> log/21/stderr2077 2077: data FAILED: --- log/21/check-expected 2025-11-07 07:52:44.280707699 +0000 +++ log/21/check-generated 2025-11-07 07:52:44.280707699 +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/21/ dir 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/21/valgrind2077 ../src/curl -q --output log/21/curl2077.out --include --trace-ascii log/21/trace2077 --trace-time http://127.0.0.1:45761/2077 --fail --negotiate > log/21/stdout2077 2> log/21/stderr2077 === End of file commands.log === Start of file http_server.log 07:52:43.080231 ====> Client connect 07:52:43.080261 accept_connection 3 returned 4 07:52:43.080278 accept_connection 3 returned 0 07:52:43.080292 Read 93 bytes 07:52:43.080302 Process 93 bytes request 07:52:43.080314 Got request: GET /verifiedserver HTTP/1.1 07:52:43.086120 Are-we-friendly question received 07:52:43.086154 Wrote request (93 bytes) input to log/21/server.input 07:52:43.086173 Identifying ourselves as friends 07:52:43.086236 Response sent (56 bytes) and written to log/21/server.response 07:52:43.086247 special request received, no persistency 07:52:43.086256 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 39970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 17 WE ROOLZ: 74396 === End of file server.response === Start of file valgrind2077 ==172655== ==172655== Process terminating with default action of signal 4 (SIGILL) ==172655== Illegal opcode at address 0x4013DC0 ==172655== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172655== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172655== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172655== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2077 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/20/valgrind2078 ../src/curl -q --output log/20/curl2078.out --include --trace-ascii log/20/trace2078 --trace-time http://127.0.0.1:40357/2078 --negotiate --data name=value > log/20/stdout2078 2> log/20/stderr2078 2078: 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/ dir 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/20/valgrind2078 ../src/curl -q --output log/20/curl2078.out --include --trace-ascii log/20/trace2078 --trace-time http://127.0.0.1:40357/2078 --negotiate --data name=value > log/20/stdout2078 2> log/20/stderr2078 === End of file commands.log === Start of file http_server.log 07:52:43.078836 ====> Client connect 07:52:43.078870 accept_connection 3 returned 4 07:52:43.078890 accept_connection 3 returned 0 07:52:43.078905 Read 93 bytes 07:52:43.078916 Process 93 bytes request 07:52:43.078930 Got request: GET /verifiedserver HTTP/1.1 07:52:43.078941 Are-we-friendly question received 07:52:43.078966 Wrote request (93 bytes) input to log/20/server.input 07:52:43.078984 Identifying ourselves as friends 07:52:43.079038 Response sent (56 bytes) and written to log/20/server.response 07:52:43.079049 special request received, no persistency 07:52:43.079059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 34280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file valgrind2078 ==172636== ==172636== Process terminating with default action of signal 4 (SIGILL) ==172636== Illegal opcode at address 0x4013DC0 ==172636== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172636== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172636== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172636== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2078 CMD (33792): ../libtool --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/valgrind2081 ../src/curl -q --include --trace-ascii log/12/trace2081 --trace-time http://user:pass@127.0.0.1:38023/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/12/stdout2081 2> log/12/stderr2081 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:37965/2082 > log/13/stdout2082 2> log/13/stderr2082 2082: stdout FAILED: --- log/13/check-expected 2025-11-07 07:52:44.390707701 +0000 +++ log/13/check-generated 2025-11-07 07:52:44.390707701 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 37965[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/13/ dir after test 2082 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 37965[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:37965/2082 > log/13/stdout2082 2> log/13/stderr2082 === End of file commands.log === Start of file http_server.log 07:52:43.178354 ====> Client connect 07:52:43.178654 accept_connection 3 returned 4 07:52:43.178677 accept_connection 3 returned 0 07:52:43.178926 Read 93 bytes 07:52:43.179167 Process 93 bytes request 07:52:43.179195 Got request: GET /verifiedserver HTTP/1.1 07:52:43.179205 Are-we-friendly question received 07:52:43.179235 Wrote request (93 bytes) input to log/13/server.input 07:52:43.179252 Identifying ourselves as friends 07:52:43.179310 Response sent (57 bytes) and written to log/13/server.response 07:52:43.179321 special request received, no persistency 07:52:43.179330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 58692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file stderr2082 URL: 127.0.0.1:37965/2082 === End of file stderr2082 === Start of file valgrind2082 ==172846== ==172846== Process terminating with default action of signal 4 (SIGILL) ==172846== Illegal opcode at address 0x51D5F1F ==172846== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==172846== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==172846== by 0x51D5F1F: Curl_open (url.c:525) ==172846== by 0x514F6EF: curl_easy_init (easy.c:371) ==172846== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172846== by 0x400347F: main (first.c:280) ==172846== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==172846== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==172846== by 0x51D5EBD: Curl_open (url.c:504) ==172846== by 0x514F6EF: curl_easy_init (easy.c:371) ==172846== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172846== by 0x400347F: main (first.c:280) ==172846== === End of file valgrind2082 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/12/valgrind2081 ../src/curl -q --include --trace-ascii log/12/trace2081 --trace-time http://user:pass@127.0.0.1:38023/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/12/stdout2081 2> log/12/stderr2081 2081: stdout FAILED: --- log/12/check-expected 2025-11-07 07:52:44.397374368 +0000 +++ log/12/check-generated 2025-11-07 07:52:44.397374368 +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:38023/we/want/our/2081[LF] == Contents of files in the log/12/ dir 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:38023/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/12/valgrind2081 ../src/curl -q --include --trace-ascii log/12/trace2081 --trace-time http://user:pass@127.0.0.1:38023/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/12/stdout2081 2> log/12/stderr2081 === End of file commands.log === Start of file http_server.log 07:52:43.193711 ====> Client connect 07:52:43.193745 accept_connection 3 returned 4 07:52:43.193762 accept_connection 3 returned 0 07:52:43.193778 Read 93 bytes 07:52:43.193789 Process 93 bytes request 07:52:43.193805 Got request: GET /verifiedserver HTTP/1.1 07:52:43.193816 Are-we-friendly question received 07:52:43.193844 Wrote request (93 bytes) input to log/12/server.input 07:52:43.193862 Identifying ourselves as friends 07:52:43.193919 Response sent (56 bytes) and written to log/12/server.response 07:52:43.193930 special request received, no persistency 07:52:43.193940 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38023... * Established connection to 127.0.0.1 (127.0.0.1 port 38023) from 127.0.0.1 port 37218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38023 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38023 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76290 === 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: 76290 === End of file server.response === Start of file valgrind2081 ==172856== ==172856== Process terminating with default action of signal 4 (SIGILL) ==172856== Illegal opcode at address 0x4013DC0 ==172856== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==172856== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172856== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==172856== by 0x40037A4: main (tool_main.c:199) === 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/8/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:36233/2085#redir > log/8/stdout2085 2> log/8/stderr2085 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/15/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:43789/2084#err > log/15/stdout2084 2> log/15/stderr2084 2084: stdout FAILED: --- log/15/check-expected 2025-11-07 07:52:44.404041035 +0000 +++ log/15/check-generated 2025-11-07 07:52:44.404041035 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 43789[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/15/ dir after test 2084 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 43789[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/15/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:43789/2084#err > log/15/stdout2084 2> log/15/stderr2084 === End of file commands.log === Start of file http_server.log 07:52:43.215878 ====> Client connect 07:52:43.215915 accept_connection 3 returned 4 07:52:43.215934 accept_connection 3 returned 0 07:52:43.216089 Read 93 bytes 07:52:43.216106 Process 93 bytes request 07:52:43.216121 Got request: GET /verifiedserver HTTP/1.1 07:52:43.216132 Are-we-friendly question received 07:52:43.216162 Wrote request (93 bytes) input to log/15/server.input 07:52:43.216180 Identifying ourselves as friends 07:52:43.216235 Response sent (56 bytes) and written to log/15/server.response 07:52:43.216247 special request received, no persistency 07:52:43.216258 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43789... * Established connection to 127.0.0.1 (127.0.0.1 port 43789) from 127.0.0.1 port 45646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43789 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43789 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74402 === 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: 17 WE ROOLZ: 74402 === End of file server.response === Start of file stderr2084 URL: 127.0.0.1:43789/2084#err === End of file stderr2084 === Start of file valgrind2084 ==172914== ==172914== Process terminating with default action of signal 4 (SIGILL) ==172914== Illegal opcode at address 0x51D5F1F ==172914== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==172914== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==172914== by 0x51D5F1F: Curl_open (url.c:525) ==172914== by 0x514F6EF: curl_easy_init (easy.c:371) ==172914== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172914== by 0x400347F: main (first.c:280) ==172914== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==172914== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==172914== by 0x51D5EBD: Curl_open (url.c:504) ==172914== by 0x514F6EF: curl_easy_init (easy.c:371) ==172914== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172914== by 0x400347F: main (first.c:280) ==172914== === End of file valgrind2084 CMD (33792): ../libtool --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/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:38231/test-2083/ > log/22/stdout2083 2> log/22/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/8/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:36233/2085#redir > log/8/stdout2085 2> log/8/stderr2085 2085: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:44.434041035 +0000 +++ log/8/check-generated 2025-11-07 07:52:44.434041035 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 36233[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 36233[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/8/ dir after test 2085 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 36233[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 36233[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/8/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:36233/2085#redir > log/8/stdout2085 2> log/8/stderr2085 === End of file commands.log === Start of file http_server.log 07:52:43.278562 ====> Client connect 07:52:43.278595 accept_connection 3 returned 4 07:52:43.278612 accept_connection 3 returned 0 07:52:43.278627 Read 93 bytes 07:52:43.278638 Process 93 bytes request 07:52:43.278652 Got request: GET /verifiedserver HTTP/1.1 07:52:43.278662 Are-we-friendly question received 07:52:43.278687 Wrote request (93 bytes) input to log/8/server.input 07:52:43.278704 Identifying ourselves as friends 07:52:43.278765 Response sent (57 bytes) and written to log/8/server.response 07:52:43.278776 special request received, no persistency 07:52:43.278786 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 47710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === 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: 18 WE ROOLZ: 159283 === End of file server.response === Start of file stderr2085 URL: 127.0.0.1:36233/2085#redir === End of file stderr2085 === Start of file valgrind2085 ==173009== ==173009== Process terminating with default action of signal 4 (SIGILL) ==173009== Illegal opcode at address 0x51D5F1F ==173009== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173009== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173009== by 0x51D5F1F: Curl_open (url.c:525) ==173009== by 0x514F6EF: curl_easy_init (easy.c:371) ==173009== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173009== by 0x400347F: main (first.c:280) ==173009== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173009== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173009== by 0x51D5EBD: Curl_open (url.c:504) ==173009== by 0x514F6EF: curl_easy_init (easy.c:371) ==173009== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173009== by 0x400347F: main (first.c:280) ==173009== === End of file valgrind2085 CMD (33792): ../libtool --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/valgrind2204 ../src/curl -q --output log/3/curl2204.out --include --trace log/3/trace2204 --trace-time mqtt://127.0.0.1:45377/2204 -u testuser:testpasswd > log/3/stdout2204 2> log/3/stderr2204 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/22/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:38231/test-2083/ > log/22/stdout2083 2> log/22/stderr2083 2083: stdout FAILED: --- log/22/check-expected 2025-11-07 07:52:44.437374368 +0000 +++ log/22/check-generated 2025-11-07 07:52:44.437374368 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 38231[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/22/ dir after test 2083 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 38231[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/22/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:38231/test-2083/ > log/22/stdout2083 2> log/22/stderr2083 === End of file commands.log === Start of file ftp_server.log 07:52:43.366164 ====> Client connect 07:52:43.366317 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:43.366618 < "USER anonymous" 07:52:43.366658 > "331 We are happy you popped in![CR][LF]" 07:52:43.366852 < "PASS ftp@example.com" 07:52:43.366884 > "230 Welcome you silly person[CR][LF]" 07:52:43.367062 < "PWD" 07:52:43.367096 > "257 "/" is current directory[CR][LF]" 07:52:43.367272 < "EPSV" 07:52:43.367299 ====> Passive DATA channel requested by client 07:52:43.367315 DATA sockfilt for passive data channel starting... 07:52:43.369351 DATA sockfilt for passive data channel started (pid 172838) 07:52:43.369465 DATA sockfilt for passive data channel listens on port 42847 07:52:43.369508 > "229 Entering Passive Mode (|||42847|)[CR][LF]" 07:52:43.369525 Client has been notified that DATA conn will be accepted on port 42847 07:52:43.369712 Client connects to port 42847 07:52:43.369736 ====> Client established passive DATA connection on port 42847 07:52:43.369792 < "TYPE I" 07:52:43.369815 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:43.369966 < "SIZE verifiedserver" 07:52:43.370004 > "213 17[CR][LF]" 07:52:43.370330 < "RETR verifiedserver" 07:52:43.370368 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:43.370449 =====> Closing passive DATA connection... 07:52:43.370467 Server disconnects passive DATA connection 07:52:43.370708 Server disconnected passive DATA connection 07:52:43.370738 DATA sockfilt for passive data channel quits (pid 172838) 07:52:43.370983 DATA sockfilt for passive data channel quit (pid 172838) 07:52:43.371008 =====> Closed passive DATA connection 07:52:43.371035 > "226 File transfer complete[CR][LF]" 07:52:43.412528 < "QUIT" 07:52:43.412585 > "221 bye bye baby[CR][LF]" 07:52:43.414019 MAIN sockfilt said DISC 07:52:43.414063 ====> Client disconnected 07:52:43.414138 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:43.194001 ====> Client connect 07:52:43.194275 Received DATA (on stdin) 07:52:43.194294 > 160 bytes data, server => client 07:52:43.194309 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:43.194321 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:43.194333 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:43.194406 < 16 bytes data, client => server 07:52:43.194420 'USER anonymous\r\n' 07:52:43.194602 Received DATA (on stdin) 07:52:43.194617 > 33 bytes data, server => client 07:52:43.194630 '331 We are happy you popped in!\r\n' 07:52:43.194686 < 22 bytes data, client => server 07:52:43.194700 'PASS ftp@example.com\r\n' 07:52:43.194826 Received DATA (on stdin) 07:52:43.194841 > 30 bytes data, server => client 07:52:43.194853 '230 Welcome you silly person\r\n' 07:52:43.194907 < 5 bytes data, client => server 07:52:43.194920 'PWD\r\n' 07:52:43.195035 Received DATA (on stdin) 07:52:43.195049 > 30 bytes data, server => client 07:52:43.195061 '257 "/" is current directory\r\n' 07:52:43.195121 < 6 bytes data, client => server 07:52:43.195134 'EPSV\r\n' 07:52:43.197464 Received DATA (on stdin) 07:52:43.197476 > 39 bytes data, server => client 07:52:43.197486 '229 Entering Passive Mode (|||42847|)\r\n' 07:52:43.197578 < 8 bytes data, client => server 07:52:43.197590 'TYPE I\r\n' 07:52:43.197749 Received DATA (on stdin) 07:52:43.197760 > 33 bytes data, server => client 07:52:43.197772 '200 I modify TYPE as you wanted\r\n' 07:52:43.197821 < 21 bytes data, client => server 07:52:43.197833 'SIZE verifiedserver\r\n' 07:52:43.197943 Received DATA (on stdin) 07:52:43.197956 > 8 bytes data, server => client 07:52:43.197967 '213 17\r\n' 07:52:43.198017 < 21 bytes data, client => server 07:52:43.198030 'RETR verifiedserver\r\n' 07:52:43.198409 Received DATA (on stdin) 07:52:43.198424 > 29 bytes data, server => client 07:52:43.198435 '150 Binary junk (17 bytes).\r\n' 07:52:43.198976 Received DATA (on stdin) 07:52:43.198990 > 28 bytes data, server => client 07:52:43.199002 '226 File transfer complete\r\n' 07:52:43.240270 < 6 bytes data, client => server 07:52:43.240296 'QUIT\r\n' 07:52:43.240532 Received DATA (on stdin) 07:52:43.240547 > 18 bytes data, server => client 07:52:43.240560 '221 bye bye baby\r\n' 07:52:43.241466 ====> Client disconnect 07:52:43.242079 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:43.196976 Running IPv4 version 07:52:43.197033 Listening on port 42847 07:52:43.197072 Wrote pid 172838 to log/22/server/ftp_sockdata.pid 07:52:43.197230 Received PING (on stdin) 07:52:43.197315 Received PORT (on stdin) 07:52:43.197608 ====> Client connect 07:52:43.198462 Received DATA (on stdin) 07:52:43.198476 > 17 bytes data, server => client 07:52:43.198488 'WE ROOLZ: 80638\r\n' 07:52:43.198511 Received DISC (on stdin) 07:52:43.198524 ====> Client forcibly disconnected 07:52:43.198687 Received QUIT (on stdin) 07:52:43.198699 quits 07:52:43.198763 ============> 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:38231/test-2083/ === End of file stderr2083 === Start of file valgrind2083 ==172949== ==172949== Process terminating with default action of signal 4 (SIGILL) ==172949== Illegal opcode at address 0x51D5F1F ==172949== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==172949== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==172949== by 0x51D5F1F: Curl_open (url.c:525) ==172949== by 0x514F6EF: curl_easy_init (easy.c:371) ==172949== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172949== by 0x400347F: main (first.c:280) ==172949== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==172949== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==172949== by 0x51D5EBD: Curl_open (url.c:504) ==172949== by 0x514F6EF: curl_easy_init (easy.c:371) ==172949== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172949== by 0x400347F: main (first.c:280) ==172949== === End of file valgrind2083 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/3/valgrind2204 ../src/curl -q --output log/3/curl2204.out --include --trace log/3/trace2204 --trace-time mqtt://127.0.0.1:45377/2204 -u testuser:testpasswd > log/3/stdout2204 2> log/3/stderr2204 2204: 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/ dir after test 2204 === Start of file commandsCMD (33792): ../libtool --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/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:35709/2306 http://127.0.0.1:35709/23060002 > log/1/stdout2306 2> log/1/stderr2306 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/valgrind2602 ./unit/units unit2602 - > log/21/stdout2602 2> log/21/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/6/valgrind2601 ./unit/units unit2601 - > log/6/stdout2601 2> log/6/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/20/valgrind2603 ./unit/units unit2603 - > log/20/stdout2603 2> log/20/stderr2603 CMD (33792): ../libtool --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/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:41029/2308 > log/23/stdout2308 2> log/23/stderr2308 .log ../libtool --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/valgrind2204 ../src/curl -q --output log/3/curl2204.out --include --trace log/3/trace2204 --trace-time mqtt://127.0.0.1:45377/2204 -u testuser:testpasswd > log/3/stdout2204 2> log/3/stderr2204 === End of file commands.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==173117== ==173117== Process terminating with default action of signal 4 (SIGILL) ==173117== Illegal opcode at address 0x4013DC0 ==173117== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173117== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173117== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173117== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2204 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/1/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:35709/2306 http://127.0.0.1:35709/23060002 > log/1/stdout2306 2> log/1/stderr2306 2306: 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/ dir 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/1/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:35709/2306 http://127.0.0.1:35709/23060002 > log/1/stdout2306 2> log/1/stderr2306 === End of file commands.log === Start of file http_server.log 07:52:43.654855 ====> Client connect 07:52:43.654892 accept_connection 3 returned 4 07:52:43.654909 accept_connection 3 returned 0 07:52:43.654925 Read 93 bytes 07:52:43.654936 Process 93 bytes request 07:52:43.654950 Got request: GET /verifiedserver HTTP/1.1 07:52:43.654961 Are-we-friendly question received 07:52:43.654984 Wrote request (93 bytes) input to log/1/server.input 07:52:43.655002 Identifying ourselves as friends 07:52:43.655053 Response sent (56 bytes) and written to log/1/server.response 07:52:43.655064 special request received, no persistency 07:52:43.655075 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file stderr2306 URL: http://127.0.0.1:35709/2306 === End of file stderr2306 === Start of file valgrind2306 ==173202== ==173202== Process terminating with default action of signal 4 (SIGILL) ==173202== Illegal opcode at address 0x51D5F1F ==173202== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173202== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173202== by 0x51D5F1F: Curl_open (url.c:525) ==173202== by 0x514F6EF: curl_easy_init (easy.c:371) ==173202== by 0x4042D88: UnknownInlinedFun (lib2306.c:34) ==173202== by 0x4042D88: test_lib2306.lto_priv.0 (lib2306.c:26) ==173202== by 0x400347F: main (first.c:280) ==173202== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173202== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173202== by 0x51D5EBD: Curl_open (url.c:504) ==173202== by 0x514F6EF: curl_easy_init (easy.c:371) ==173202== by 0x4042D88: UnknownInlinedFun (lib2306.c:34) ==173202== by 0x4042D88: test_lib2306.lto_priv.0 (lib2306.c:26) ==173202== by 0x400347F: main (first.c:280) ==173202== === End of file valgrind2306 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/21/valgrind2602 ./unit/units unit2602 - > log/21/stdout2602 2> log/21/stderr2602 -------e-v- OK (1688 out of 1746, remaining: 00:04, took 0.610s, duration: 02:03) 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/6/valgrind2601 ./unit/units unit2601 - > log/6/stdout2601 2> log/6/stderr2601 units returned 132, when expecting 0 2601: exit FAILED == Contents of files in the log/6/ dir 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/6/valgrind2601 ./unit/units unit2601 - > log/6/stdout2601 2> log/6/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 ==173555== ==173555== Process terminating with default action of signal 4 (SIGILL) ==173555== Illegal opcode at address 0x401E887 ==173555== at 0x401E887: UnknownInlinedFun (string_fortified.h:59) ==173555== by 0x401E887: UnknownInlinedFun (bufq.c:216) ==173555== by 0x401E887: UnknownInlinedFun (bufq.c:231) ==173555== by 0x401E887: test_unit2601.lto_priv.0 (unit2601.c:217) ==173555== by 0x400A12F: main (first.c:280) === End of file valgrind2601 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/20/valgrind2603 ./unit/units unit2603 - > log/20/stdout2603 2> log/20/stderr2603 units returned 132, when expecting 0 2603: exit FAILED == Contents of files in the log/20/ dir 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/20/valgrind2603 ./unit/units unit2603 - > log/20/stdout2603 2> log/20/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 ==173621== ==173621== Process terminating with default action of signal 4 (SIGILL) ==173621== Illegal opcode at address 0x40205B3 ==173621== at 0x40205B3: UnknownInlinedFun (string_fortified.h:59) ==173621== by 0x40205B3: UnknownInlinedFun (http1.c:44) ==173621== by 0x40205B3: parse_success (unit2603.c:70) ==173621== by 0x4020C13: test_unit2603.lto_priv.0 (unit2603.c:179) ==173621== by 0x400A12F: main (first.c:280) === End of file valgrind2603 CMD (33792): ../libtool --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/valgrind2307 ../src/curl -q --output log/18/curl2307.out --include --trace-ascii log/18/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:34455/2307 > log/18/stdout2307 2> log/18/stderr2307 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/23/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:41029/2308 > log/23/stdout2308 2> log/23/stderr2308 2308: stdout FAILED: --- log/23/check-expected 2025-11-07 07:52:45.037374374 +0000 +++ log/23/check-generated 2025-11-07 07:52:45.037374374 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/23/ dir 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/23/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:41029/2308 > log/23/stdout2308 2> log/23/stderr2308 === End of file commands.log === Start of file http_server.log 07:52:43.884851 ====> Client connect 07:52:43.884886 accept_connection 3 returned 4 07:52:43.884903 accept_connection 3 returned 0 07:52:43.884920 Read 93 bytes 07:52:43.884931 Process 93 bytes request 07:52:43.884946 Got request: GET /verifiedserver HTTP/1.1 07:52:43.884957 Are-we-friendly question received 07:52:43.884981 Wrote request (93 bytes) input to log/23/server.input 07:52:43.885000 Identifying ourselves as friends 07:52:43.885087 Response sent (56 bytes) and written to log/23/server.response 07:52:43.885099 special request received, no persistency 07:52:43.885109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 38944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr2308 URL: http://127.0.0.1:41029/2308 === End of file stderr2308 === Start of file valgrind2308 ==173303== ==173303== Process terminating with default action of signal 4 (SIGILL) ==173303== Illegal opcode at address 0x51D5F1F ==173303== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173303== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173303== by 0x51D5F1F: Curl_open (url.c:525) ==173303== by 0x514F6EF: curl_easy_init (easy.c:371) ==173303== by 0x4043AEA: UnknownInlinedFun (lib2308.c:41) ==173303== by 0x4043AEA: test_lib2308.lto_priv.0 (lib2308.c:35) ==173303== by 0x400347F: main (first.c:280) ==173303== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173303== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173303== by 0x51D5EBD: Curl_open (url.c:504) ==173303== by 0x514F6EF: curl_easy_init (easy.c:371) ==173303== by 0x4043AEA: UnknownInlinedFun (lib2308.c:41) ==173303== by 0x4043AEA: test_lib2308.lto_priv.0 (lib2308.c:35) ==173303== by 0x400347F: main (first.c:280) ==173303== === End of file valgrind2308 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/18/valgrind2307 ../src/curl -q --output log/18/curl2307.out --include --trace-ascii log/18/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:34455/2307 > log/18/stdout2307 2> log/18/stderr2307 2307: 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/ dir 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/18/valgrind2307 ../src/curl -q --output log/18/curl2307.out --include --trace-ascii log/18/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:34455/2307 > log/18/stdout2307 2> log/18/stderr2307 === End of file commands.log === Start of file ftp_server.log 07:52:44.033990 ====> Client connect 07:52:44.034160 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.034442 < "USER anonymous" 07:52:44.034479 > "331 We are happy you popped in![CR][LF]" 07:52:44.034665 < "PASS ftp@example.com" 07:52:44.034691 > "230 Welcome you silly person[CR][LF]" 07:52:44.034843 < "PWD" 07:52:44.034873 > "257 "/" is current directory[CR][LF]" 07:52:44.035030 < "EPSV" 07:52:44.035053 ====> Passive DATA channel requested by client 07:52:44.035067 DATA sockfilt for passive data channel starting... 07:52:44.037018 DATA sockfilt for passive data channel started (pid 173283) 07:52:44.037130 DATA sockfilt for passive data channel listens on port 40871 07:52:44.037172 > "229 Entering Passive Mode (|||40871|)[CR][LF]" 07:52:44.037192 Client has been notified that DATA conn will be accepted on port 40871 07:52:44.037423 Client connects to port 40871 07:52:44.037453 ====> Client established passive DATA connection on port 40871 07:52:44.037526 < "TYPE I" 07:52:44.037554 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:44.037717 < "SIZE verifiedserver" 07:52:44.037754 > "213 17[CR][LF]" 07:52:44.038040 < "RETR verifiedserver" 07:52:44.038082 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:44.038173 =====> Closing passive DATA connection... 07:52:44.038190 Server disconnects passive DATA connection 07:52:44.038439 Server disconnected passive DATA connection 07:52:44.038466 DATA sockfilt for passive data channel quits (pid 173283) 07:52:44.038688 DATA sockfilt for passive data channel quit (pid 173283) 07:52:44.038711 =====> Closed passive DATA connection 07:52:44.038738 > "226 File transfer complete[CR][LF]" 07:52:44.081698 < "QUIT" 07:52:44.081757 > "221 bye bye baby[CR][LF]" 07:52:44.081952 MAIN sockfilt said DISC 07:52:44.081988 ====> Client disconnected 07:52:44.082070 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:44.861807 ====> Client connect 07:52:44.862112 Received DATA (on stdin) 07:52:44.862128 > 160 bytes data, server => client 07:52:44.862142 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:44.862154 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:44.862165 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:44.862241 < 16 bytes data, client => server 07:52:44.862255 'USER anonymous\r\n' 07:52:44.862422 Received DATA (on stdin) 07:52:44.862435 > 33 bytes data, server => client 07:52:44.862447 '331 We are happy you popped in!\r\n' 07:52:44.862513 < 22 bytes data, client => server 07:52:44.862526 'PASS ftp@example.com\r\n' 07:52:44.862628 Received DATA (on stdin) 07:52:44.862640 > 30 bytes data, server => client 07:52:44.862652 '230 Welcome you silly person\r\n' 07:52:44.862701 < 5 bytes data, client => server 07:52:44.862713 'PWD\r\n' 07:52:44.862810 Received DATA (on stdin) 07:52:44.862823 > 30 bytes data, server => client 07:52:44.862834 '257 "/" is current directory\r\n' 07:52:44.862890 < 6 bytes data, client => server 07:52:44.862902 'EPSV\r\n' 07:52:44.865135 Received DATA (on stdin) 07:52:44.865150 > 39 bytes data, server => client 07:52:44.865164 '229 Entering Passive Mode (|||40871|)\r\n' 07:52:44.865305 < 8 bytes data, client => server 07:52:44.865318 'TYPE I\r\n' 07:52:44.865494 Received DATA (on stdin) 07:CMD (33792): ../libtool --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/valgrind2604 ./unit/units unit2604 - > log/13/stdout2604 2> log/13/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/2/valgrind2309 ./libtest/libtests lib2309 http://github.com log/2/netrc2309 http://127.0.0.1:43955/ > log/2/stdout2309 2> log/2/stderr2309 CMD (33792): ../libtool --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/valgrind3005 ../src/curl -q --output log/22/curl3005.out --include --trace-ascii log/22/trace3005 --trace-time smtp://127.0.0.1:43255/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/22/stdout3005 2> log/22/stderr3005 52:44.865508 > 33 bytes data, server => client 07:52:44.865520 '200 I modify TYPE as you wanted\r\n' 07:52:44.865571 < 21 bytes data, client => server 07:52:44.865583 'SIZE verifiedserver\r\n' 07:52:44.865694 Received DATA (on stdin) 07:52:44.865706 > 8 bytes data, server => client 07:52:44.865718 '213 17\r\n' 07:52:44.865764 < 21 bytes data, client => server 07:52:44.865777 'RETR verifiedserver\r\n' 07:52:44.866132 Received DATA (on stdin) 07:52:44.866146 > 29 bytes data, server => client 07:52:44.866159 '150 Binary junk (17 bytes).\r\n' 07:52:44.866678 Received DATA (on stdin) 07:52:44.866693 > 28 bytes data, server => client 07:52:44.866705 '226 File transfer complete\r\n' 07:52:44.909425 < 6 bytes data, client => server 07:52:44.909452 'QUIT\r\n' 07:52:44.909700 Received DATA (on stdin) 07:52:44.909722 > 18 bytes data, server => client 07:52:44.909735 '221 bye bye baby\r\n' 07:52:44.909828 ====> Client disconnect 07:52:44.910016 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:44.864764 Running IPv4 version 07:52:44.864833 Listening on port 40871 07:52:44.864873 Wrote pid 173283 to log/18/server/ftp_sockdata.pid 07:52:44.864894 Received PING (on stdin) 07:52:44.864984 Received PORT (on stdin) 07:52:44.865277 ====> Client connect 07:52:44.866187 Received DATA (on stdin) 07:52:44.866201 > 17 bytes data, server => client 07:52:44.866213 'WE ROOLZ: 80643\r\n' 07:52:44.866238 Received DISC (on stdin) 07:52:44.866250 ====> Client forcibly disconnected 07:52:44.866412 Received QUIT (on stdin) 07:52:44.866425 quits 07:52:44.866483 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2307 === End of file server.cmd === Start of file valgrind2307 ==173326== ==173326== Process terminating with default action of signal 4 (SIGILL) ==173326== Illegal opcode at address 0x4013DC0 ==173326== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173326== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173326== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173326== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2307 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/13/valgrind2604 ./unit/units unit2604 - > log/13/stdout2604 2> log/13/stderr2604 units returned 132, when expecting 0 2604: exit FAILED == Contents of files in the log/13/ dir 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/13/valgrind2604 ./unit/units unit2604 - > log/13/stdout2604 2> log/13/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 ==173668== ==173668== Process terminating with default action of signal 4 (SIGILL) ==173668== Illegal opcode at address 0x4020D6A ==173668== at 0x4020D6A: test_unit2604.lto_priv.0 (unit2604.c:53) ==173668== by 0x400A12F: main (first.c:280) === End of file valgrind2604 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/2/valgrind2309 ./libtest/libtests lib2309 http://github.com log/2/netrc2309 http://127.0.0.1:43955/ > log/2/stdout2309 2> log/2/stderr2309 2309: 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/ dir 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/2/valgrind2309 ./libtest/libtests lib2309 http://github.com log/2/netrc2309 http://127.0.0.1:43955/ > log/2/stdout2309 2> log/2/stderr2309 === End of file commands.log === Start of file http_server.log 07:52:44.980253 ====> Client connect 07:52:44.980291 accept_connection 3 returned 4 07:52:44.980310 accept_connection 3 returned 0 07:52:44.980326 Read 93 bytes 07:52:44.980338 Process 93 bytes request 07:52:44.980352 Got request: GET /verifiedserver HTTP/1.1 07:52:44.980362 Are-we-friendly question received 07:52:44.980387 Wrote request (93 bytes) input to log/2/server.input 07:52:44.980405 Identifying ourselves as friends 07:52:44.980460 Response sent (56 bytes) and written to log/2/server.response 07:52:44.980471 special request received, no persistency 07:52:44.980482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr2309 URL: http://github.com === End of file stderr2309 === Start of file valgrind2309 ==173449== ==173449== Process terminating with default action of signal 4 (SIGILL) ==173449== Illegal opcode at address 0x51D5F1F ==173449== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173449== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173449== by 0x51D5F1F: Curl_open (url.c:525) ==173449== by 0x514F6EF: curl_easy_init (easy.c:371) ==173449== by 0x4043BCF: UnknownInlinedFun (lib2309.c:42) ==173449== by 0x4043BCF: test_lib2309.lto_priv.0 (lib2309.c:35) ==173449== by 0x400347F: main (first.c:280) ==173449== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173449== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173449== by 0x51D5EBD: Curl_open (url.c:504) ==173449== by 0x514F6EF: curl_easy_init (easy.c:371) ==173449== by 0x4043BCF: UnknownInlinedFun (lib2309.c:42) ==173449== by 0x4043BCF: test_lib2309.lto_priv.0 (lib2309.c:35) ==173449== by 0x400347F: main (first.c:280) ==173449== === End of file valgrind2309 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/22/valgrind3005 ../src/curl -q --output log/22/curl3005.out --include --trace-ascii log/22/trace3005 --trace-time smtp://127.0.0.1:43255/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/22/stdout3005 2> log/22/stderr3005 3005: 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/ dir 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/22/valgrind3005 ../src/curl -q --output log/22/curl3005.out --include --trace-ascii log/22/tracCMD (33792): ../libtool --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/valgrind3002 ../src/curl -q --output log/15/curl3002.out --include --trace-ascii log/15/trace3002 --trace-time smtp://127.0.0.1:39995/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/15/stdout3002 2> log/15/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/7/valgrind2201 ../src/curl -q --output log/7/curl2201.out --include --trace log/7/trace2201 --trace-time mqtt://127.0.0.1:42821/2201 -d something -u testuser:testpasswd > log/7/stdout2201 2> log/7/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/11/valgrind2202 ../src/curl -q --output log/11/curl2202.out --include --trace log/11/trace2202 --trace-time mqtt://127.0.0.1:46683/2202 -d something -u fakeuser:fakepasswd > log/11/stdout2202 2> log/11/stderr2202 e3005 --trace-time smtp://127.0.0.1:43255/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/22/stdout3005 2> log/22/stderr3005 === End of file commands.log === Start of file server.cmd Testnum 3005 === End of file server.cmd === Start of file smtp_server.log 07:52:44.466829 ====> Client connect 07:52:44.466958 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.467253 < "EHLO verifiedserver" 07:52:44.467299 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:44.467587 < "HELP" 07:52:44.467638 > "214 WE ROOLZ: 109920[CR][LF]" 07:52:44.467653 return proof we are we 07:52:44.467947 < "QUIT" 07:52:44.467995 > "221 curl ESMTP server signing off[CR][LF]" 07:52:44.468433 MAIN sockfilt said DISC 07:52:44.468471 ====> Client disconnected 07:52:44.468538 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:44.294663 ====> Client connect 07:52:44.294913 Received DATA (on stdin) 07:52:44.294930 > 160 bytes data, server => client 07:52:44.294942 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:44.294953 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:44.294964 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:44.295040 < 21 bytes data, client => server 07:52:44.295055 'EHLO verifiedserver\r\n' 07:52:44.295241 Received DATA (on stdin) 07:52:44.295255 > 53 bytes data, server => client 07:52:44.295268 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:44.295365 < 6 bytes data, client => server 07:52:44.295390 'HELP\r\n' 07:52:44.295593 Received DATA (on stdin) 07:52:44.295608 > 22 bytes data, server => client 07:52:44.295619 '214 WE ROOLZ: 109920\r\n' 07:52:44.295744 < 6 bytes data, client => server 07:52:44.295761 'QUIT\r\n' 07:52:44.296044 Received DATA (on stdin) 07:52:44.296087 > 35 bytes data, server => client 07:52:44.296100 '221 curl ESMTP server signing off\r\n' 07:52:44.296310 ====> Client disconnect 07:52:44.296478 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 ==173971== ==173971== Process terminating with default action of signal 4 (SIGILL) ==173971== Illegal opcode at address 0x4013DC0 ==173971== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173971== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173971== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173971== by 0x40037A4: main (tool_main.c:199) === 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/15/valgrind3002 ../src/curl -q --output log/15/curl3002.out --include --trace-ascii log/15/trace3002 --trace-time smtp://127.0.0.1:39995/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/15/stdout3002 2> log/15/stderr3002 3002: 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/ dir 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/15/valgrind3002 ../src/curl -q --output log/15/curl3002.out --include --trace-ascii log/15/trace3002 --trace-time smtp://127.0.0.1:39995/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/15/stdout3002 2> log/15/stderr3002 === End of file commands.log === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 07:52:44.427790 ====> Client connect 07:52:44.427956 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.428445 < "EHLO verifiedserver" 07:52:44.428488 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:44.428652 < "HELP" 07:52:44.428682 > "214 WE ROOLZ: 124404[CR][LF]" 07:52:44.428697 return proof we are we 07:52:44.428926 < "QUIT" 07:52:44.428956 > "221 curl ESMTP server signing off[CR][LF]" 07:52:44.429142 MAIN sockfilt said DISC 07:52:44.429183 ====> Client disconnected 07:52:44.429314 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:44.255623 ====> Client connect 07:52:44.255914 Received DATA (on stdin) 07:52:44.255934 > 160 bytes data, server => client 07:52:44.255947 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:44.255959 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:44.255968 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:44.256226 < 21 bytes data, client => server 07:52:44.256242 'EHLO verifiedserver\r\n' 07:52:44.256429 Received DATA (on stdin) 07:52:44.256443 > 53 bytes data, server => client 07:52:44.256455 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:44.256507 < 6 bytes data, client => server 07:52:44.256518 'HELP\r\n' 07:52:44.256635 Received DATA (on stdin) 07:52:44.256648 > 22 bytes data, server => client 07:52:44.256659 '214 WE ROOLZ: 124404\r\n' 07:52:44.256756 < 6 bytes data, client => server 07:52:44.256773 'QUIT\r\n' 07:52:44.256893 Received DATA (on stdin) 07:52:44.256903 > 35 bytes data, server => client 07:52:44.256912 '221 curl ESMTP server signing off\r\n' 07:52:44.257015 ====> Client disconnect 07:52:44.257167 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 ==173737== ==173737== Process terminating with default action of signal 4 (SIGILL) ==173737== Illegal opcode at address 0x4013DC0 ==173737== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173737== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173737== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173737== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3002 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 172976 on PORT 42821 * pid mqtt => 172976 172976 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/7/valgrind2201 ../src/curl -q --output log/7/curl2201.out --include --trace log/7/trace2201 --trace-time mqtt://127.0.0.1:42821/2201 -d something -u testuser:testpasswd > log/7/stdout2201 2> log/7/stderr2201 2201: 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/ dir 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 --CMD (33792): ../libtool --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/valgrind2086 ./libtest/libtests lib2082 [::1]:37579/2086#ipv6 > log/4/stdout2086 2> log/4/stderr2086 num-callers=16 --log-file=log/7/valgrind2201 ../src/curl -q --output log/7/curl2201.out --include --trace log/7/trace2201 --trace-time mqtt://127.0.0.1:42821/2201 -d something -u testuser:testpasswd > log/7/stdout2201 2> log/7/stderr2201 === End of file commands.log === Start of file mqtt_server.log 07:52:43.278143 Running IPv4 version 07:52:43.278191 Listening on port 42821 07:52:43.278226 Wrote pid 172976 to log/7/server/mqtt_server.pid 07:52:43.278255 Wrote port 42821 to log/7/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2201 === End of file server.cmd === Start of file valgrind2201 ==173836== ==173836== Process terminating with default action of signal 4 (SIGILL) ==173836== Illegal opcode at address 0x4013DC0 ==173836== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173836== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2201 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 173001 on PORT 46683 * pid mqtt => 173001 173001 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/11/valgrind2202 ../src/curl -q --output log/11/curl2202.out --include --trace log/11/trace2202 --trace-time mqtt://127.0.0.1:46683/2202 -d something -u fakeuser:fakepasswd > log/11/stdout2202 2> log/11/stderr2202 2202: 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/ dir 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/11/valgrind2202 ../src/curl -q --output log/11/curl2202.out --include --trace log/11/trace2202 --trace-time mqtt://127.0.0.1:46683/2202 -d something -u fakeuser:fakepasswd > log/11/stdout2202 2> log/11/stderr2202 === End of file commands.log === Start of file mqtt_server.log 07:52:43.290976 Running IPv4 version 07:52:43.291030 Listening on port 46683 07:52:43.291072 Wrote pid 173001 to log/11/server/mqtt_server.pid 07:52:43.291104 Wrote port 46683 to log/11/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 ==173916== ==173916== Process terminating with default action of signal 4 (SIGILL) ==173916== Illegal opcode at address 0x4013DC0 ==173916== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173916== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173916== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173916== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2202 CMD (33792): ../libtool --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/valgrind3003 ../src/curl -q --output log/12/curl3003.out --include --trace-ascii log/12/trace3003 --trace-time smtp://127.0.0.1:33789/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/12/stdout3003 2> log/12/stderr3003 CMD (33792): ../libtool --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/valgrind2200 ../src/curl -q --output log/24/curl2200.out --include --trace log/24/trace2200 --trace-time mqtt://127.0.0.1:45055/2200 -u fakeuser:fakepasswd > log/24/stdout2200 2> log/24/stderr2200 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_ipv6_server.pid" --logfile "log/4/http_ipv6_server.log" --logdir "log/4" --portfile log/4/server/http_ipv6_server.port --config log/4/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 172915 port 37579 * pid http-ipv6 => 172915 172915 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/4/valgrind2086 ./libtest/libtests lib2082 [::1]:37579/2086#ipv6 > log/4/stdout2086 2> log/4/stderr2086 2086: stdout FAILED: --- log/4/check-expected 2025-11-07 07:52:45.557374378 +0000 +++ log/4/check-generated 2025-11-07 07:52:45.557374378 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 37579[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/4/ dir after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 37579[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/4/valgrind2086 ./libtest/libtests lib2082 [::1]:37579/2086#ipv6 > log/4/stdout2086 2> log/4/stderr2086 === End of file commands.log === Start of file http_ipv6_server.log 07:52:43.277217 Running HTTP IPv6 version on port 37579 07:52:43.277293 Wrote pid 172915 to log/4/server/http_ipv6_server.pid 07:52:43.277324 Wrote port 37579 to log/4/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 2086 === End of file server.cmd === Start of file stderr2086 URL: [::1]:37579/2086#ipv6 === End of file stderr2086 === Start of file valgrind2086 ==173711== ==173711== Process terminating with default action of signal 4 (SIGILL) ==173711== Illegal opcode at address 0x51D5F1F ==173711== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173711== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173711== by 0x51D5F1F: Curl_open (url.c:525) ==173711== by 0x514F6EF: curl_easy_init (easy.c:371) ==173711== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173711== by 0x400347F: main (first.c:280) ==173711== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173711== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173711== by 0x51D5EBD: Curl_open (url.c:504) ==173711== by 0x514F6EF: curl_easy_init (easy.c:371) ==173711== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173711== by 0x400347F: main (first.c:280) ==173711== === End of file valgrind2086 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/12/valgrind3003 ../src/curl -q --output log/12/curl3003.out --include --trace-ascii log/12/trace3003 --trace-time smtp://127.0.0.1:33789/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/12/stdout3003 2> log/12/stderr3003 3003: 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/ dir 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/12/valgrind3003 ../src/curl -q --output log/12/curl3003.out --include --trace-ascii log/12/trace3003 --trace-time smtp://127.0.0.1:33789/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/12/stdout3003 2> log/12/stderr3003 === End of file commands.log === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 07:52:44.429490 ====> Client connect 07:52:44.429629 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.429912 < "EHLO verifiedserver" 07:52:44.429968 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:44.430220 < "HELP" 07:52:44.430256 > "214 WE ROOLZ: 124745[CR][LF]" 07:52:44.430271 return proof we are we 07:52:44.430509 < "QUIT" 07:52:44.430539 > "221 curl ESMTP server signing off[CR][LF]" 07:52:44.430876 MAIN sockfilt said DISC 07:52:44.430927 ====> Client disconnected 07:52:44.430988 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:45.257335 ====> Client connect 07:52:45.257580 Received DATA (on stdin) 07:52:45.257596 > 160 bytes data, server => client 07:52:45.257608 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:45.257619 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:45.257630 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:45.257697 < 21 bytes data, client => server 07:52:45.257710 'EHLO verifiedserver\r\n' 07:52:45.257912 Received DATA (on stdin) 07:52:45.257934 > 53 bytes data, server => client 07:52:45.257946 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:45.258046 < 6 bytes data, client => server 07:52:45.258063 'HELP\r\n' 07:52:45.258209 Received DATA (on stdin) 07:52:45.258223 > 22 bytes data, server => client 07:52:45.258234 '214 WE ROOLZ: 124745\r\n' 07:52:45.258334 < 6 bytes data, client => server 07:52:45.258348 'QUIT\r\n' 07:52:45.258478 Received DATA (on stdin) 07:52:45.258491 > 35 bytes data, server => client 07:52:45.258503 '221 curl ESMTP server signing off\r\n' 07:52:45.258757 ====> Client disconnect 07:52:45.258929 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 ==173755== ==173755== Process terminating with default action of signal 4 (SIGILL) ==173755== Illegal opcode at address 0x4013DC0 ==173755== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173755== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173755== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173755== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3003 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 172970 on PORT 45055 * pid mqtt => 172970 172970 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/24/valgrind2200 ../src/curl -q --output log/24/curl2200.out --include --trace log/24/trace2200 --trace-time mqtt://127.0.0.1:45055/2200 -u fakeuser:fakepasswd > log/24/stdout2200 2> log/24/stderr2200 2200: 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/ dir after test 2200 === Start of file commands.log ../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/8/valgrind3004 ../src/curl -q --output log/8/curl3004.out --include --trace-ascii log/8/trace3004 --trace-time smtp://127.0.0.1:40465/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/8/stdout3004 2> log/8/stderr3004 CMD (33792): ../libtool --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/valgrind2203 ../src/curl -q --output log/16/curl2203.out --include --trace log/16/trace2203 --trace-time mqtt://127.0.0.1:38971/2203 > log/16/stdout2203 2> log/16/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/9/valgrind2205 ../src/curl -q --output log/9/curl2205.out --include --trace log/9/trace2205 --trace-time mqtt://127.0.0.1:35449/2205 -K log/9/input2205 > log/9/stdout2205 2> log/9/stderr2205 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2200 ../src/curl -q --output log/24/curl2200.out --include --trace log/24/trace2200 --trace-time mqtt://127.0.0.1:45055/2200 -u fakeuser:fakepasswd > log/24/stdout2200 2> log/24/stderr2200 === End of file commands.log === Start of file mqtt_server.log 07:52:43.271802 Running IPv4 version 07:52:43.271862 Listening on port 45055 07:52:43.271898 Wrote pid 172970 to log/24/server/mqtt_server.pid 07:52:43.271929 Wrote port 45055 to log/24/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 ==173793== ==173793== Process terminating with default action of signal 4 (SIGILL) ==173793== Illegal opcode at address 0x4013DC0 ==173793== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173793== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173793== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173793== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2200 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/8/valgrind3004 ../src/curl -q --output log/8/curl3004.out --include --trace-ascii log/8/trace3004 --trace-time smtp://127.0.0.1:40465/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/8/stdout3004 2> log/8/stderr3004 3004: 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/ dir 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/8/valgrind3004 ../src/curl -q --output log/8/curl3004.out --include --trace-ascii log/8/trace3004 --trace-time smtp://127.0.0.1:40465/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/8/stdout3004 2> log/8/stderr3004 === End of file commands.log === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 07:52:44.459172 ====> Client connect 07:52:44.459301 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.459621 < "EHLO verifiedserver" 07:52:44.459664 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:44.459858 < "HELP" 07:52:44.459895 > "214 WE ROOLZ: 124722[CR][LF]" 07:52:44.459911 return proof we are we 07:52:44.460168 < "QUIT" 07:52:44.460212 > "221 curl ESMTP server signing off[CR][LF]" 07:52:44.460467 MAIN sockfilt said DISC 07:52:44.460513 ====> Client disconnected 07:52:44.460586 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:45.287011 ====> Client connect 07:52:45.287252 Received DATA (on stdin) 07:52:45.287269 > 160 bytes data, server => client 07:52:45.287282 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:45.287294 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:45.287305 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:45.287417 < 21 bytes data, client => server 07:52:45.287431 'EHLO verifiedserver\r\n' 07:52:45.287609 Received DATA (on stdin) 07:52:45.287623 > 53 bytes data, server => client 07:52:45.287635 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:45.287697 < 6 bytes data, client => server 07:52:45.287709 'HELP\r\n' 07:52:45.287848 Received DATA (on stdin) 07:52:45.287860 > 22 bytes data, server => client 07:52:45.287872 '214 WE ROOLZ: 124722\r\n' 07:52:45.287992 < 6 bytes data, client => server 07:52:45.288013 'QUIT\r\n' 07:52:45.288152 Received DATA (on stdin) 07:52:45.288171 > 35 bytes data, server => client 07:52:45.288182 '221 curl ESMTP server signing off\r\n' 07:52:45.288337 ====> Client disconnect 07:52:45.288526 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 ==173917== ==173917== Process terminating with default action of signal 4 (SIGILL) ==173917== Illegal opcode at address 0x4013DC0 ==173917== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173917== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173917== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173917== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3004 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 173014 on PORT 38971 * pid mqtt => 173014 173014 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/16/valgrind2203 ../src/curl -q --output log/16/curl2203.out --include --trace log/16/trace2203 --trace-time mqtt://127.0.0.1:38971/2203 > log/16/stdout2203 2> log/16/stderr2203 2203: 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/ dir 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/16/valgrind2203 ../src/curl -q --output log/16/curl2203.out --include --trace log/16/trace2203 --trace-time mqtt://127.0.0.1:38971/2203 > log/16/stdout2203 2> log/16/stderr2203 === End of file commands.log === Start of file mqtt_server.log 07:52:43.297222 Running IPv4 version 07:52:43.297288 Listening on port 38971 07:52:43.297325 Wrote pid 173014 to log/16/server/mqtt_server.pid 07:52:43.297357 Wrote port 38971 to log/16/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2203 === End of file server.cmd === Start of file valgrind2203 ==173965== ==173965== Process terminating with default action of signal 4 (SIGILL) ==173965== Illegal opcode at address 0x4013DC0 ==173965== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==173965== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173965== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==173965== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2203 startnew: ./server/servers mqttd --port 0 --pidfile log/9/server/mqtt_server.pid --portfile log/9/server/mqtt_server.port --config log/9/server.cmd --logfile log/9/mqtt_server.log --logdir log/9 RUN: MQTT server is now running PID 173128 on PORT 35449 * pid mqtt => 173128 173128 test 2205...[MQTT with very long user 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/valgrind2205 ../src/curl -q --output log/9/curl2205.out --include --trace log/9/trace2205 --trace-time mqtt://127.0.0.1:35449/2205 -K log/9/input2205 > log/9/stdout2205 2> log/9/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/9/ dir 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/9/valgrind2205 ../src/curl -q --output log/9/curl2205.out --include --trace log/9/trace2205 --trace-time mqtt://127.0.0.1:35449/2205 -K log/9/input2205 > log/9/stdout2205 2> log/9/stderr2205 === End of file commands.log === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind3006 ../src/curl -q --output log/3/curl3006.out --include --trace-ascii log/3/trace3006 --trace-time smtp://127.0.0.1:34951/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/3/stdout3006 2> log/3/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/1/valgrind3007 ../src/curl -q --output log/1/curl3007.out --include --trace-ascii log/1/trace3007 --trace-time smtp://127.0.0.1:43077/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/1/stdout3007 2> log/1/stderr3007 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file mqtt_server.log 07:52:43.449208 Running IPv4 version 07:52:43.449270 Listening on port 35449 07:52:43.449308 Wrote pid 173128 to log/9/server/mqtt_server.pid 07:52:43.449337 Wrote port 35449 to log/9/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 ==174244== ==174244== Process terminating with default action of signal 4 (SIGILL) ==174244== Illegal opcode at address 0x4013DC0 ==174244== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174244== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174244== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174244== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2205 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/3/valgrind3006 ../src/curl -q --output log/3/curl3006.out --include --trace-ascii log/3/trace3006 --trace-time smtp://127.0.0.1:34951/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/3/stdout3006 2> log/3/stderr3006 3006: 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/ dir 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/3/valgrind3006 ../src/curl -q --output log/3/curl3006.out --include --trace-ascii log/3/trace3006 --trace-time smtp://127.0.0.1:34951/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/3/stdout3006 2> log/3/stderr3006 === End of file commands.log === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 07:52:44.630718 ====> Client connect 07:52:44.630862 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.631167 < "EHLO verifiedserver" 07:52:44.631210 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:44.631393 < "HELP" 07:52:44.631423 > "214 WE ROOLZ: 109725[CR][LF]" 07:52:44.631438 return proof we are we 07:52:44.631630 < "QUIT" 07:52:44.631654 > "221 curl ESMTP server signing off[CR][LF]" 07:52:44.632557 MAIN sockfilt said DISC 07:52:44.632590 ====> Client disconnected 07:52:44.632660 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:44.458541 ====> Client connect 07:52:44.458812 Received DATA (on stdin) 07:52:44.458827 > 160 bytes data, server => client 07:52:44.458839 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:44.458851 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:44.458862 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:44.458964 < 21 bytes data, client => server 07:52:44.458977 'EHLO verifiedserver\r\n' 07:52:44.459153 Received DATA (on stdin) 07:52:44.459178 > 53 bytes data, server => client 07:52:44.459190 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:44.459242 < 6 bytes data, client => server 07:52:44.459253 'HELP\r\n' 07:52:44.459374 Received DATA (on stdin) 07:52:44.459385 > 22 bytes data, server => client 07:52:44.459396 '214 WE ROOLZ: 109725\r\n' 07:52:44.459485 < 6 bytes data, client => server 07:52:44.459497 'QUIT\r\n' 07:52:44.459590 Received DATA (on stdin) 07:52:44.459602 > 35 bytes data, server => client 07:52:44.459613 '221 curl ESMTP server signing off\r\n' 07:52:44.460439 ====> Client disconnect 07:52:44.460603 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 ==174254== ==174254== Process terminating with default action of signal 4 (SIGILL) ==174254== Illegal opcode at address 0x4013DC0 ==174254== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174254== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174254== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174254== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3006 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/1/valgrind3007 ../src/curl -q --output log/1/curl3007.out --include --trace-ascii log/1/trace3007 --trace-time smtp://127.0.0.1:43077/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/1/stdout3007 2> log/1/stderr3007 3007: 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/ dir 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/1/valgrind3007 ../src/curl -q --output log/1/curl3007.out --include --trace-ascii log/1/trace3007 --trace-time smtp://127.0.0.1:43077/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/1/stdout3007 2> log/1/stderr3007 === End of file commands.log === Start of file server.cmd Testnum 3007 === End of file server.cmd === Start of file smtp_server.log 07:52:44.858969 ====> Client connect 07:52:44.859126 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:44.859394 < "EHLO verifiedserver" 07:52:44.859433 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:44.859590 < "HELP" 07:52:44.859618 > "214 WE ROOLZ: 124301[CR][LF]" 07:52:44.859633 return proof we are we 07:52:44.859830 < "QUIT" 07:52:44.859855 > "221 curl ESMTP server signing off[CR][LF]" 07:52:44.860511 MAIN sockfilt said DISC 07:52:44.860538 ====> Client disconnected 07:52:44.860598 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:44.686794 ====> Client connect 07:52:44.687074 Received DATA (on stdin) 07:52:44.687090 > 160 bytes data, server => client 07:52:44.687102 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:44.687112 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:44.687123 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:44.687193 < 21 bytes data, client => server 07:52:44.687206 'EHLO verifiedserver\r\n' 07:52:44.687373 Received DATA (on stdin) 07:52:44.687384 > 53 bytes data, server => client 07:52:44.687395 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:44.687446 < 6 bytes data, client => server 07:52:44.687457 'HELP\r\n' 07:52:44.687569 Received DATA (on stdin) 07:52:44.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/6/valgrind3009 ../src/curl -q --trace-ascii log/6/trace3009 --trace-time http://127.0.0.1:45933/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/6/stdout3009 2> log/6/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/21/valgrind3008 ../src/curl -q --trace-ascii log/21/trace3008 --trace-time http://127.0.0.1:45761/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/21 > log/21/stdout3008 2> log/21/stderr3008 CMD (33792): ../libtool --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/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:40357/3010 > log/20/stdout3010 2> log/20/stderr3010 87581 > 22 bytes data, server => client 07:52:44.687597 '214 WE ROOLZ: 124301\r\n' 07:52:44.687685 < 6 bytes data, client => server 07:52:44.687698 'QUIT\r\n' 07:52:44.687791 Received DATA (on stdin) 07:52:44.687802 > 35 bytes data, server => client 07:52:44.687813 '221 curl ESMTP server signing off\r\n' 07:52:44.688402 ====> Client disconnect 07:52:44.688533 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 ==174375== ==174375== Process terminating with default action of signal 4 (SIGILL) ==174375== Illegal opcode at address 0x4013DC0 ==174375== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174375== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174375== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174375== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3007 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/6/valgrind3009 ../src/curl -q --trace-ascii log/6/trace3009 --trace-time http://127.0.0.1:45933/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/6/stdout3009 2> log/6/stderr3009 3009: 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/ dir 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/6/valgrind3009 ../src/curl -q --trace-ascii log/6/trace3009 --trace-time http://127.0.0.1:45933/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/6/stdout3009 2> log/6/stderr3009 === End of file commands.log === Start of file http_server.log 07:52:44.800174 ====> Client connect 07:52:44.800208 accept_connection 3 returned 4 07:52:44.800225 accept_connection 3 returned 0 07:52:44.800241 Read 93 bytes 07:52:44.800251 Process 93 bytes request 07:52:44.800265 Got request: GET /verifiedserver HTTP/1.1 07:52:44.800275 Are-we-friendly question received 07:52:44.800298 Wrote request (93 bytes) input to log/6/server.input 07:52:44.800315 Identifying ourselves as friends 07:52:44.800371 Response sent (56 bytes) and written to log/6/server.response 07:52:44.800381 special request received, no persistency 07:52:44.800391 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 42654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind3009 ==174529== ==174529== Process terminating with default action of signal 4 (SIGILL) ==174529== Illegal opcode at address 0x4013DC0 ==174529== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174529== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174529== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174529== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3009 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/21/valgrind3008 ../src/curl -q --trace-ascii log/21/trace3008 --trace-time http://127.0.0.1:45761/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/21 > log/21/stdout3008 2> log/21/stderr3008 3008: 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/ dir 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/21/valgrind3008 ../src/curl -q --trace-ascii log/21/trace3008 --trace-time http://127.0.0.1:45761/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/21 > log/21/stdout3008 2> log/21/stderr3008 === End of file commands.log === Start of file http_server.log 07:52:44.747802 ====> Client connect 07:52:44.747835 accept_connection 3 returned 4 07:52:44.747854 accept_connection 3 returned 0 07:52:44.747871 Read 93 bytes 07:52:44.747882 Process 93 bytes request 07:52:44.747898 Got request: GET /verifiedserver HTTP/1.1 07:52:44.747909 Are-we-friendly question received 07:52:44.747935 Wrote request (93 bytes) input to log/21/server.input 07:52:44.747954 Identifying ourselves as friends 07:52:44.748011 Response sent (56 bytes) and written to log/21/server.response 07:52:44.748023 special request received, no persistency 07:52:44.748034 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 39974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind3008 ==174441== ==174441== Process terminating with default action of signal 4 (SIGILL) ==174441== Illegal opcode at address 0x4013DC0 ==174441== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174441== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174441== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174441== by 0x40037A4: main (tool_main.c:199) === 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/23/valgrind3011 ../src/curl -q --trace-ascii log/23/trace3011 --trace-time http://127.0.0.1:41029/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/23/tmp --create-dirs > log/23/stdout3011 2> log/23/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/13/valgrind3013 ../src/curl -q --trace-ascii log/13/trace3013 --trace-time http://127.0.0.1:37965/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/13 http://127.0.0.1:37965/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3013 2> log/13/stderr3013 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/20/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:40357/3010 > log/20/stdout3010 2> log/20/stderr3010 3010: stdout FAILED: --- log/20/check-expected 2025-11-07 07:52:45.950707716 +0000 +++ log/20/check-generated 2025-11-07 07:52:45.950707716 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/20/ dir 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/20/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:40357/3010 > log/20/stdout3010 2> log/20/stderr3010 === End of file commands.log === Start of file http_server.log 07:52:44.800175 ====> Client connect 07:52:44.800211 accept_connection 3 returned 4 07:52:44.800230 accept_connection 3 returned 0 07:52:44.800245 Read 93 bytes 07:52:44.800257 Process 93 bytes request 07:52:44.800269 Got request: GET /verifiedserver HTTP/1.1 07:52:44.800280 Are-we-friendly question received 07:52:44.800307 Wrote request (93 bytes) input to log/20/server.input 07:52:44.800325 Identifying ourselves as friends 07:52:44.800388 Response sent (56 bytes) and written to log/20/server.response 07:52:44.800401 special request received, no persistency 07:52:44.800411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 34292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr3010 URL: 127.0.0.1:40357/3010 === End of file stderr3010 === Start of file valgrind3010 ==174528== ==174528== Process terminating with default action of signal 4 (SIGILL) ==174528== Illegal opcode at address 0x51D5F1F ==174528== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==174528== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==174528== by 0x51D5F1F: Curl_open (url.c:525) ==174528== by 0x514F6EF: curl_easy_init (easy.c:371) ==174528== by 0x4047879: test_lib3010.lto_priv.0 (lib3010.c:36) ==174528== by 0x400347F: main (first.c:280) ==174528== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==174528== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==174528== by 0x51D5EBD: Curl_open (url.c:504) ==174528== by 0x514F6EF: curl_easy_init (easy.c:371) ==174528== by 0x4047879: test_lib3010.lto_priv.0 (lib3010.c:36) ==174528== by 0x400347F: main (first.c:280) ==174528== === End of file valgrind3010 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/23/valgrind3011 ../src/curl -q --trace-ascii log/23/trace3011 --trace-time http://127.0.0.1:41029/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/23/tmp --create-dirs > log/23/stdout3011 2> log/23/stderr3011 3011: 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/ dir 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/23/valgrind3011 ../src/curl -q --trace-ascii log/23/trace3011 --trace-time http://127.0.0.1:41029/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/23/tmp --create-dirs > log/23/stdout3011 2> log/23/stderr3011 === End of file commands.log === Start of file http_server.log 07:52:44.896132 ====> Client connect 07:52:44.896165 accept_connection 3 returned 4 07:52:44.896183 accept_connection 3 returned 0 07:52:44.896199 Read 93 bytes 07:52:44.896210 Process 93 bytes request 07:52:44.896224 Got request: GET /verifiedserver HTTP/1.1 07:52:44.896234 Are-we-friendly question received 07:52:44.896258 Wrote request (93 bytes) input to log/23/server.input 07:52:44.896275 Identifying ourselves as friends 07:52:44.896336 Response sent (56 bytes) and written to log/23/server.response 07:52:44.896348 special request received, no persistency 07:52:44.896357 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * Established connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 38952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file valgrind3011 ==174667== ==174667== Process terminating with default action of signal 4 (SIGILL) ==174667== Illegal opcode at address 0x4013DC0 ==174667== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174667== by 0x40037A4: main (tool_main.c:199) === 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/13/valgrind3013 ../src/curl -q --trace-ascii log/13/trace3013 --trace-time http://127.0.0.1:37965/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/13 http://127.0.0.1:37965/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3013 2> log/13/stderr3013 3013: 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/ dir 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/13/valgrind3013 ../src/curl -q --trace-ascii log/13/trace3013 --trace-time http://127.0.0.1:37965/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/13 http://127.0.0.1:37965/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/13 > log/13/stdout3013 2> log/13/stderr3013 === End of file commands.log === Start of file http_server.log 07:52:44.929465 ====> Client connect 07:52:44.929502 accept_connection 3 returned 4 07:52:44.929520 accept_connection 3 returned 0 07:52:44.929537 Read 93 bytes 07:52:44.929548 Process 93 bytes request 07:52:44.929561 Got request: GET /verifiedserver HTTP/1.1 07:52:44.929573 Are-we-friendly question received 07:52:44.929598 Wrote request (93 bytes) input to log/13/server.input 07:52:44.929616 Identifying ourselves as friends 07:52:44.929673 Response sent (57 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/18/valgrind3012 ../src/curl -q --trace-ascii log/18/trace3012 --trace-time http://127.0.0.1:46763/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/18 > log/18/stdout3012 2> log/18/stderr3012 CMD (33792): ../libtool --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/valgrind3014 ../src/curl -q --include --trace-ascii log/2/trace3014 --trace-time http://127.0.0.1:43955/1439 --write-out '%{num_headers}' > log/2/stdout3014 2> log/2/stderr3014 written to log/13/server.response 07:52:44.929684 special request received, no persistency 07:52:44.929695 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 58706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file valgrind3013 ==174719== ==174719== Process terminating with default action of signal 4 (SIGILL) ==174719== Illegal opcode at address 0x4013DC0 ==174719== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174719== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174719== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174719== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3013 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/18/valgrind3012 ../src/curl -q --trace-ascii log/18/trace3012 --trace-time http://127.0.0.1:46763/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/18 > log/18/stdout3012 2> log/18/stderr3012 3012: 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/ dir 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/18/valgrind3012 ../src/curl -q --trace-ascii log/18/trace3012 --trace-time http://127.0.0.1:46763/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/18 > log/18/stdout3012 2> log/18/stderr3012 === End of file commands.log === Start of file http_server.log 07:52:45.917434 ====> Client connect 07:52:45.917470 accept_connection 3 returned 4 07:52:45.917488 accept_connection 3 returned 0 07:52:45.917504 Read 93 bytes 07:52:45.917517 Process 93 bytes request 07:52:45.917532 Got request: GET /verifiedserver HTTP/1.1 07:52:45.917543 Are-we-friendly question received 07:52:45.917569 Wrote request (93 bytes) input to log/18/server.input 07:52:45.917587 Identifying ourselves as friends 07:52:45.917650 Response sent (56 bytes) and written to log/18/server.response 07:52:45.917662 special request received, no persistency 07:52:45.917673 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46763... * Established connection to 127.0.0.1 (127.0.0.1 port 46763) from 127.0.0.1 port 37512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46763 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46763 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74399 === 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: 74399 === End of file server.response === Start of file valgrind3012 ==174697== ==174697== Process terminating with default action of signal 4 (SIGILL) ==174697== Illegal opcode at address 0x4013DC0 ==174697== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174697== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174697== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174697== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3012 CMD (33792): ../libtool --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/valgrind3015 ../src/curl -q --include --trace-ascii log/22/trace3015 --trace-time http://127.0.0.1:40377/3015 -w "%{num_headers}\n" -L -o/dev/null > log/22/stdout3015 2> log/22/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/2/valgrind3014 ../src/curl -q --include --trace-ascii log/2/trace3014 --trace-time http://127.0.0.1:43955/1439 --write-out '%{num_headers}' > log/2/stdout3014 2> log/2/stderr3014 3014: stdout FAILED: --- log/2/check-expected 2025-11-07 07:52:46.100707717 +0000 +++ log/2/check-generated 2025-11-07 07:52:46.100707717 +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/2/ dir 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/2/valgrind3014 ../src/curl -q --include --trace-ascii log/2/trace3014 --trace-time http://127.0.0.1:43955/1439 --write-out '%{num_headers}' > log/2/stdout3014 2> log/2/stderr3014 === End of file commands.log === Start of file http_server.log 07:52:45.995500 ====> Client connect 07:52:45.995533 accept_connection 3 returned 4 07:52:45.995550 accept_connection 3 returned 0 07:52:45.995565 Read 93 bytes 07:52:45.995575 Process 93 bytes request 07:52:45.995587 Got request: GET /verifiedserver HTTP/1.1 07:52:45.995596 Are-we-friendly question received 07:52:45.995619 Wrote request (93 bytes) input to log/2/server.input 07:52:45.995636 Identifying ourselves as friends 07:52:45.995693 Response sent (56 bytes) and written to log/2/server.response 07:52:45.995705 special request received, no persistency 07:52:45.995715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 17 WE ROOLZ: 74876 === End of file server.response === Start of file valgrind3014 ==174847== ==174847== Process terminating with default action of signal 4 (SIGILL) ==174847== Illegal opcode at address 0x4013DC0 ==174847== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174847== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174847== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174847== by 0x40037A4: main (tool_main.c:199) === 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/7/valgrind3017 ../src/curl -q --output log/7/curl3017.out --include --trace log/7/trace3017 --trace-time mqtt://127.0.0.1:42821/3017 -m 3 > log/7/stdout3017 2> log/7/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/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/11/valgrind3018 ../src/curl -q --output log/11/curl3018.out --include --trace log/11/trace3018 --trace-time mqtt://127.0.0.1:46683/3018 --max-filesize 11 > log/11/stdout3018 2> log/11/stderr3018 CMD (33792): ../libtool --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/valgrind3019 ../src/curl -q --output log/4/curl3019.out --include --trace-ascii log/4/trace3019 --trace-time --resolve 43573:example.com:127.0.0.1 http://example.com:43573/3019 > log/4/stdout3019 2> log/4/stderr3019 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/22/valgrind3015 ../src/curl -q --include --trace-ascii log/22/trace3015 --trace-time http://127.0.0.1:40377/3015 -w "%{num_headers}\n" -L -o/dev/null > log/22/stdout3015 2> log/22/stderr3015 3015: stdout FAILED: --- log/22/check-expected 2025-11-07 07:52:46.404041053 +0000 +++ log/22/check-generated 2025-11-07 07:52:46.404041053 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/22/ dir 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/22/valgrind3015 ../src/curl -q --include --trace-ascii log/22/trace3015 --trace-time http://127.0.0.1:40377/3015 -w "%{num_headers}\n" -L -o/dev/null > log/22/stdout3015 2> log/22/stderr3015 === End of file commands.log === Start of file http_server.log 07:52:45.274884 ====> Client connect 07:52:45.274919 accept_connection 3 returned 4 07:52:45.274937 accept_connection 3 returned 0 07:52:45.274952 Read 93 bytes 07:52:45.274963 Process 93 bytes request 07:52:45.274977 Got request: GET /verifiedserver HTTP/1.1 07:52:45.274988 Are-we-friendly question received 07:52:45.275015 Wrote request (93 bytes) input to log/22/server.input 07:52:45.275032 Identifying ourselves as friends 07:52:45.275089 Response sent (56 bytes) and written to log/22/server.response 07:52:45.275100 special request received, no persistency 07:52:45.275110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 46486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 74395 === End of file server.response === Start of file valgrind3015 ==174923== ==174923== Process terminating with default action of signal 4 (SIGILL) ==174923== Illegal opcode at address 0x4013DC0 ==174923== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174923== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174923== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174923== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3015 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/7/valgrind3017 ../src/curl -q --output log/7/curl3017.out --include --trace log/7/trace3017 --trace-time mqtt://127.0.0.1:42821/3017 -m 3 > log/7/stdout3017 2> log/7/stderr3017 3017: 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/ dir 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/7/valgrind3017 ../src/curl -q --output log/7/curl3017.out --include --trace log/7/trace3017 --trace-time mqtt://127.0.0.1:42821/3017 -m 3 > log/7/stdout3017 2> log/7/stderr3017 === End of file commands.log === Start of file server.cmd excessive-remaining TRUE Testnum 3017 === End of file server.cmd === Start of file valgrind3017 ==174989== ==174989== Process terminating with default action of signal 4 (SIGILL) ==174989== Illegal opcode at address 0x4013DC0 ==174989== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174989== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174989== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174989== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3017 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/ dir 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 ==174976== ==174976== Process terminating with default action of signal 4 (SIGILL) ==174976== Illegal opcode at address 0x4013DC0 ==174976== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174976== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174976== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174976== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3016 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:46683/3018 --max-filesize 11 > log/11/stdout3018 2> log/11/stderr3018 3018: 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/ dir 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:46683/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 ==174981== ==174981== Process terminating with default action of signal 4 (SIGILL) ==174981== Illegal opcode at address 0x4013DC0 ==174981== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==174981== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174981== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==174981== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3018 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/4/valgrind3019 ../src/curl -q --output log/4/curl3019.out --include --trace-ascii log/4/trace3019 --trace-time --resolve 43573:example.com:127.0.0.1 http://example.com:43573/3019 > log/4/stdout3019 2> log/4/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == Contents of files in the log/4/ dir after test 3019 === 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/valgrind3020 ../src/curl -q --output log/24/curl3020.out --include --trace-ascii log/24/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:41843/3020 > log/24/stdout3020 2> log/24/stderr3020 CMD (33792): ../libtool --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/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:36233/3025 > log/8/stdout3025 2> log/8/stderr3025 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/4/valgrind3019 ../src/curl -q --output log/4/curl3019.out --include --trace-ascii log/4/trace3019 --trace-time --resolve 43573:example.com:127.0.0.1 http://example.com:43573/3019 > log/4/stdout3019 2> log/4/stderr3019 === End of file commands.log === Start of file http_server.log 07:52:46.413996 ====> Client connect 07:52:46.414030 accept_connection 3 returned 4 07:52:46.414048 accept_connection 3 returned 0 07:52:46.414064 Read 93 bytes 07:52:46.414075 Process 93 bytes request 07:52:46.414091 Got request: GET /verifiedserver HTTP/1.1 07:52:46.414100 Are-we-friendly question received 07:52:46.414126 Wrote request (93 bytes) input to log/4/server.input 07:52:46.414143 Identifying ourselves as friends 07:52:46.414196 Response sent (56 bytes) and written to log/4/server.response 07:52:46.414206 special request received, no persistency 07:52:46.414216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind3019 ==175182== ==175182== Process terminating with default action of signal 4 (SIGILL) ==175182== Illegal opcode at address 0x4013DC0 ==175182== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175182== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175182== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175182== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3019 test 3020...[HTTP with invalid --connect-to 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/valgrind3020 ../src/curl -q --output log/24/curl3020.out --include --trace-ascii log/24/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:41843/3020 > log/24/stdout3020 2> log/24/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/24/ dir 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/24/valgrind3020 ../src/curl -q --output log/24/curl3020.out --include --trace-ascii log/24/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:41843/3020 > log/24/stdout3020 2> log/24/stderr3020 === End of file commands.log === Start of file http_server.log 07:52:45.415000 ====> Client connect 07:52:45.415032 accept_connection 3 returned 4 07:52:45.415048 accept_connection 3 returned 0 07:52:45.415062 Read 93 bytes 07:52:45.415072 Process 93 bytes request 07:52:45.415085 Got request: GET /verifiedserver HTTP/1.1 07:52:45.415094 Are-we-friendly question received 07:52:45.415119 Wrote request (93 bytes) input to log/24/server.input 07:52:45.415135 Identifying ourselves as friends 07:52:45.415187 Response sent (56 bytes) and written to log/24/server.response 07:52:45.415199 special request received, no persistency 07:52:45.415209 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41843... * Established connection to 127.0.0.1 (127.0.0.1 port 41843) from 127.0.0.1 port 44332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41843 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41843 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74393 === 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: 74393 === End of file server.response === Start of file valgrind3020 ==175189== ==175189== Process terminating with default action of signal 4 (SIGILL) ==175189== Illegal opcode at address 0x4013DC0 ==175189== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175189== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175189== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175189== by 0x40037A4: main (tool_main.c:199) === 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/3/valgrind3029 ../src/curl -q --output log/3/curl3029.out --include --trace-ascii log/3/trace3029 --trace-time -D log/3/heads3029 http://127.0.0.1:42701/3029 http://127.0.0.1:42701/3029 --next -D log/3/heads3029 http://127.0.0.1:42701/3029 > log/3/stdout3029 2> log/3/stderr3029 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/8/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:36233/3025 > log/8/stdout3025 2> log/8/stderr3025 3025: data FAILED: --- log/8/check-expected 2025-11-07 07:52:46.624041056 +0000 +++ log/8/check-generated 2025-11-07 07:52:46.624041056 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/8/ dir 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/8/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:36233/3025 > log/8/stdout3025 2> log/8/stderr3025 === End of file commands.log === Start of file http_server.log 07:52:45.420175 ====> Client connect 07:52:45.420210 accept_connection 3 returned 4 07:52:45.420227 accept_connection 3 returned 0 07:52:45.420241 Read 93 bytes 07:52:45.420252 Process 93 bytes request 07:52:45.420263 Got request: GET /verifiedserver HTTP/1.1 07:52:45.420272 Are-we-friendly question received 07:52:45.420299 Wrote request (93 bytes) input to log/8/server.input 07:52:45.420314 Identifying ourselves as friends 07:52:45.420370 Response sent (57 bytes) and written to log/8/server.response 07:52:45.420380 special request received, no persistency 07:52:45.420389 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36233... * Established connection to 127.0.0.1 (127.0.0.1 port 36233) from 127.0.0.1 port 47716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36233 > User-Agent: curl/8.17.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:36233 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159283 === 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: 18 WE ROOLZ: 159283 === End of file server.response === Start of file stderr3025 URL: http://127.0.0.1:36233/3025 === End of file stderr3025 === Start of file valgrind3025 ==175225== ==175225== Process terminating with default action of signal 4 (SIGILL) ==175225== Illegal opcode at address 0x51D5F1F ==175225== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175225== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175225== by 0x51D5F1F: Curl_open (url.c:525) ==175225== by 0x514F6EF: curl_easy_init (easy.c:371) ==175225== by 0x4043FCC: test_lib3025.lto_priv.0 (lib3025.c:39) ==175225== by 0x400347F: main (first.c:280) ==175225== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175225== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175225== by 0x51D5EBD: Curl_open (url.c:504) ==175225== by 0x514F6EF: curl_easy_init (easy.c:371) ==175225== by 0x4043FCC: test_lib3025.lto_priv.0 (lib3025.c:39) ==175225== by 0x400347F: main (first.c:280) ==175225== === End of file valgrind3025 CMD (33792): ../libtool --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/valgrind3028 ../src/curl -q --output log/9/curl3028.out --include --trace-ascii log/9/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:42717/page --proxytunnel -x 127.0.0.1:33583 > log/9/stdout3028 2> log/9/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/12/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:46141/3027 > log/12/stdout3027 2> log/12/stderr3027 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/3/valgrind3029 ../src/curl -q --output log/3/curl3029.out --include --trace-ascii log/3/trace3029 --trace-time -D log/3/heads3029 http://127.0.0.1:42701/3029 http://127.0.0.1:42701/3029 --next -D log/3/heads3029 http://127.0.0.1:42701/3029 > log/3/stdout3029 2> log/3/stderr3029 3029: data FAILED: --- log/3/check-expected 2025-11-07 07:52:46.630707722 +0000 +++ log/3/check-generated 2025-11-07 07:52:46.630707722 +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/3/ dir 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/3/valgrind3029 ../src/curl -q --output log/3/curl3029.out --include --trace-ascii log/3/trace3029 --trace-time -D log/3/heads3029 http://127.0.0.1:42701/3029 http://127.0.0.1:42701/3029 --next -D log/3/heads3029 http://127.0.0.1:42701/3029 > log/3/stdout3029 2> log/3/stderr3029 === End of file commands.log === Start of file http_server.log 07:52:45.475969 ====> Client connect 07:52:45.476004 accept_connection 3 returned 4 07:52:45.476022 accept_connection 3 returned 0 07:52:45.476036 Read 93 bytes 07:52:45.476047 Process 93 bytes request 07:52:45.476059 Got request: GET /verifiedserver HTTP/1.1 07:52:45.476069 Are-we-friendly question received 07:52:45.476098 Wrote request (93 bytes) input to log/3/server.input 07:52:45.476114 Identifying ourselves as friends 07:52:45.476166 Response sent (57 bytes) and written to log/3/server.response 07:52:45.476176 special request received, no persistency 07:52:45.476185 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 33948 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === End of file server.response === Start of file valgrind3029 ==175422== ==175422== Process terminating with default action of signal 4 (SIGILL) ==175422== Illegal opcode at address 0x4013DC0 ==175422== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175422== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175422== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175422== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3029 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/9/valgrind3028 ../src/curl -q --output log/9/curl3028.out --include --trace-ascii log/9/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:42717/page --proxytunnel -x 127.0.0.1:33583 > log/9/stdout3028 2> log/9/stderr3028 3028: 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/ dir 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/9/valgrind3028 ../src/curl -q --output log/9/curl3028.out --include --trace-ascii log/9/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:42717/page --proxytunnel -x 127.0.0.1:33583 > log/9/stdout3028 2> log/9/stderr3028 === End of file commands.log === Start of file http2_server.log 07:52:45.487519 ====> Client connect 07:52:45.487565 accept_connection 3 returned 4 07:52:45.487586 accept_connection 3 returned 0 07:52:45.487604 Read 93 bytes 07:52:45.487626 Process 93 bytes request 07:52:45.487643 Got request: GET /verifiedserver HTTP/1.1 07:52:45.487654 Are-we-friendly question received 07:52:45.487691 Wrote request (93 bytes) input to log/9/proxy.input 07:52:45.487726 Identifying ourselves as friends 07:52:45.487880 Response sent (57 bytes) and written to log/9/proxy.response 07:52:45.487901 special request received, no persistency 07:52:45.487911 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33583... * Established connection to 127.0.0.1 (127.0.0.1 port 33583) from 127.0.0.1 port 38352 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33583 > User-Agent: curl/8.17.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:33583 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 161167 === End of file http2_verify.out === Start of file http_server.log 07:52:45.464755 ====> Client connect 07:52:45.464787 accept_connection 3 returned 4 07:52:45.464802 accept_connection 3 returned 0 07:52:45.464817 Read 93 bytes 07:52:45.464828 Process 93 bytes request 07:52:45.464840 Got request: GET /verifiedserver HTTP/1.1 07:52:45.464850 Are-we-friendly question received 07:52:45.464872 Wrote request (93 bytes) input to log/9/server.input 07:52:45.464888 Identifying ourselves as friends 07:52:45.464938 Response sent (56 bytes) and written to log/9/server.response 07:52:45.464948 special request received, no persistency 07:52:45.464956 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42717... * Established connection to 127.0.0.1 (127.0.0.1 port 42717) from 127.0.0.1 port 45664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42717 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42717 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74613 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 161167 === 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: 74613 === End of file server.response === Start of file valgrind3028 ==175449== ==175449== Process terminating with default action of signal 4 (SIGILL) ==175449== Illegal opcode at address 0x4013DC0 ==175449== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175449== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175449== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175449== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3028 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/12/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:46141/3027 > log/12/stdout3027 2> log/12/stderr3027 3027: 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/ diCMD (33792): ../libtool --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/valgrind3030 ../src/curl -q --output log/1/curl3030.out --include --trace-ascii log/1/trace3030 --trace-time -D log/1/heads3030 http://127.0.0.1:35709/3030 http://127.0.0.1:35709/3030 > log/1/stdout3030 2> log/1/stderr3030 r 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/12/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:46141/3027 > log/12/stdout3027 2> log/12/stderr3027 === End of file commands.log === Start of file ftp_server.log 07:52:45.603167 ====> Client connect 07:52:45.603308 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:45.603586 < "USER anonymous" 07:52:45.603627 > "331 We are happy you popped in![CR][LF]" 07:52:45.603798 < "PASS ftp@example.com" 07:52:45.603826 > "230 Welcome you silly person[CR][LF]" 07:52:45.603971 < "PWD" 07:52:45.604002 > "257 "/" is current directory[CR][LF]" 07:52:45.604238 < "EPSV" 07:52:45.604287 ====> Passive DATA channel requested by client 07:52:45.604303 DATA sockfilt for passive data channel starting... 07:52:45.606397 DATA sockfilt for passive data channel started (pid 175226) 07:52:45.606524 DATA sockfilt for passive data channel listens on port 38751 07:52:45.606592 > "229 Entering Passive Mode (|||38751|)[CR][LF]" 07:52:45.606611 Client has been notified that DATA conn will be accepted on port 38751 07:52:45.608986 Client connects to port 38751 07:52:45.609030 ====> Client established passive DATA connection on port 38751 07:52:45.609140 < "TYPE I" 07:52:45.609183 > "200 I modify TYPE as you wanted[CR][LF]" 07:52:45.609395 < "SIZE verifiedserver" 07:52:45.609447 > "213 17[CR][LF]" 07:52:45.609664 < "RETR verifiedserver" 07:52:45.609721 > "150 Binary junk (17 bytes).[CR][LF]" 07:52:45.609830 =====> Closing passive DATA connection... 07:52:45.609848 Server disconnects passive DATA connection 07:52:45.611274 Server disconnected passive DATA connection 07:52:45.611307 DATA sockfilt for passive data channel quits (pid 175226) 07:52:45.611604 DATA sockfilt for passive data channel quit (pid 175226) 07:52:45.611625 =====> Closed passive DATA connection 07:52:45.611656 > "226 File transfer complete[CR][LF]" 07:52:45.658474 < "QUIT" 07:52:45.658539 > "221 bye bye baby[CR][LF]" 07:52:45.660176 MAIN sockfilt said DISC 07:52:45.660231 ====> Client disconnected 07:52:45.660312 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 07:52:45.431009 ====> Client connect 07:52:45.431261 Received DATA (on stdin) 07:52:45.431277 > 160 bytes data, server => client 07:52:45.431289 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:45.431300 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:45.431310 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:45.431382 < 16 bytes data, client => server 07:52:45.431394 'USER anonymous\r\n' 07:52:45.431567 Received DATA (on stdin) 07:52:45.431579 > 33 bytes data, server => client 07:52:45.431590 '331 We are happy you popped in!\r\n' 07:52:45.431639 < 22 bytes data, client => server 07:52:45.431650 'PASS ftp@example.com\r\n' 07:52:45.431764 Received DATA (on stdin) 07:52:45.431775 > 30 bytes data, server => client 07:52:45.431785 '230 Welcome you silly person\r\n' 07:52:45.431829 < 5 bytes data, client => server 07:52:45.431839 'PWD\r\n' 07:52:45.431939 Received DATA (on stdin) 07:52:45.431950 > 30 bytes data, server => client 07:52:45.431960 '257 "/" is current directory\r\n' 07:52:45.432012 < 6 bytes data, client => server 07:52:45.432022 'EPSV\r\n' 07:52:45.434579 Received DATA (on stdin) 07:52:45.434600 > 39 bytes data, server => client 07:52:45.434613 '229 Entering Passive Mode (|||38751|)\r\n' 07:52:45.435719 < 8 bytes data, client => server 07:52:45.435779 'TYPE I\r\n' 07:52:45.437127 Received DATA (on stdin) 07:52:45.437146 > 33 bytes data, server => client 07:52:45.437160 '200 I modify TYPE as you wanted\r\n' 07:52:45.437231 < 21 bytes data, client => server 07:52:45.437245 'SIZE verifiedserver\r\n' 07:52:45.437391 Received DATA (on stdin) 07:52:45.437406 > 8 bytes data, server => client 07:52:45.437418 '213 17\r\n' 07:52:45.437479 < 21 bytes data, client => server 07:52:45.437492 'RETR verifiedserver\r\n' 07:52:45.438186 Received DATA (on stdin) 07:52:45.438204 > 29 bytes data, server => client 07:52:45.438216 '150 Binary junk (17 bytes).\r\n' 07:52:45.439602 Received DATA (on stdin) 07:52:45.439617 > 28 bytes data, server => client 07:52:45.439628 '226 File transfer complete\r\n' 07:52:45.486197 < 6 bytes data, client => server 07:52:45.486231 'QUIT\r\n' 07:52:45.486490 Received DATA (on stdin) 07:52:45.486507 > 18 bytes data, server => client 07:52:45.486518 '221 bye bye baby\r\n' 07:52:45.488039 ====> Client disconnect 07:52:45.488249 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 07:52:45.433996 Running IPv4 version 07:52:45.434063 Listening on port 38751 07:52:45.434101 Wrote pid 175226 to log/12/server/ftp_sockdata.pid 07:52:45.434275 Received PING (on stdin) 07:52:45.434364 Received PORT (on stdin) 07:52:45.436858 ====> Client connect 07:52:45.437799 Received DATA (on stdin) 07:52:45.437818 > 17 bytes data, server => client 07:52:45.437829 'WE ROOLZ: 80617\r\n' 07:52:45.438133 Received DISC (on stdin) 07:52:45.438149 ====> Client forcibly disconnected 07:52:45.439265 Received QUIT (on stdin) 07:52:45.439281 quits 07:52:45.439339 ============> 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:46141/3027 === End of file stderr3027 === Start of file valgrind3027 ==175445== ==175445== Process terminating with default action of signal 4 (SIGILL) ==175445== Illegal opcode at address 0x51D5F1F ==175445== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175445== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175445== by 0x51D5F1F: Curl_open (url.c:525) ==175445== by 0x514F6EF: curl_easy_init (easy.c:371) ==175445== by 0x4047759: test_lib3027.lto_priv.0 (lib3027.c:36) ==175445== by 0x400347F: main (first.c:280) ==175445== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175445== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175445== by 0x51D5EBD: Curl_open (url.c:504) ==175445== by 0x514F6EF: curl_easy_init (easy.c:371) ==175445== by 0x4047759: test_lib3027.lto_priv.0 (lib3027.c:36) ==175445== by 0x400347F: main (first.c:280) ==175445== === 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/21/valgrind3032 ../src/curl -q --output log/21/curl3032.out --include --trace-ascii log/21/trace3032 --trace-time --location http://127.0.0.1:45761/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/6/valgrind3031 ../src/curl -q --output log/6/curl3031.out --include --trace-ascii log/6/trace3031 --trace-time http://127.0.0.1:45933/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/6/tmp/out.txt --create-dirs > log/6/stdout3031 2> log/6/stderr3031 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/1/valgrind3030 ../src/curl -q --output log/1/curl3030.out --include --trace-ascii log/1/trace3030 --trace-time -D log/1/heads3030 http://127.0.0.1:35709/3030 http://127.0.0.1:35709/3030 > log/1/stdout3030 2> log/1/stderr3030 3030: data FAILED: --- log/1/check-expected 2025-11-07 07:52:46.870707724 +0000 +++ log/1/check-generated 2025-11-07 07:52:46.870707724 +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/1/ dir 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/1/valgrind3030 ../src/curl -q --output log/1/curl3030.out --include --trace-ascii log/1/trace3030 --trace-time -D log/1/heads3030 http://127.0.0.1:35709/3030 http://127.0.0.1:35709/3030 > log/1/stdout3030 2> log/1/stderr3030 === End of file commands.log === Start of file http_server.log 07:52:45.718527 ====> Client connect 07:52:45.718562 accept_connection 3 returned 4 07:52:45.718578 accept_connection 3 returned 0 07:52:45.718593 Read 93 bytes 07:52:45.718603 Process 93 bytes request 07:52:45.718616 Got request: GET /verifiedserver HTTP/1.1 07:52:45.718626 Are-we-friendly question received 07:52:45.718649 Wrote request (93 bytes) input to log/1/server.input 07:52:45.718665 Identifying ourselves as friends 07:52:45.718721 Response sent (56 bytes) and written to log/1/server.response 07:52:45.718732 special request received, no persistency 07:52:45.718741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35709... * Established connection to 127.0.0.1 (127.0.0.1 port 35709) from 127.0.0.1 port 47618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35709 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35709 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74928 === 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: 74928 === End of file server.response === Start of file valgrind3030 ==175600== ==175600== Process terminating with default action of signal 4 (SIGILL) ==175600== Illegal opcode at address 0x4013DC0 ==175600== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175600== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175600== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175600== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3030 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:45761/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/ dir 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:45761/3032 > log/21/stdout3032 2> log/21/stderr3032 === End of file commands.log === Start of file http_server.log 07:52:45.778874 ====> Client connect 07:52:45.778905 accept_connection 3 returned 4 07:52:45.778922 accept_connection 3 returned 0 07:52:45.779054 Read 93 bytes 07:52:45.779067 Process 93 bytes request 07:52:45.779081 Got request: GET /verifiedserver HTTP/1.1 07:52:45.779090 Are-we-friendly question received 07:52:45.779122 Wrote request (93 bytes) input to log/21/server.input 07:52:45.779138 Identifying ourselves as friends 07:52:45.779199 Response sent (56 bytes) and written to log/21/server.response 07:52:45.779210 special request received, no persistency 07:52:45.779219 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45761... * Established connection to 127.0.0.1 (127.0.0.1 port 45761) from 127.0.0.1 port 39978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74396 === 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: 74396 === End of file server.response === Start of file valgrind3032 ==175711== ==175711== Process terminating with default action of signal 4 (SIGILL) ==175711== Illegal opcode at address 0x4013DC0 ==175711== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175711== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175711== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175711== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3032 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/6/valgrind3031 ../src/curl -q --output log/6/curl3031.out --include --trace-ascii log/6/trace3031 --trace-time http://127.0.0.1:45933/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/6/tmp/out.txt --create-dirs > log/6/stdout3031 2> log/6/stderr3031 3031: 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/ dir 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/6/valgrind3031 ../src/curl -q --output log/6/curl3031.out --include --trace-ascii log/6/trace3031 --trace-time http://127.0.0.1:45933/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/6/tmp/out.txt --create-dirs > log/6/stdout3031 2> log/6/stderr3031 === End of file commands.log === Start of file http_server.log 07:52:45.755767 ====> Client connect 07:52:45.755802 accept_connection 3 returned 4 07:52:45.755819 accept_connection 3 returned 0 07:52:45.755854 Read 93 bytes 07:52:45.755866 Process 93 bytes request 07:52:45.755881 Got request: GET /verifiedserver HTTP/1.1 07:52:45.755891 Are-we-friendly question received 07:52:45.755915 Wrote request (93 bytes) input to log/6/server.input 07:52:45.755933 Identifying ourselves as friends 07:52:45.755986 Response sent (56 bytes) and written to log/6/server.response 07:52:45.755996 special request received, no persistency 07:52:45.756006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45933... * Established connection to 127.0.0.1 (127.0.0.1 port 45933) from 127.0.0.1 port 42656 * using HTTP/1.x > GET CMD (33792): ../libtool --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/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:40357/3033 > log/20/stdout3033 2> log/20/stderr3033 /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45933 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45933 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 83854 === 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: 83854 === End of file server.response === Start of file valgrind3031 ==175658== ==175658== Process terminating with default action of signal 4 (SIGILL) ==175658== Illegal opcode at address 0x4013DC0 ==175658== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175658== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175658== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175658== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3031 CMD (33792): ../libtool --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/valgrind3035 ../src/curl -q --trace-ascii log/13/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/13/outfile3035 http://127.0.0.1:37965/3035 > log/13/stdout3035 2> log/13/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/23/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41029/3034 > log/23/stdout3034 2> log/23/stderr3034 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/20/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:40357/3033 > log/20/stdout3033 2> log/20/stderr3033 3033: data FAILED: --- log/20/check-expected 2025-11-07 07:52:46.957374392 +0000 +++ log/20/check-generated 2025-11-07 07:52:46.957374392 +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/20/ dir 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/20/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:40357/3033 > log/20/stdout3033 2> log/20/stderr3033 === End of file commands.log === Start of file http_server.log 07:52:45.805166 ====> Client connect 07:52:45.805201 accept_connection 3 returned 4 07:52:45.805219 accept_connection 3 returned 0 07:52:45.805234 Read 93 bytes 07:52:45.805245 Process 93 bytes request 07:52:45.805259 Got request: GET /verifiedserver HTTP/1.1 07:52:45.805269 Are-we-friendly question received 07:52:45.805296 Wrote request (93 bytes) input to log/20/server.input 07:52:45.805315 Identifying ourselves as friends 07:52:45.805371 Response sent (56 bytes) and written to log/20/server.response 07:52:45.805382 special request received, no persistency 07:52:45.805392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40357... * Established connection to 127.0.0.1 (127.0.0.1 port 40357) from 127.0.0.1 port 34300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40357 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40357 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74397 === 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: 74397 === End of file server.response === Start of file stderr3033 URL: http://127.0.0.1:40357/3033 === End of file stderr3033 === Start of file valgrind3033 ==175764== ==175764== Process terminating with default action of signal 4 (SIGILL) ==175764== Illegal opcode at address 0x519E800 ==175764== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==175764== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==175764== by 0x519E800: Curl_multi_handle (multi.c:247) ==175764== by 0x4047FCA: UnknownInlinedFun (lib3033.c:107) ==175764== by 0x4047FCA: test_lib3033.lto_priv.0 (lib3033.c:100) ==175764== by 0x400347F: main (first.c:280) ==175764== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==175764== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175764== by 0x519E794: Curl_multi_handle (multi.c:239) ==175764== by 0x4047FCA: UnknownInlinedFun (lib3033.c:107) ==175764== by 0x4047FCA: test_lib3033.lto_priv.0 (lib3033.c:100) ==175764== by 0x400347F: main (first.c:280) ==175764== === End of file valgrind3033 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/13/valgrind3035 ../src/curl -q --trace-ascii log/13/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/13/outfile3035 http://127.0.0.1:37965/3035 > log/13/stdout3035 2> log/13/stderr3035 3035: 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/ dir 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/13/valgrind3035 ../src/curl -q --trace-ascii log/13/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/13/outfile3035 http://127.0.0.1:37965/3035 > log/13/stdout3035 2> log/13/stderr3035 === End of file commands.log === Start of file http_server.log 07:52:45.940820 ====> Client connect 07:52:45.940851 accept_connection 3 returned 4 07:52:45.940866 accept_connection 3 returned 0 07:52:45.940880 Read 93 bytes 07:52:45.940889 Process 93 bytes request 07:52:45.940902 Got request: GET /verifiedserver HTTP/1.1 07:52:45.940911 Are-we-friendly question received 07:52:45.940932 Wrote request (93 bytes) input to log/13/server.input 07:52:45.940946 Identifying ourselves as friends 07:52:45.940991 Response sent (57 bytes) and written to log/13/server.response 07:52:45.941000 special request received, no persistency 07:52:45.941009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37965... * Established connection to 127.0.0.1 (127.0.0.1 port 37965) from 127.0.0.1 port 58716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37965 > User-Agent: curl/8.17.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:37965 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 154708 === 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: 18 WE ROOLZ: 154708 === End of file server.response === Start of file valgrind3035 ==175934== ==175934== Process terminating with default action of signal 4 (SIGILL) ==175934== Illegal opcode at address 0x4013DC0 ==175934== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==175934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==175934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3035 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/23/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41029/3034 > log/23/stdout3034 2> log/23/stderr3034 libtests returned 132, when expecting 0 3034: exit FAILED == Contents of files in the log/23/ dir 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/23/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41029/3034 > log/23/stdout3034 2> log/23/stderr3034 === End of file commands.log === Start of file http_server.log 07:52:45.928224 ====> Client connect 07:52:45.928257 accept_connection 3 returned 4 07:52:45.928275 accept_connection 3 returned 0 07:52:45.928291 Read 93 bytes 07:52:45.928303 Process 93 bytes request 07:52:45.928318 Got request: GET /verifiedserver HTTP/1.1 07:52:45.928328 Are-we-friendly question received 07:52:45.928355 Wrote request (93 bytes) input to log/23/server.input 07:52:45.928375 Identifying ourselves as friends 07:52:45.928465 Response sent (56 bytes) and written to log/23/server.response 07:52:45.928479 special request received, no persistency 07:52:45.928489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41029... * EstCMD (33792): ../libtool --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/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:43955/3101 > log/2/stdout3101 2> log/2/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/11/valgrind3200 ./unit/units unit3200 log/11/curl_get_line3200 > log/11/stdout3200 2> log/11/stderr3200 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/valgrind3205 ./unit/units unit3205 - > log/12/stdout3205 2> log/12/stderr3205 CMD (33792): ../libtool --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/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:40377/3103 > log/22/stdout3103 2> log/22/stderr3103 ablished connection to 127.0.0.1 (127.0.0.1 port 41029) from 127.0.0.1 port 38960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41029 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41029 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74394 === 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: 74394 === End of file server.response === Start of file stderr3034 URL: http://127.0.0.1:41029/3034 === End of file stderr3034 === Start of file valgrind3034 ==175888== ==175888== Process terminating with default action of signal 4 (SIGILL) ==175888== Illegal opcode at address 0x51D5F1F ==175888== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175888== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175888== by 0x51D5F1F: Curl_open (url.c:525) ==175888== by 0x514F6EF: curl_easy_init (easy.c:371) ==175888== by 0x4047A0C: UnknownInlinedFun (lib3034.c:43) ==175888== by 0x4047A0C: test_lib3034.lto_priv.0 (lib3034.c:37) ==175888== by 0x400347F: main (first.c:280) ==175888== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175888== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175888== by 0x51D5EBD: Curl_open (url.c:504) ==175888== by 0x514F6EF: curl_easy_init (easy.c:371) ==175888== by 0x4047A0C: UnknownInlinedFun (lib3034.c:43) ==175888== by 0x4047A0C: test_lib3034.lto_priv.0 (lib3034.c:37) ==175888== by 0x400347F: main (first.c:280) ==175888== === 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/2/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:43955/3101 > log/2/stdout3101 2> log/2/stderr3101 3101: 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/ dir 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/2/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:43955/3101 > log/2/stdout3101 2> log/2/stderr3101 === End of file commands.log === Start of file http_server.log 07:52:46.953575 ====> Client connect 07:52:46.953606 accept_connection 3 returned 4 07:52:46.953622 accept_connection 3 returned 0 07:52:46.953636 Read 93 bytes 07:52:46.953647 Process 93 bytes request 07:52:46.953658 Got request: GET /verifiedserver HTTP/1.1 07:52:46.953668 Are-we-friendly question received 07:52:46.953689 Wrote request (93 bytes) input to log/2/server.input 07:52:46.953705 Identifying ourselves as friends 07:52:46.953754 Response sent (56 bytes) and written to log/2/server.response 07:52:46.953764 special request received, no persistency 07:52:46.953773 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43955... * Established connection to 127.0.0.1 (127.0.0.1 port 43955) from 127.0.0.1 port 58026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43955 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43955 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74876 === 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: 74876 === End of file server.response === Start of file stderr3101 URL: http://127.0.0.1:43955/3101 === End of file stderr3101 === Start of file valgrind3101 ==175948== ==175948== Process terminating with default action of signal 4 (SIGILL) ==175948== Illegal opcode at address 0x51D5F1F ==175948== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175948== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175948== by 0x51D5F1F: Curl_open (url.c:525) ==175948== by 0x514F6EF: curl_easy_init (easy.c:371) ==175948== by 0x404314A: test_lib3101.lto_priv.0 (lib3101.c:38) ==175948== by 0x400347F: main (first.c:280) ==175948== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175948== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175948== by 0x51D5EBD: Curl_open (url.c:504) ==175948== by 0x514F6EF: curl_easy_init (easy.c:371) ==175948== by 0x404314A: test_lib3101.lto_priv.0 (lib3101.c:38) ==175948== by 0x400347F: main (first.c:280) ==175948== === End of file valgrind3101 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/11/valgrind3200 ./unit/units unit3200 log/11/curl_get_line3200 > log/11/stdout3200 2> log/11/stderr3200 -------e-v- OK (1731 out of 1746, remaining: 00:01, took 0.601s, duration: 02:05) 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/12/valgrind3205 ./unit/units unit3205 - > log/12/stdout3205 2> log/12/stderr3205 -------e-v- OK (1736 out of 1746, remaining: 00:00, took 0.575s, duration: 02:05) 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/22/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:40377/3103 > log/22/stdout3103 2> log/22/stderr3103 3103: 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/ dir 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/22/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:40377/3103 > log/22/stdout3103 2> log/22/stderr3103 === End of file commands.log === Start of file http_server.log 07:52:46.256924 ====> Client connect 07:52:46.256962 accept_connection 3 returned 4 07:52:46.256980 accept_connection 3 returned 0 07:52:46.256994 Read 93 bytes 07:52:46.257005 Process 93 bytes request 07:52:46.257018 Got request: GET /verifiedserver HTTP/1.1 07:52:46.257028 Are-we-friendly question received 07:52:46.257051 Wrote request (93 bytes) input to log/22/server.input 07:52:46.257068 Identifying ourselves as friends 07:52:46.257124 Response sent (56 bytes) and written to log/22/server.response 07:52:46.257135 special request received, no persistency 07:52:46.257144 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40377... * Established connection to 127.0.0.1 (127.0.0.1 port 40377) from 127.0.0.1 port 46498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40377 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40377 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74395 === 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: 17 WE ROOLZ: 74395 === End of file server.response === Start of file stderr3103 URL: 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/6/valgrind3211 ./unit/units unit3211 - > log/6/stdout3211 2> log/6/stderr3211 CMD (33792): ../libtool --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/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:39661/3104 > log/7/stdout3104 2> log/7/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/8/valgrind3203 ../src/curl -q --trace-ascii log/8/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test3203.dir/ > log/8/stdout3203 2> log/8/stderr3203 CMD (33792): ../libtool --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/valgrind3105 ./libtest/libtests lib3105 - > log/15/stdout3105 2> log/15/stderr3105 ttp://127.0.0.1:40377/3103 === End of file stderr3103 === Start of file valgrind3103 ==176089== ==176089== Process terminating with default action of signal 4 (SIGILL) ==176089== Illegal opcode at address 0x51D5F1F ==176089== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==176089== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==176089== by 0x51D5F1F: Curl_open (url.c:525) ==176089== by 0x514F6EF: curl_easy_init (easy.c:371) ==176089== by 0x51C6E41: curl_share_init (share.c:49) ==176089== by 0x4048F22: test_lib3103.lto_priv.0 (lib3103.c:36) ==176089== by 0x400347F: main (first.c:280) ==176089== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==176089== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==176089== by 0x51D5EBD: Curl_open (url.c:504) ==176089== by 0x514F6EF: curl_easy_init (easy.c:371) ==176089== by 0x51C6E41: curl_share_init (share.c:49) ==176089== by 0x4048F22: test_lib3103.lto_priv.0 (lib3103.c:36) ==176089== by 0x400347F: main (first.c:280) ==176089== === End of file valgrind3103 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/6/valgrind3211 ./unit/units unit3211 - > log/6/stdout3211 2> log/6/stderr3211 units returned 132, when expecting 0 3211: exit FAILED == Contents of files in the log/6/ dir 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/6/valgrind3211 ./unit/units unit3211 - > log/6/stdout3211 2> log/6/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 ==176700== ==176700== Process terminating with default action of signal 4 (SIGILL) ==176700== Illegal opcode at address 0x4022105 ==176700== at 0x4022105: UnknownInlinedFun (string_fortified.h:59) ==176700== by 0x4022105: UnknownInlinedFun (uint-bset.c:108) ==176700== by 0x4022105: UnknownInlinedFun (unit3211.c:44) ==176700== by 0x4022105: test_unit3211 (unit3211.c:142) ==176700== by 0x400A12F: main (first.c:280) ==176700== 16 bytes in 1 blocks are definitely lost in loss record 2 of 14 ==176700== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==176700== by 0x40220E7: UnknownInlinedFun (uint-bset.c:52) ==176700== by 0x40220E7: UnknownInlinedFun (unit3211.c:40) ==176700== by 0x40220E7: test_unit3211 (unit3211.c:142) ==176700== by 0x400A12F: main (first.c:280) ==176700== === End of file valgrind3211 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/7/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:39661/3104 > log/7/stdout3104 2> log/7/stderr3104 3104: 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/ dir 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/7/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:39661/3104 > log/7/stdout3104 2> log/7/stderr3104 === End of file commands.log === Start of file http_server.log 07:52:47.392712 ====> Client connect 07:52:47.392742 accept_connection 3 returned 4 07:52:47.392759 accept_connection 3 returned 0 07:52:47.392775 Read 93 bytes 07:52:47.392785 Process 93 bytes request 07:52:47.392800 Got request: GET /verifiedserver HTTP/1.1 07:52:47.392810 Are-we-friendly question received 07:52:47.392832 Wrote request (93 bytes) input to log/7/server.input 07:52:47.392849 Identifying ourselves as friends 07:52:47.392901 Response sent (56 bytes) and written to log/7/server.response 07:52:47.392912 special request received, no persistency 07:52:47.392922 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39661... * Established connection to 127.0.0.1 (127.0.0.1 port 39661) from 127.0.0.1 port 35876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39661 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39661 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74718 === 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: 74718 === End of file server.response === Start of file stderr3104 URL: http://127.0.0.1:39661/3104 === End of file stderr3104 === Start of file valgrind3104 ==176159== ==176159== Process terminating with default action of signal 4 (SIGILL) ==176159== Illegal opcode at address 0x51D5F1F ==176159== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==176159== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==176159== by 0x51D5F1F: Curl_open (url.c:525) ==176159== by 0x514F6EF: curl_easy_init (easy.c:371) ==176159== by 0x51C6E41: curl_share_init (share.c:49) ==176159== by 0x40490A2: test_lib3104.lto_priv.0 (lib3104.c:36) ==176159== by 0x400347F: main (first.c:280) ==176159== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==176159== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==176159== by 0x51D5EBD: Curl_open (url.c:504) ==176159== by 0x514F6EF: curl_easy_init (easy.c:371) ==176159== by 0x51C6E41: curl_share_init (share.c:49) ==176159== by 0x40490A2: test_lib3104.lto_priv.0 (lib3104.c:36) ==176159== by 0x400347F: main (first.c:280) ==176159== === End of file valgrind3104 CMD (33792): ../libtool --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/valgrind3202 ../src/curl -q --output log/24/curl3202.out --include --trace-ascii log/24/trace3202 --trace-time -g "http://[::1]:41527/3202" --haproxy-clientip "2001:db8::" > log/24/stdout3202 2> log/24/stderr3202 CMD (33792): ../libtool --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/valgrind3212 ./unit/units unit3212 - > log/20/stdout3212 2> log/20/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/9/valgrind3206 ../src/curl -q --output log/9/curl3206.out --include --trace-ascii log/9/trace3206 --trace-time imap://127.0.0.1:42083/3206/ -u user:secret -X 'FETCH 456 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/8/valgrind3203 ../src/curl -q --trace-ascii log/8/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test3203.dir/ > log/8/stdout3203 2> log/8/stderr3203 3203: stdout FAILED: --- log/8/check-expected 2025-11-07 07:52:47.590707731 +0000 +++ log/8/check-generated 2025-11-07 07:52:47.590707731 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/8/ dir 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/8/valgrind3203 ../src/curl -q --trace-ascii log/8/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/8/test3203.dir/ > log/8/stdout3203 2> log/8/stderr3203 === End of file commands.log === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==176334== ==176334== Process terminating with default action of signal 4 (SIGILL) ==176334== Illegal opcode at address 0x4013DC0 ==176334== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176334== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176334== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176334== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3203 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/15/valgrind3105 ./libtest/libtests lib3105 - > log/15/stdout3105 2> log/15/stderr3105 libtests returned 132, when expecting 0 3105: exit FAILED == Contents of files in the log/15/ dir 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/15/valgrind3105 ./libtest/libtests lib3105 - > log/15/stdout3105 2> log/15/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 ==176178== ==176178== Process terminating with default action of signal 4 (SIGILL) ==176178== Illegal opcode at address 0x519E800 ==176178== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==176178== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==176178== by 0x519E800: Curl_multi_handle (multi.c:247) ==176178== by 0x4043D4E: UnknownInlinedFun (lib3105.c:38) ==176178== by 0x4043D4E: test_lib3105.lto_priv.0 (lib3105.c:28) ==176178== by 0x400347F: main (first.c:280) ==176178== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==176178== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==176178== by 0x519E794: Curl_multi_handle (multi.c:239) ==176178== by 0x4043D4E: UnknownInlinedFun (lib3105.c:38) ==176178== by 0x4043D4E: test_lib3105.lto_priv.0 (lib3105.c:28) ==176178== by 0x400347F: main (first.c:280) ==176178== === End of file valgrind3105 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/24/valgrind3202 ../src/curl -q --output log/24/curl3202.out --include --trace-ascii log/24/trace3202 --trace-time -g "http://[::1]:41527/3202" --haproxy-clientip "2001:db8::" > log/24/stdout3202 2> log/24/stderr3202 3202: 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/ dir 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/24/valgrind3202 ../src/curl -q --output log/24/curl3202.out --include --trace-ascii log/24/trace3202 --trace-time -g "http://[::1]:41527/3202" --haproxy-clientip "2001:db8::" > log/24/stdout3202 2> log/24/stderr3202 === End of file commands.log === Start of file http_ipv6_server.log 07:52:46.461655 ====> Client connect 07:52:46.461691 accept_connection 3 returned 4 07:52:46.461708 accept_connection 3 returned 0 07:52:46.461725 Read 89 bytes 07:52:46.461742 Process 89 bytes request 07:52:46.461759 Got request: GET /verifiedserver HTTP/1.1 07:52:46.461769 Are-we-friendly question received 07:52:46.461795 Wrote request (89 bytes) input to log/24/server.input 07:52:46.461816 Identifying ourselves as friends 07:52:46.461874 Response sent (56 bytes) and written to log/24/server.response 07:52:46.461887 special request received, no persistency 07:52:46.461896 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:41527... * Established connection to ::1 (::1 port 41527) from ::1 port 42490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:41527 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host ::1:41527 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 89377 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 3202 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 89377 === End of file server.response === Start of file valgrind3202 ==176346== ==176346== Process terminating with default action of signal 4 (SIGILL) ==176346== Illegal opcode at address 0x4013DC0 ==176346== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176346== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176346== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176346== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3202 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/20/valgrind3212 ./unit/units unit3212 - > log/20/stdout3212 2> log/20/stderr3212 units returned 132, when expecting 0 3212: exit FAILED == Contents of files in the log/20/ dir 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/20/valgrind3212 ./unit/units unit3212 - > log/20/stdout3212 2> log/20/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 ==176761== ==176761== Process terminating with default action of signal 4 (SIGILL) ==176761== Illegal opcode at address 0x4025335 ==176761== at 0x4025335: UnknownInlinedFun (string_fortified.h:59) ==176761== by 0x4025335: UnknownInlinedFun (uint-table.c:42) ==176761== by 0x4025335: UnknownInlinedFun (unit3212.c:35) ==176761== by 0x4025335: test_unit3212 (unit3212.c:49) ==176761== by 0x400A12F: main (first.c:280) === End of file valgrind3212 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:42083/3206/ -u userCMD (33792): ../libtool --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/valgrind3201 ../src/curl -q --output log/4/curl3201.out --include --trace-ascii log/4/trace3201 --trace-time http://127.0.0.1:43573/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/4/stdout3201 2> log/4/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/3/valgrind3204 ../src/curl -q --output log/3/curl3204.out --include --trace-ascii log/3/trace3204 --trace-time http://127.0.0.1:42701/3204 --etag-compare log/3/etag3204 --etag-save log/3/etag3204 > log/3/stdout3204 2> log/3/stderr3204 :secret -X 'FETCH 456 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/ dir 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:42083/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/9/stdout3206 2> log/9/stderr3206 === End of file commands.log === Start of file imap_server.log 07:52:46.666902 ====> Client connect 07:52:46.667054 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:46.667353 < "A001 CAPABILITY" 07:52:46.667391 > "A001 BAD Command[CR][LF]" 07:52:46.667565 < "A002 LIST "verifiedserver" *" 07:52:46.667592 LIST_imap got "verifiedserver" * 07:52:46.667616 > "* LIST () "/" "WE ROOLZ: 118710"[CR][LF]" 07:52:46.667633 > "A002 OK LIST Completed[CR][LF]" 07:52:46.667646 return proof we are we 07:52:46.708322 < "A003 LOGOUT" 07:52:46.708384 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:46.708403 > "A003 OK LOGOUT completed[CR][LF]" 07:52:46.709102 MAIN sockfilt said DISC 07:52:46.709162 ====> Client disconnected 07:52:46.709234 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:46.494733 ====> Client connect 07:52:46.495005 Received DATA (on stdin) 07:52:46.495020 > 178 bytes data, server => client 07:52:46.495034 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:46.495045 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:46.495055 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:46.495065 'rve\r\n' 07:52:46.495145 < 17 bytes data, client => server 07:52:46.495157 'A001 CAPABILITY\r\n' 07:52:46.495331 Received DATA (on stdin) 07:52:46.495343 > 18 bytes data, server => client 07:52:46.495354 'A001 BAD Command\r\n' 07:52:46.495410 < 30 bytes data, client => server 07:52:46.495422 'A002 LIST "verifiedserver" *\r\n' 07:52:46.495582 Received DATA (on stdin) 07:52:46.495594 > 34 bytes data, server => client 07:52:46.495605 '* LIST () "/" "WE ROOLZ: 118710"\r\n' 07:52:46.495625 Received DATA (on stdin) 07:52:46.495635 > 24 bytes data, server => client 07:52:46.495646 'A002 OK LIST Completed\r\n' 07:52:46.536038 < 13 bytes data, client => server 07:52:46.536072 'A003 LOGOUT\r\n' 07:52:46.536348 Received DATA (on stdin) 07:52:46.536366 > 36 bytes data, server => client 07:52:46.536378 '* BYE curl IMAP server signing off\r\n' 07:52:46.536420 Received DATA (on stdin) 07:52:46.536431 > 26 bytes data, server => client 07:52:46.536441 'A003 OK LOGOUT completed\r\n' 07:52:46.536967 ====> Client disconnect 07:52:46.537173 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 ==176596== ==176596== Process terminating with default action of signal 4 (SIGILL) ==176596== Illegal opcode at address 0x4013DC0 ==176596== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176596== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176596== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176596== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3206 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/4/valgrind3201 ../src/curl -q --output log/4/curl3201.out --include --trace-ascii log/4/trace3201 --trace-time http://127.0.0.1:43573/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/4/stdout3201 2> log/4/stderr3201 3201: 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/ dir 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/4/valgrind3201 ../src/curl -q --output log/4/curl3201.out --include --trace-ascii log/4/trace3201 --trace-time http://127.0.0.1:43573/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/4/stdout3201 2> log/4/stderr3201 === End of file commands.log === Start of file http_server.log 07:52:47.453630 ====> Client connect 07:52:47.453656 accept_connection 3 returned 4 07:52:47.453669 accept_connection 3 returned 0 07:52:47.453682 Read 93 bytes 07:52:47.453690 Process 93 bytes request 07:52:47.453702 Got request: GET /verifiedserver HTTP/1.1 07:52:47.453710 Are-we-friendly question received 07:52:47.453728 Wrote request (93 bytes) input to log/4/server.input 07:52:47.453741 Identifying ourselves as friends 07:52:47.453782 Response sent (56 bytes) and written to log/4/server.response 07:52:47.453790 special request received, no persistency 07:52:47.453798 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43573... * Established connection to 127.0.0.1 (127.0.0.1 port 43573) from 127.0.0.1 port 54396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43573 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43573 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74732 === 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: 74732 === End of file server.response === Start of file valgrind3201 ==176333== ==176333== Process terminating with default action of signal 4 (SIGILL) ==176333== Illegal opcode at address 0x4013DC0 ==176333== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176333== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3201 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/3/valgrind3204 ../src/curl -q --output log/3/curl3204.out --include --trace-ascii log/3/trace3204 --trace-time http://127.0.0.1:42701/3204 --etag-compare log/3/etag3204 --etag-save log/3/etag3204 > log/3/stdout3204 2> log/3/stderr3204 3204: 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/ dir 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/3/valgrind3204 ../src/curl -q --output log/3/curl3204.out --include --trace-ascii log/3/trace3204 --trace-time http://127.0.0.1:42701/3204 --etag-compare log/3/etag3204 --etag-save log/3/etag3204 > log/3/stdout3204 2> log/3/stderr3204 === End of file commands.log === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 07:52:46.489507 ====> Client connect 07:52:46.489542 accept_connection 3 returned 4 07:52:46.489560 accept_connection 3 returned 0 07:52:46.489575 Read 93 bytes 07:52:46.489587 Process 93 bytes request 07:52:46.489600 Got reCMD (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/valgrind3214 ./unit/units unit3214 - > log/23/stdout3214 2> log/23/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/13/valgrind3213 ./unit/units unit3213 - > log/13/stdout3213 2> log/13/stderr3213 CMD (33792): ../libtool --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/valgrind3210 ../src/curl -q --output log/21/curl3210.out --include --trace-ascii log/21/trace3210 --trace-time imap://127.0.0.1:44177/3210 -T log/21/upload3210 -u user:secret --upload-flags -seen > log/21/stdout3210 2> log/21/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/1/valgrind3209 ../src/curl -q --output log/1/curl3209.out --include --trace-ascii log/1/trace3209 --trace-time imap://127.0.0.1:43587/3209 -T log/1/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/1/stdout3209 2> log/1/stderr3209 quest: GET /verifiedserver HTTP/1.1 07:52:46.489611 Are-we-friendly question received 07:52:46.489638 Wrote request (93 bytes) input to log/3/server.input 07:52:46.489656 Identifying ourselves as friends 07:52:46.489711 Response sent (57 bytes) and written to log/3/server.response 07:52:46.489722 special request received, no persistency 07:52:46.489732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42701... * Established connection to 127.0.0.1 (127.0.0.1 port 42701) from 127.0.0.1 port 33952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42701 > User-Agent: curl/8.17.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:42701 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162187 === 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: 18 WE ROOLZ: 162187 === End of file server.response === Start of file valgrind3204 ==176472== ==176472== Process terminating with default action of signal 4 (SIGILL) ==176472== Illegal opcode at address 0x4013DC0 ==176472== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176472== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176472== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176472== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3204 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/23/valgrind3214 ./unit/units unit3214 - > log/23/stdout3214 2> log/23/stderr3214 -------e-v- OK (1745 out of 1746, remaining: 00:00, took 0.540s, duration: 02:06) 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/13/valgrind3213 ./unit/units unit3213 - > log/13/stdout3213 2> log/13/stderr3213 units returned 132, when expecting 0 3213: exit FAILED == Contents of files in the log/13/ dir 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/13/valgrind3213 ./unit/units unit3213 - > log/13/stdout3213 2> log/13/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 ==176897== ==176897== Process terminating with default action of signal 4 (SIGILL) ==176897== Illegal opcode at address 0x402A6B7 ==176897== at 0x402A6B7: UnknownInlinedFun (string_fortified.h:59) ==176897== by 0x402A6B7: UnknownInlinedFun (uint-spbset.c:42) ==176897== by 0x402A6B7: UnknownInlinedFun (unit3213.c:39) ==176897== by 0x402A6B7: test_unit3213 (unit3213.c:116) ==176897== by 0x400A12F: main (first.c:280) === End of file valgrind3213 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/21/valgrind3210 ../src/curl -q --output log/21/curl3210.out --include --trace-ascii log/21/trace3210 --trace-time imap://127.0.0.1:44177/3210 -T log/21/upload3210 -u user:secret --upload-flags -seen > log/21/stdout3210 2> log/21/stderr3210 3210: 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/ dir 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/21/valgrind3210 ../src/curl -q --output log/21/curl3210.out --include --trace-ascii log/21/trace3210 --trace-time imap://127.0.0.1:44177/3210 -T log/21/upload3210 -u user:secret --upload-flags -seen > log/21/stdout3210 2> log/21/stderr3210 === End of file commands.log === Start of file imap_server.log 07:52:46.900809 ====> Client connect 07:52:46.900953 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:46.901253 < "A001 CAPABILITY" 07:52:46.901294 > "A001 BAD Command[CR][LF]" 07:52:46.901478 < "A002 LIST "verifiedserver" *" 07:52:46.901505 LIST_imap got "verifiedserver" * 07:52:46.901531 > "* LIST () "/" "WE ROOLZ: 110096"[CR][LF]" 07:52:46.901549 > "A002 OK LIST Completed[CR][LF]" 07:52:46.901563 return proof we are we 07:52:46.951497 < "A003 LOGOUT" 07:52:46.951550 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:46.951569 > "A003 OK LOGOUT completed[CR][LF]" 07:52:46.952439 MAIN sockfilt said DISC 07:52:46.952481 ====> Client disconnected 07:52:46.952574 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:46.728654 ====> Client connect 07:52:46.728903 Received DATA (on stdin) 07:52:46.728920 > 178 bytes data, server => client 07:52:46.728933 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:46.728944 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:46.728956 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:46.728967 'rve\r\n' 07:52:46.729038 < 17 bytes data, client => server 07:52:46.729051 'A001 CAPABILITY\r\n' 07:52:46.729235 Received DATA (on stdin) 07:52:46.729249 > 18 bytes data, server => client 07:52:46.729261 'A001 BAD Command\r\n' 07:52:46.729318 < 30 bytes data, client => server 07:52:46.729332 'A002 LIST "verifiedserver" *\r\n' 07:52:46.729500 Received DATA (on stdin) 07:52:46.729512 > 34 bytes data, server => client 07:52:46.729524 '* LIST () "/" "WE ROOLZ: 110096"\r\n' 07:52:46.729545 Received DATA (on stdin) 07:52:46.729556 > 24 bytes data, server => client 07:52:46.729567 'A002 OK LIST Completed\r\n' 07:52:46.779266 < 13 bytes data, client => server 07:52:46.779292 'A003 LOGOUT\r\n' 07:52:46.779509 Received DATA (on stdin) 07:52:46.779522 > 36 bytes data, server => client 07:52:46.779534 '* BYE curl IMAP server signing off\r\n' 07:52:46.779557 Received DATA (on stdin) 07:52:46.779567 > 26 bytes data, server => client 07:52:46.779577 'A003 OK LOGOUT completed\r\n' 07:52:46.780321 ====> Client disconnect 07:52:46.780511 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 ==176755== ==176755== Process terminating with default action of signal 4 (SIGILL) ==176755== Illegal opcode at address 0x4013DC0 ==176755== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176755== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176755== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176755== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3210 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/1/valgrind3209 ../src/curl -q --output log/1/curl3209.out --include --CMD (33792): ../libtool --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/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:40471/3100 > log/18/stdout3100 2> log/18/stderr3100 CMD (33792): ../libtool --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/valgrind3215 ../src/curl -q --output log/2/curl3215.out --include --trace-ascii log/2/trace3215 --trace-time smtp://127.0.0.1:40237/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/2/stdout3215 2> log/2/stderr3215 trace-ascii log/1/trace3209 --trace-time imap://127.0.0.1:43587/3209 -T log/1/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/1/stdout3209 2> log/1/stderr3209 3209: 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/ dir 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/1/valgrind3209 ../src/curl -q --output log/1/curl3209.out --include --trace-ascii log/1/trace3209 --trace-time imap://127.0.0.1:43587/3209 -T log/1/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/1/stdout3209 2> log/1/stderr3209 === End of file commands.log === Start of file imap_server.log 07:52:46.896235 ====> Client connect 07:52:46.896368 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 07:52:46.896669 < "A001 CAPABILITY" 07:52:46.896705 > "A001 BAD Command[CR][LF]" 07:52:46.896881 < "A002 LIST "verifiedserver" *" 07:52:46.896907 LIST_imap got "verifiedserver" * 07:52:46.896930 > "* LIST () "/" "WE ROOLZ: 118640"[CR][LF]" 07:52:46.896948 > "A002 OK LIST Completed[CR][LF]" 07:52:46.896962 return proof we are we 07:52:46.941689 < "A003 LOGOUT" 07:52:46.941749 > "* BYE curl IMAP server signing off[CR][LF]" 07:52:46.941769 > "A003 OK LOGOUT completed[CR][LF]" 07:52:46.942834 MAIN sockfilt said DISC 07:52:46.942877 ====> Client disconnected 07:52:46.942957 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 07:52:46.724076 ====> Client connect 07:52:46.724318 Received DATA (on stdin) 07:52:46.724335 > 178 bytes data, server => client 07:52:46.724349 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 07:52:46.724361 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 07:52:46.724373 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 07:52:46.724383 'rve\r\n' 07:52:46.724462 < 17 bytes data, client => server 07:52:46.724476 'A001 CAPABILITY\r\n' 07:52:46.724645 Received DATA (on stdin) 07:52:46.724658 > 18 bytes data, server => client 07:52:46.724670 'A001 BAD Command\r\n' 07:52:46.724727 < 30 bytes data, client => server 07:52:46.724739 'A002 LIST "verifiedserver" *\r\n' 07:52:46.724900 Received DATA (on stdin) 07:52:46.724912 > 34 bytes data, server => client 07:52:46.724924 '* LIST () "/" "WE ROOLZ: 118640"\r\n' 07:52:46.724946 Received DATA (on stdin) 07:52:46.724957 > 24 bytes data, server => client 07:52:46.724969 'A002 OK LIST Completed\r\n' 07:52:46.769417 < 13 bytes data, client => server 07:52:46.769456 'A003 LOGOUT\r\n' 07:52:46.769722 Received DATA (on stdin) 07:52:46.769738 > 36 bytes data, server => client 07:52:46.769750 '* BYE curl IMAP server signing off\r\n' 07:52:46.769774 Received DATA (on stdin) 07:52:46.769785 > 26 bytes data, server => client 07:52:46.769796 'A003 OK LOGOUT completed\r\n' 07:52:46.770712 ====> Client disconnect 07:52:46.770895 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 ==176738== ==176738== Process terminating with default action of signal 4 (SIGILL) ==176738== Illegal opcode at address 0x4013DC0 ==176738== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==176738== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176738== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==176738== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3209 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/18/server/rtsp_server.pid" --portfile "log/18/server/rtsp_server.port" --logfile "log/18/rtsp_server.log" --logdir "log/18" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 175869 port 40471 * pid rtsp => 175869 175869 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/18/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:40471/3100 > log/18/stdout3100 2> log/18/stderr3100 3100: 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/ dir after test 3100 === Start of file commands.log ../libtool --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/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:40471/3100 > log/18/stdout3100 2> log/18/stderr3100 === End of file commands.log === Start of file rtsp_server.log 07:52:46.946469 Running IPv4 version on port 40471 07:52:46.946562 Wrote pid 175869 to log/18/server/rtsp_server.pid 07:52:46.946652 Wrote port 40471 to log/18/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 3100 === End of file server.cmd === Start of file stderr3100 URL: rtsp://127.0.0.1:40471/3100 === End of file stderr3100 === Start of file valgrind3100 ==176900== ==176900== Process terminating with default action of signal 4 (SIGILL) ==176900== Illegal opcode at address 0x51D5F1F ==176900== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==176900== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==176900== by 0x51D5F1F: Curl_open (url.c:525) ==176900== by 0x514F6EF: curl_easy_init (easy.c:371) ==176900== by 0x4042F8A: test_lib3100.lto_priv.0 (lib3100.c:38) ==176900== by 0x400347F: main (first.c:280) ==176900== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==176900== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==176900== by 0x51D5EBD: Curl_open (url.c:504) ==176900== by 0x514F6EF: curl_easy_init (easy.c:371) ==176900== by 0x4042F8A: test_lib3100.lto_priv.0 (lib3100.c:38) ==176900== by 0x400347F: main (first.c:280) ==176900== === End of file valgrind3100 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/2/valgrind3215 ../src/curl -q --output log/2/curl3215.out --include --trace-ascii log/2/trace3215 --trace-time smtp://127.0.0.1:40237/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/2/stdout3215 2> log/2/stderr3215 3215: 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/ dir 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/2/valgrind3215 ../src/curl -q --output log/2/curl3215.out --include --trace-ascii log/2/trace3215 --trace-time smtp://127.0.0.1:40237/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/2/stdout3215 2> log/2/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 07:52:47CMD (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/valgrind3026 ./libtest/libtests lib3026 - > log/16/stdout3026 2> log/16/stderr3026 * kill pid for ftp-ctrl => 80555 * kill pid for ftp-ctrl => 80640 * kill pid for ftp-ctrl => 80390 * kill pid for ftp-ctrl => 80393 * kill pid for ftp-ctrl => 82555 * kill pid for ftp-ctrl => 80632 * kill pid for ftp-ctrl => 83316 * kill pid for ftp-ctrl => 80396 * kill pid for ftp-ctrl => 80642 * kill pid for ftp-ctrl => 141774 * kill pid for ftp-ctrl => 80641 * kill pid for ftp-ctrl => 80639 * kill pid for ftp-ctrl => 83496 * kill pid for ftp-ctrl => 83091 * kill pid for ftp-ctrl => 80625 * kill pid for ftp-ctrl => 80626 * kill pid for ftp-ctrl => 80602 * kill pid for ftp-ctrl => 80556 * kill pid for ftp-ctrl => 81241 * kill pid for ftp-ctrl => 81004 * kill pid for ftp-ctrl => 80696 * kill pid for ftp-ctrl => 81252 * kill pid for ftp-ctrl => 163440 * kill pid for ftp-ctrl => 80677 * kill pid for imap-filt => 118588 * kill pid for imap-filt => 118568 * kill pid for imap-filt => 118781 * kill pid for imap-filt => 111436 * kill pid for imap-filt => 118783 * kill pid for ftp-ipv6-ctrl => 90242 * kill pid for ftp-ipv6-ctrl => 90257 * kill pid for pop3-filt => 121605 * kill pid for smtp-filt => 124782 RUN: Process with pid 79371 signalled to die RUN: Process with pid 80636 signalled to die RUN: Process with pid 92301 signalled to die RUN: Process with pid 107554 signalled to die RUN: Process with pid 111388 signalled to die RUN: Process with pid 113315 signalled to die * kill pid for imap-filt => 109784 RUN: Process with pid 121567 signalled to die RUN: Process with pid 124722 signalled to die RUN: Process with pid 154217 signalled to die RUN: Process with pid 159283 signalled to die * kill pid for ftp-ipv6-ctrl => 90274 * kill pid for imap-filt => 118614 * kill pid for pop3-filt => 121497 * kill pid for smtp-filt => 124198 * kill pid for imap-filt => 118720 RUN: Process with pid 79581 signalled to die RUN: Process with pid 80695 signalled to die RUN: Process with pid 90272 signalled to die RUN: Process with pid 113001 signalled to die RUN: Process with pid 118612 signalled to die RUN: Process with pid 121481 signalled to die RUN: Process with pid 124106 signalled to die RUN: Process with pid 141373 signalled to die RUN: Process with pid 148773 signalled to die RUN: Process with pid 154708 signalled to die * kill pid for pop3-filt => 121546 * kill pid for smtp-filt => 109788 RUN: Process with pid 74613 signalled to die RUN: Process with pid 81212 signalled to die RUN: Process with pid 92302 signalled to die RUN: Process with pid 109786 signalled to die RUN: Process with pid 114484 signalled to die RUN: Process with pid 118710 signalled to die RUN: Process with pid 121541 signalled to die RUN: Process with pid 145934 signalled to die RUN: Process with pid 161167 signalled to die RUN: Process with pid 173128 signalled to die * kill pid for pop3-filt => 121707 * kill pid for imap-filt => 118721 * kill pid for ftp-ipv6-ctrl => 132934 * kill pid for imap-filt => 118650 * kill pid for pop3-filt => 121511 * kill pid for smtp-filt => 109735 * kill pid for imap-filt => 118615 * kill pid for ftp-ipv6-ctrl => 90280 * kill pid for imap-filt => 110225 * kill pid for pop3-filt => 102089 * kill pid for pop3-filt => 121584 * kill pid for smtp-filt => 124411 RUN: Process with pid 74402 signalled to die RUN: Process with pid 80326 signalled to die RUN: Process with pid 90195 signalled to die RUN: Process with pid 107732 signalled to die RUN: Process with pid 113126 signalled to die RUN: Process with pid 124404 signalled to die RUN: Process with pid 141376 signalled to die RUN: Process with pid 143374 signalled to die RUN: Process with pid 144413 signalled to die * kill pid for imap-filt => 118718 * kill pid for pop3-filt => 121545 * kill pid for smtp-filt => 124456 RUN: Process with pid 74399 signalled to die RUN: Process with pid 80643 signalled to die RUN: Process with pid 91332 signalled to die RUN: Process with pid 112570 signalled to die RUN: Process with pid 118713 signalled to die RUN: Process with pid 121540 signalled to die RUN: Process with pid 124421 signalled to die RUN: Process with pid 133221 signalled to die RUN: Process with pid 175869 signalled to die * kill pid for imap-filt => 118633 * kill pid for pop3-filt => 121580 * kill pid for imap-filt => 118649 * kill pid for pop3-filt => 121500 * kill pid for smtp-filt => 124299 RUN: Process with pid 74397 signalled to die RUN: Process with pid 80551 signalled to die RUN: Process with pid 91698 signalled to die RUN: Process with pid 112981 signalled to die RUN: Process with pid 118613 signalled to die RUN: Process with pid 121498 signalled to die RUN: Process with pid 124297 signalled to die RUN: Process with pid 130314 signalled to die RUN: Process with pid 156906 signalled to die * kill pid for imap-filt => 118611 * kill pid for pop3-filt => 121521 * kill pid for smtp-filt => 124367 RUN: Process with pid 74718 signalled to die RUN: Process with pid 89651 signalled to die RUN: Process with pid 92320 signalled to die RUN: Process with pid 109783 signalled to die RUN: Process with pid 115595 signalled to die RUN: Process with pid 121518 signalled to die RUN: Process with pid 124351 signalled to die RUN: Process with pid 141706 signalled to die RUN: Process with pid 172976 signalled to die * kill pid for imap-filt => 118719 * kill pid for pop3-filt => 121390 * kill pid for smtp-filt => 124074 * kill pid for imap-filt => 118780 * kill pid for pop3-filt => 121357 * kill pid for smtp-filt => 109789 RUN: Process with pid 74732 signalled to die RUN: Process with pid 80637 signalled to die RUN: Process with pid 109787 signalled to die RUN: Process with pid 113312 signalled to die RUN: Process with pid 118777 signalled to die RUN: Process with pid 121552 signalled to die RUN: Process with pid 141514 signalled to die RUN: Process with pid 159904 signalled to die RUN: Process with pid 172915 signalled to die * kill pid for pop3-filt => 122424 * kill pid for pop3-filt => 121510 RUN: Process with pid 80340 signalled to die RUN: Process with pid 92303 signalled to die RUN: Process with pid 109725 signalled to die RUN: Process with pid 113031 signalled to die RUN: Process with pid 118647 signalled to die RUN: Process with pid 121505 signalled to die RUN: Process with pid 141437 signalled to die RUN: Process with pid 162187 signalled to die * kill pid for smtp-filt => 124413 * kill pid for imap-filt => 119412 * kill pid for pop3-filt => 121400 * kill pid for smtp-filt => 124777 * kill pid for imap-filt => 118782 * kill pid for pop3-filt => 121542 RUN: Process with pid 74401 signalled to die RUN: Process with pid 80324 signalled to die RUN: Process with pid 111882 signalled to die RUN: Process with pid 118550 signalled to die RUN: Process with pid 121693 signalled to die RUN: Process with pid 124032 signalled to die RUN: Process with pid 134940 signalled to die RUN: Process with pid 144327 signalled to die RUN: Process with pid 173014 signalled to die * kill pid for smtp-filt => 124044 * kill pid for imap-filt => 118334 * kill pid for pop3-filt => 121543 RUN: Process with pid 74393 signalled to die RUN: Process with pid 83461 signalled to die RUN: Process with pid 89377 signalled to die RUN: Process with pid 107422 signalled to die RUN: Process with pid 118606 signalled to die RUN: Process with pid 121382 signalled to die RUN: Process with pid 124725 signalled to die RUN: Process with pid 130498 signalled to die RUN: Process with pid 132914 signalled to die RUN: Process with pid 141520 signalled to die RUN: Process with pid 147059 signalled to die RUN: Process with pid 172970 signalled to die * kill pid for smtp-filt => 124281 * kill pid for pop3-filt => 121583 * kill pid for smtp-filt => 124845 RUN: Process with pid 74394 signalled to die RUN: Process with pid 82431 signalled to die RUN: Process with pid 103609 signalled to die RUN: Process with pid 113145 signalled to die RUN: Process with pid 118776 signalled to die RUN: Process with pid 121551 signalled to die RUN: Process with pid 124810 signalled to die RUN: Process with pid 141519 signalled to die RUN: Process with pid 168114 signalled to die * kill pid for smtp-filt => 124311 * kill pid for smtp-filt => 124497 * kill pid for smtp-filt => 124811 RUN: Process with pid 76290 signalled to die RUN: Process with pid 80617 signalled to die RUN: Process with pid 113319 signalled to die RUN: Process with pid 118779 signalled to die RUN: Process with pid 121553 signalled to die RUN: Process with pid 124745 signalled to die RUN: Process with pid 141289 signalled to die * kill pid for smtp-filt => 124432 RUN: Process with pid 74404 signalled to die RUN: Process with pid 80233 signalled to die RUN: Process with pid 81000 signalled to die RUN: Process with pid 113148 signalled to die RUN: Process with pid 118712 signalled to die RUN: Process with pid 121534 signalled to die RUN: Process with pid 124419 signalled to die * kill pid for pop3-filt => 121544 * kill pid for pop3-filt => 121506 * kill pid for smtp-filt => 124455 RUN: Process with pid 74398 signalled to die RUN: Process with pid 80634 signalled to die RUN: Process with pid 113149 signalled to die RUN: Process with pid 118261 signalled to die RUN: Process with pid 121538 signalled to die RUN: Process with pid 124423 signalled to die RUN: Process with pid 132939 signalled to die RUN: Process with pid 141529 signalled to die RUN: Process with pid 147058 signalled to die * kill pid for pop3-filt => 121508 * kill pid for smtp-filt => 124373 RUN: Process with pid 74876 signalled to die RUN: Process with pid 80630 signalled to die RUN: Process with pid 107425 signalled to die RUN: Process with pid 112739 signalled to die RUN: Process with pid 119409 signalled to die RUN: Process with pid 121502 signalled to die RUN: Process with pid 124355 signalled to die RUN: Process with pid 141528 signalled to die RUN: Process with pid 169499 signalled to die RUN: Process with pid 74555 signalled to die RUN: Process with pid 80620 signalled to die RUN: Process with pid 89396 signalled to die RUN: Process with pid 107437 signalled to die RUN: Process with pid 121367 signalled to die RUN: Process with pid 124012 signalled to die RUN: Process with pid 141293 signalled to die RUN: Process with pid 147482 signalled to die RUN: Process with pid 171392 signalled to die RUN: Process with pid 81211 signalled to die RUN: Process with pid 83854 signalled to die RUN: Process with pid 90170 signalled to die RUN: Process with pid 113127 signalled to die RUN: Process with pid 122342 signalled to die RUN: Process with pid 124405 signalled to die RUN: Process with pid 132709 signalled to die RUN: Process with pid 141292 signalled to die * kill pid for smtp-filt => 124308 RUN: Process with pid 74928 signalled to die RUN: Process with pid 83307 signalled to die RUN: Process with pid 113124 signalled to die RUN: Process with pid 118640 signalled to die RUN: Process with pid 121499 signalled to die RUN: Process with pid 124301 signalled to die RUN: Process with pid 135137 signalled to die RUN: Process with pid 148819 signalled to die RUN: Process with pid 155994 signalled to die * kill pid for pop3-filt => 121549 * kill pid for smtp-filt => 109921 RUN: Process with pid 74395 signalled to die RUN: Process with pid 80638 signalled to die RUN: Process with pid 109920 signalled to die RUN: Process with pid 112720 signalled to die RUN: Process with pid 118778 signalled to die RUN: Process with pid 121547 signalled to die RUN: Process with pid 157559 signalled to die * kill pid for smtp-filt => 124574 RUN: Process with pid 74504 signalled to die RUN: Process with pid 90575 signalled to die RUN: Process with pid 107537 signalled to die RUN: Process with pid 112929 signalled to die RUN: Process with pid 118578 signalled to die RUN: Process with pid 121318 signalled to die RUN: Process with pid 124474 signalled to die RUN: Process with pid 155986 signalled to die RUN: Process with pid 160938 signalled to die RUN: Process with pid 163368 signalled to die RUN: Process with pid 173001 signalled to die RUN: Process with pid 74396 signalled to die RUN: Process with pid 83057 signalled to die RUN: Process with pid 90278 signalled to die RUN: Process with pid 94346 signalled to die RUN: Process with pid 102002 signalled to die RUN: Process with pid 107567 signalled to die RUN: Process with pid 110096 signalled to die RUN: Process with pid 112733 signalled to die RUN: Process with pid 124246 signalled to die RUN: Process with pid 141371 signalled to die RUN: Process with pid 74400 signalled to die RUN: Process with pid 80557 signalled to die RUN: Process with pid 113032 signalled to die RUN: Process with pid 118623 signalled to die RUN: Process with pid 121503 signalled to die RUN: Process with pid 124302 signalled to die RUN: Process with pid 141518 signalled to die RUN: Process with pid 155495 signalled to die RUN: Process with pid 75828 signalled to die RUN: Process with pid 80550 signalled to die RUN: Process with pid 113123 signalled to die RUN: Process with pid 118715 signalled to die RUN: Process with pid 121536 signalled to die RUN: Process with pid 124444 signalled to die RUN: Process with pid 157477 signalled to die RUN: Process with pid 161131 signalled to die RUN: Process with pid 81212 gracefully died RUN: Process with pid 80326 gracefully died RUN: Process with pid 80637 gracefully died RUN: Process with pid 80340 gracefully died RUN: Process with pid 80324 gracefully died RUN: Process with pid 83461 gracefully died RUN: Process with pid 82431 gracefully died RUN: Process with pid 80617 gracefully died RUN: Process with pid 81000 gracefully died RUN: Process with pid 80630 gracefully died RUN: Process with pid 80634 gracefully died RUN: Process with pid 80620 gracefully died RUN: Process with pid 81211 gracefully died RUN: Process with pid 83307 gracefully died RUN: Process with pid 80638 gracefully died RUN: Process with pid 118578 gracefully died RUN: Process with pid 83057 gracefully died RUN: Process with pid 80557 gracefully died RUN: Process with pid 80550 gracefully died RUN: Process with pid 79371 gracefully died RUN: Process with pid 79581 gracefully died RUN: Process with pid 74613 gracefully died RUN: Process with pid 74399 gracefully died RUN: Process with pid 74397 gracefully died RUN: Process with pid 74402 gracefully died RUN: Process with pid 74718 gracefully died RUN: Process with pid 74732 gracefully died RUN: Process with pid 109725 gracefully died RUN: Process with pid 74401 gracefully died RUN: Process with pid 74393 gracefully died RUN: Process with pid 74394 gracefully died RUN: Process with pid 76290 gracefully died RUN: Process with pid 74404 gracefully died RUN: Process with pid 74876 gracefully died RUN: Process with pid 74398 gracefully died RUN: Process with pid 74555 gracefully died RUN: Process with pid 83854 gracefully died RUN: Process with pid 74928 gracefully died RUN: Process with pid 74395 gracefully died RUN: Process with pid 74504 gracefully died RUN: Process with pid 74396 gracefully died RUN: Process with pid 74400 gracefully died RUN: Process with pid 75828 gracefully died RUN: Process with pid 80695 gracefully died RUN: Process with pid 109786 gracefully died RUN: Process with pid 80636 gracefully died RUN: Process with pid 80643 gracefully died RUN: Process with pid 80551 gracefully died RUN: Process with pid 90195 gracefully died RUN: Process with pid 89651 gracefully died RUN: Process with pid 109787 gracefully died RUN: Process with pid 113031 gracefully died RUN: Process with pid 118550 gracefully died RUN: Process with pid 89377 gracefully died RUN: Process with pid 103609 gracefully died RUN: Process with pid 113319 gracefully died RUN: Process with pid 80233 gracefully died RUN: Process with pid 112739 gracefully died RUN: Process with pid 113149 gracefully died RUN: Process with pid 89396 gracefully died RUN: Process with pid 90170 gracefully died RUN: Process with pid 113124 gracefully died RUN: Process with pid 109920 gracefully died RUN: Process with pid 90575 gracefully died RUN: Process with pid 90278 gracefully died RUN: Process with pid 113032 gracefully died RUN: Process with pid 113123 gracefully died RUN: Process with pid 90272 gracefully died RUN: Process with pid 114484 gracefully died RUN: Process with pid 111388 gracefully died RUN: Process with pid 112570 gracefully died RUN: Process with pid 91698 gracefully died RUN: Process with pid 113126 gracefully died RUN: Process with pid 109783 gracefully died RUN: Process with pid 113312 gracefully died RUN: Process with pid 118647 gracefully died RUN: Process with pid 121693 gracefully died RUN: Process with pid 118606 gracefully died RUN: Process with pid 113145 gracefully died RUN: Process with pid 118779 gracefully died RUN: Process with pid 113148 gracefully died RUN: Process with pid 119409 gracefully died RUN: Process with pid 118261 gracefully died RUN: Process with pid 121367 gracefully died RUN: Process with pid 113127 gracefully died RUN: Process with pid 118640 gracefully died RUN: Process with pid 112720 gracefully died RUN: Process with pid 112929 gracefully died RUN: Process with pid 102002 gracefully died RUN: Process with pid 118623 gracefully died RUN: Process with pid 118715 gracefully died RUN: Process with pid 118710 gracefully died RUN: Process with pid 113001 gracefully died RUN: Process with pid 113315 gracefully died RUN: Process with pid 118713 gracefully died RUN: Process with pid 112981 gracefully died RUN: Process with pid 124404 gracefully died RUN: Process with pid 115595 gracefully died RUN: Process with pid 118777 gracefully died RUN: Process with pid 121505 gracefully died RUN: Process with pid 124032 gracefully died RUN: Process with pid 121382 gracefully died RUN: Process with pid 118776 gracefully died RUN: Process with pid 121553 gracefully died RUN: Process with pid 118712 gracefully died RUN: Process with pid 121502 gracefully died RUN: Process with pid 121538 gracefully died RUN: Process with pid 124012 gracefully died RUN: Process with pid 122342 gracefully died RUN: Process with pid 121499 gracefully died RUN: Process with pid 118778 gracefully died RUN: Process with pid 121318 gracefully died RUN: Process with pid 110096 gracefully died RUN: Process with pid 121503 gracefully died RUN: Process with pid 121536 gracefully died RUN: Process with pid 121541 gracefully died RUN: Process with pid 118612 gracefully died RUN: Process with pid 121567 gracefully died RUN: Process with pid 121540 gracefully died RUN: Process with pid 118613 gracefully died RUN: Process with pid 141376 gracefully died RUN: Process with pid 121518 gracefully died RUN: Process with pid 121552 gracefully died RUN: Process with pid 141437 gracefully died RUN: Process with pid 121551 gracefully died RUN: Process with pid 134940 gracefully died RUN: Process with pid 124725 gracefully died RUN: Process with pid 121534 gracefully died RUN: Process with pid 124745 gracefully died RUN: Process with pid 124355 gracefully died RUN: Process with pid 141293 gracefully died RUN: Process with pid 124405 gracefully died RUN: Process with pid 124423 gracefully died RUN: Process with pid 124301 gracefully died RUN: Process with pid 121547 gracefully died RUN: Process with pid 124474 gracefully died RUN: Process with pid 112733 gracefully died RUN: Process with pid 124302 gracefully died RUN: Process with pid 124444 gracefully died RUN: Process with pid 124722 gracefully died RUN: Process with pid 145934 gracefully died RUN: Process with pid 121481 gracefully died RUN: Process with pid 124421 gracefully died RUN: Process with pid 121498 gracefully died RUN: Process with pid 143374 gracefully died RUN: Process with pid 124351 gracefully died RUN: Process with pid 141514 gracefully died RUN: Process with pid 162187 gracefully died RUN: Process with pid 124810 gracefully died RUN: Process with pid 173014 gracefully died RUN: Process with pid 132914 gracefully died RUN: Process with pid 124419 gracefully died RUN: Process with pid 141289 gracefully died RUN: Process with pid 141528 gracefully died RUN: Process with pid 147482 gracefully died RUN: Process with pid 132709 gracefully died RUN: Process with pid 141529 gracefully died RUN: Process with pid 135137 gracefully died RUN: Process with pid 157559 gracefully died RUN: Process with pid 155986 gracefully died RUN: Process with pid 124246 gracefully died RUN: Process with pid 141518 gracefully died RUN: Process with pid 157477 gracefully died RUN: Process with pid 154217 gracefully died RUN: Process with pid 124106 gracefully died RUN: Process with pid 161167 gracefully died RUN: Process with pid 133221 gracefully died RUN: Process with pid 124297 gracefully died RUN: Process with pid 144413 gracefully died RUN: Process with pid 141706 gracefully died RUN: Process with pid 159904 gracefully died RUN: Process with pid 141519 gracefully died RUN: Process with pid 141520 gracefully died RUN: Process with pid 171392 gracefully died RUN: Process with pid 141292 gracefully died RUN: Process with pid 147058 gracefully died RUN: Process with pid 148819 gracefully died RUN: Process with pid 160938 gracefully died RUN: Process with pid 141371 gracefully died RUN: Process with pid 155495 gracefully died RUN: Process with pid 161131 gracefully died RUN: Process with pid 159283 gracefully died RUN: Process with pid 173128 gracefully died RUN: Process with pid 141373 gracefully died RUN: Process with pid 156906 gracefully died RUN: Process with pid 172915 gracefully died RUN: Process with pid 172976 gracefully died RUN: Process with pid 168114 gracefully died RUN: Process with pid 147059 gracefully died RUN: Process with pid 155994 gracefully died RUN: Process with pid 163368 gracefully died RUN: Process with pid 148773 gracefully died RUN: Process with pid 172970 gracefully died RUN: Process with pid 173001 gracefully died RUN: Process with pid 154708 gracefully died RUN: Process with pid 92302 forced to die with SIGKILL RUN: Process with pid 92301 forced to die with SIGKILL RUN: Process with pid 107554 forced to die with SIGKILL RUN: Process with pid 91332 forced to die with SIGKILL RUN: Process with pid 175869 forced to die with SIGKILL RUN: Process with pid 107732 forced to die with SIGKILL RUN: Process with pid 130314 forced to die with SIGKILL RUN: Process with pid 92303 forced to die with SIGKILL RUN: Process with pid 92320 forced to die with SIGKILL RUN: Process with pid 111882 forced to die with SIGKILL RUN: Process with pid 144327 forced to die with SIGKILL RUN: Process with pid 107425 forced to die with SIGKILL RUN: Process with pid 169499 forced to die with SIGKILL RUN: Process with pid 107422 forced to die with SIGKILL RUN: Process with pid 130498 forced to die with SIGKILL RUN: Process with pid 107437 forced to die with SIGKILL RUN: Process with pid 132939 forced to die with SIGKILL .140082 ====> Client connect 07:52:47.140225 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 07:52:47.140516 < "EHLO verifiedserver" 07:52:47.140559 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 07:52:47.140732 < "HELP" 07:52:47.140764 > "214 WE ROOLZ: 124355[CR][LF]" 07:52:47.140778 return proof we are we 07:52:47.140994 < "QUIT" 07:52:47.141020 > "221 curl ESMTP server signing off[CR][LF]" 07:52:47.141592 MAIN sockfilt said DISC 07:52:47.141622 ====> Client disconnected 07:52:47.141691 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 07:52:46.967912 ====> Client connect 07:52:46.968176 Received DATA (on stdin) 07:52:46.968192 > 160 bytes data, server => client 07:52:46.968204 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 07:52:46.968215 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 07:52:46.968226 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 07:52:46.968309 < 21 bytes data, client => server 07:52:46.968322 'EHLO verifiedserver\r\n' 07:52:46.968501 Received DATA (on stdin) 07:52:46.968513 > 53 bytes data, server => client 07:52:46.968525 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 07:52:46.968577 < 6 bytes data, client => server 07:52:46.968588 'HELP\r\n' 07:52:46.968715 Received DATA (on stdin) 07:52:46.968727 > 22 bytes data, server => client 07:52:46.968737 '214 WE ROOLZ: 124355\r\n' 07:52:46.968846 < 6 bytes data, client => server 07:52:46.968859 'QUIT\r\n' 07:52:46.968958 Received DATA (on stdin) 07:52:46.968969 > 35 bytes data, server => client 07:52:46.968981 '221 curl ESMTP server signing off\r\n' 07:52:46.969475 ====> Client disconnect 07:52:46.969632 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3215 From: different To: another body === End of file stdin-for-3215 === Start of file valgrind3215 ==177024== ==177024== Process terminating with default action of signal 4 (SIGILL) ==177024== Illegal opcode at address 0x4013DC0 ==177024== at 0x4013DC0: getparameter (tool_getparam.c:2846) ==177024== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==177024== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2234) ==177024== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3215 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/16/valgrind3026 ./libtest/libtests lib3026 - > log/16/stdout3026 2> log/16/stderr3026 -------e-v- OK (1715 out of 1746, remaining: 00:02, took 2.471s, duration: 02:06) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 39239 --port2 35743 --nghttpx "nghttpx" --pidfile "log/19/server/http_v2_server.pid" --logfile "log/19/http_v2_server.log" --logdir "log/19" --connect 127.0.0.1:34835 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 44057 --port2 37517 --nghttpx "nghttpx" --pidfile "log/5/server/http_v2_server.pid" --logfile "log/5/http_v2_server.log" --logdir "log/5" --connect 127.0.0.1:42797 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 35205 --port2 42269 --nghttpx "nghttpx" --pidfile "log/14/server/http_v2_server.pid" --logfile "log/14/http_v2_server.log" --logdir "log/14" --connect 127.0.0.1:34115 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 36087 --port2 33387 --nghttpx "nghttpx" --pidfile "log/17/server/http_v2_server.pid" --logfile "log/17/http_v2_server.log" --logdir "log/17" --connect 127.0.0.1:42601 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/http3-server.pl --port 42051 --nghttpx "nghttpx" --pidfile "log/10/server/http_v3_server.pid" --logfile "log/10/http_v3_server.log" --logdir "log/10" --connect 127.0.0.1:34041 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 * kill pid for smtp => 109920 * kill pid for socks => 112720 * kill pid for ftp => 80638 * kill pid for imap => 118778 * kill pid for pop3 => 121547 * kill pid for socks5unix => 157559 * kill pid for http => 74395 * kill pid for socks => 113123 * kill pid for http => 75828 * kill pid for smtp => 124444 * kill pid for socks5unix => 157477 * kill pid for ftp => 80550 * kill pid for imap => 118715 * kill pid for pop3 => 121536 * kill pid for http-proxy => 161131 * kill pid for socks => 113319 * kill pid for http => 76290 * kill pid for smtp => 124745 * kill pid for ftp => 80617 * kill pid for imap => 118779 * kill pid for pop3 => 121553 * kill pid for mqtt => 141289 * kill pid for smtp => 124297 * kill pid for socks => 112981 * kill pid for tftp => 130314 * kill pid for pop3 => 121498 * kill pid for imap => 118613 * kill pid for ftp => 80551 * kill pid for http => 74397 * kill pid for http-ipv6 => 156906 * kill pid for http-proxy => 91698 * kill pid for tftp => 92301 * kill pid for pop3 => 121567 * kill pid for imap => 111388 * kill pid for ftp => 80636 * kill pid for smtp => 124722 * kill pid for socks => 113315 * kill pid for http-proxy => 79371 * kill pid for rtsp => 107554 * kill pid for http-ipv6 => 154217 * kill pid for http => 159283 * kill pid for http-ipv6 => 89396 * kill pid for http => 74555 * kill pid for rtsp => 107437 * kill pid for http-proxy => 147482 * kill pid for mqtt => 141293 * kill pid for socks => 171392 * kill pid for smtp => 124012 * kill pid for ftp => 80620 * kill pid for pop3 => 121367 * kill pid for http-ipv6 => 144413 * kill pid for http => 74402 * kill pid for rtsp => 107732 * kill pid for mqtt => 141376 * kill pid for http-proxy => 143374 * kill pid for socks => 113126 * kill pid for ftp-ipv6 => 90195 * kill pid for smtp => 124404 * kill pid for ftp => 80326 * kill pid for http-proxy => 155495 * kill pid for mqtt => 141518 * kill pid for http => 74400 * kill pid for pop3 => 121503 * kill pid for imap => 118623 * kill pid for ftp => 80557 * kill pid for smtp => 124302 * kill pid for socks => 113032 * kill pid for http => 74401 * kill pid for rtsp => 111882 * kill pid for mqtt => 173014 * kill pid for http-proxy => 134940 * kill pid for smtp => 124032 * kill pid for pop3 => 121693 * kill pid for imap => 118550 * kill pid for ftp => 80324 * kill pid for tftp => 144327 * kill pid for ftp => 82431 * kill pid for pop3 => 121551 * kill pid for imap => 118776 * kill pid for socks => 113145 * kill pid for smtp => 124810 * kill pid for http-proxy => 103609 * kill pid for mqtt => 168114 * kill pid for gopher => 141519 * kill pid for http => 74394 * kill pid for http-proxy => 161167 * kill pid for mqtt => 173128 * kill pid for http-ipv6 => 145934 * kill pid for http => 74613 * kill pid for tftp => 92302 * kill pid for ftp => 81212 * kill pid for imap => 118710 * kill pid for pop3 => 121541 * kill pid for smtp => 109786 * kill pid for socks => 114484 * kill pid for http-ipv6 => 148773 * kill pid for http => 154708 * kill pid for mqtt => 141373 * kill pid for http-proxy => 79581 * kill pid for socks => 113001 * kill pid for ftp-ipv6 => 90272 * kill pid for smtp => 124106 * kill pid for ftp => 80695 * kill pid for imap => 118612 * kill pid for pop3 => 121481 * kill pid for mqtt => 141437 * kill pid for http => 162187 * kill pid for tftp => 92303 * kill pid for imap => 118647 * kill pid for pop3 => 121505 * kill pid for ftp => 80340 * kill pid for smtp => 109725 * kill pid for socks RUN: Process with pid 107537 forced to die with SIGKILL RUN: Process with pid 94346 forced to die with SIGKILL RUN: Process with pid 107567 forced to die with SIGKILL Runner 74390 exiting Runner 74373 exiting Runner 74380 exiting Runner 74388 exiting Runner 74376 exiting Runner 74378 exiting Runner 74383 exiting Runner 74385 exiting Runner 74384 exiting Runner 74391 exiting Runner 74377 exiting Runner 74381 exiting Runner 74371 exiting Runner 74387 exiting Runner 74369 exiting Runner 74386 exiting Runner 74370 exiting Runner 74372 exiting Runner 74392 exiting Runner 74382 exiting Runner 74375 exiting Runner 74374 exiting Runner 74389 exiting Runner 74379 exiting => 113031 * kill pid for ftp => 80634 * kill pid for imap => 118261 * kill pid for pop3 => 121538 * kill pid for http-proxy => 147058 * kill pid for tftp => 132939 * kill pid for gopher-ipv6 => 141529 * kill pid for http => 74398 * kill pid for socks => 113149 * kill pid for smtp => 124423 * kill pid for pop3 => 121499 * kill pid for imap => 118640 * kill pid for ftp => 83307 * kill pid for socks => 113124 * kill pid for http-unix => 155994 * kill pid for smtp => 124301 * kill pid for http-proxy => 148819 * kill pid for http-ipv6 => 135137 * kill pid for http => 74928 * kill pid for tftp => 91332 * kill pid for pop3 => 121540 * kill pid for imap => 118713 * kill pid for ftp => 80643 * kill pid for smtp => 124421 * kill pid for socks => 112570 * kill pid for rtsp => 175869 * kill pid for http => 74399 * kill pid for http-ipv6 => 133221 * kill pid for rtsp => 107425 * kill pid for gopher => 141528 * kill pid for http => 74876 * kill pid for tftp => 169499 * kill pid for ftp => 80630 * kill pid for imap => 119409 * kill pid for pop3 => 121502 * kill pid for smtp => 124355 * kill pid for socks => 112739 * kill pid for mqtt => 141514 * kill pid for http-proxy => 159904 * kill pid for http-ipv6 => 172915 * kill pid for http => 74732 * kill pid for ftp => 80637 * kill pid for pop3 => 121552 * kill pid for imap => 118777 * kill pid for socks => 113312 * kill pid for smtp => 109787 * kill pid for pop3 => 121382 * kill pid for imap => 118606 * kill pid for mqtt => 172970 * kill pid for http-ipv6 => 89377 * kill pid for rtsp => 107422 * kill pid for ftp => 83461 * kill pid for tftp => 130498 * kill pid for smtp => 124725 * kill pid for ftp-ipv6 => 132914 * kill pid for http-proxy => 147059 * kill pid for http => 74393 * kill pid for gopher => 141520 * kill pid for imap => 118712 * kill pid for pop3 => 121534 * kill pid for ftp => 81000 * kill pid for smtp => 124419 * kill pid for socks => 113148 * kill pid for http-proxy => 80233 * kill pid for http => 74404 * kill pid for http-proxy => 115595 * kill pid for mqtt => 172976 * kill pid for http-ipv6 => 89651 * kill pid for http => 74718 * kill pid for ftp => 141706 * kill pid for imap => 109783 * kill pid for pop3 => 121518 * kill pid for tftp => 92320 * kill pid for smtp => 124351 * kill pid for http => 83854 * kill pid for http-ipv6 => 132709 * kill pid for mqtt => 141292 * kill pid for http-proxy => 113127 * kill pid for ftp-ipv6 => 90170 * kill pid for smtp => 124405 * kill pid for ftp => 81211 * kill pid for pop3 => 122342 * kill pid for socks => 112733 * kill pid for ftp-ipv6 => 90278 * kill pid for smtp => 124246 * kill pid for pop3 => 102002 * kill pid for imap => 110096 * kill pid for ftp => 83057 * kill pid for tftp => 94346 * kill pid for http => 74396 * kill pid for rtsp => 107567 * kill pid for mqtt => 141371 * kill pid for smtp => 124474 * kill pid for ftp => 163368 * kill pid for http => 74504 * kill pid for http-proxy => 160938 * kill pid for socks => 112929 * kill pid for http-unix => 155986 * kill pid for imap => 118578 * kill pid for pop3 => 121318 * kill pid for http-ipv6 => 90575 * kill pid for rtsp => 107537 * kill pid for mqtt => 173001 TESTDONE: 1890 tests were considered during 128 seconds. TESTINFO: 272 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 97 times (159, 356, 358, 359, 363, 412, 413, 437, 438 and 88 more) TESTINFO: "no stunnel" 60 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 51 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, 2405) 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: "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 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) TESTINFO: "failed starting SMB server" 1 time (1451) 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, don't 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 IGNORED: failed tests: 573 587 776 1086 1113 1162 1163 1208 1510 1592 2032 TESTDONE: 62 tests out of 1618 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 host name' 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 host name' 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 host name 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 doesn't 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: and 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 host name '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 doesn't 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 355: 'load Alt-Svc from file and use' HTTP, Alt-Svc 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 user name 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 user name 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 host name 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 host name in URL but none in hsts file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 441: 'HSTS with no t-dot host name 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 file name 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 host name' 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 doesn't 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 7bit 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 user name' 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 host name 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 very long proxy user name' 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 host name 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 a 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 user name' HTTP, HTTP NTLM auth, NTLM 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 796: '--follow with custom POST method, 302 => GET' --follow, --location FAIL 797: '--follow with custom POST method, 308 => custom' --follow, --location 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 doesn't 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 doesn't 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 host name' HTTP, HTTP GET, HTTP proxy, IDN, FAILURE, config file FAIL 1035: 'HTTP over proxy with too long IDN host name' 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 user name 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 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 file name 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 host name' 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 user name 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 user name + 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 host name 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 host name' 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 unit tests' unittest, Curl_timeleft 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 host name 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 & 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 host names' 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 host name' 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 host name 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:// don't 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 doesn't 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 shouldn't 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 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 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 1652: 'infof' unittest, infof FAIL 1654: 'alt-svc' unittest, Alt-Svc FAIL 1660: 'HSTS' unittest, HSTS 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 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1802: 'HTTP CONNECT with custom headers for proxy and server' HTTP, HTTP CONNECT 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 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 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 host name' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 2047: 'Connection reuse with IDN host name 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 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 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 very long user name' 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 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 355 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 784 785 786 787 788 789 790 791 792 793 794 796 797 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 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 1590 1591 1593 1594 1595 1596 1597 1598 1599 1600 1601 1605 1606 1607 1608 1609 1610 1611 1612 1613 1615 1617 1620 1621 1633 1634 1635 1652 1654 1660 1670 1671 1680 1681 1682 1683 1704 1711 1800 1802 1900 1901 1902 1903 1904 1905 1906 1907 1909 1910 1911 1913 1914 1915 1916 1917 1919 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1964 1977 2000 2001 2002 2003 2005 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 2200 2201 2202 2203 2204 2205 2306 2307 2308 2309 2601 2603 2604 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:835: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1094: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_e7d6e9cc-f69d-4098-bc99-2475a13f5b26/build