0s autopkgtest [13:44:38]: starting date and time: 2024-06-17 13:44:38+0000 0s autopkgtest [13:44:38]: git checkout: 433ed4c Merge branch 'skia/nova_flock' into 'ubuntu/5.34+prod' 0s autopkgtest [13:44:38]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.77wqvb1u/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:shadow --apt-upgrade openssh --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=shadow/1:4.13+dfsg1-4ubuntu3.2 -- lxd -r lxd-armhf-10.145.243.27 lxd-armhf-10.145.243.27:autopkgtest/ubuntu/noble/armhf 41s autopkgtest [13:45:19]: testbed dpkg architecture: armhf 43s autopkgtest [13:45:21]: testbed apt version: 2.7.14build2 43s autopkgtest [13:45:21]: @@@@@@@@@@@@@@@@@@@@ test bed setup 52s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [265 kB] 59s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [5468 B] 59s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [17.9 kB] 60s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [12.4 kB] 60s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [30.8 kB] 60s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf Packages [73.6 kB] 60s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf c-n-f Metadata [2492 B] 60s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf Packages [2776 B] 60s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf c-n-f Metadata [116 B] 60s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf Packages [69.5 kB] 60s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf c-n-f Metadata [7776 B] 60s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf Packages [764 B] 60s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf c-n-f Metadata [116 B] 71s Fetched 489 kB in 9s (53.9 kB/s) 71s Reading package lists... 93s tee: /proc/self/fd/2: Permission denied 112s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 112s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 112s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 112s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 115s Reading package lists... 116s Reading package lists... 116s Building dependency tree... 116s Reading state information... 117s Calculating upgrade... 117s The following packages will be upgraded: 117s login passwd 118s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 118s Need to get 1018 kB of archives. 118s After this operation, 0 B of additional disk space will be used. 118s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main armhf login armhf 1:4.13+dfsg1-4ubuntu3.2 [200 kB] 118s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main armhf passwd armhf 1:4.13+dfsg1-4ubuntu3.2 [818 kB] 122s Fetched 1018 kB in 2s (667 kB/s) 123s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 123s Preparing to unpack .../login_1%3a4.13+dfsg1-4ubuntu3.2_armhf.deb ... 123s Unpacking login (1:4.13+dfsg1-4ubuntu3.2) over (1:4.13+dfsg1-4ubuntu3) ... 123s Setting up login (1:4.13+dfsg1-4ubuntu3.2) ... 123s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 123s Preparing to unpack .../passwd_1%3a4.13+dfsg1-4ubuntu3.2_armhf.deb ... 123s Unpacking passwd (1:4.13+dfsg1-4ubuntu3.2) over (1:4.13+dfsg1-4ubuntu3) ... 124s Setting up passwd (1:4.13+dfsg1-4ubuntu3.2) ... 124s Processing triggers for man-db (2.12.0-4build2) ... 125s Reading package lists... 126s Building dependency tree... 126s Reading state information... 127s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 129s autopkgtest [13:46:47]: rebooting testbed after setup commands that affected boot 178s autopkgtest [13:47:36]: testbed running kernel: Linux 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 11:19:33 UTC 2 210s autopkgtest [13:48:08]: @@@@@@@@@@@@@@@@@@@@ apt-source openssh 251s Get:1 http://ftpmaster.internal/ubuntu noble/main openssh 1:9.6p1-3ubuntu13 (dsc) [3334 B] 251s Get:2 http://ftpmaster.internal/ubuntu noble/main openssh 1:9.6p1-3ubuntu13 (tar) [1858 kB] 251s Get:3 http://ftpmaster.internal/ubuntu noble/main openssh 1:9.6p1-3ubuntu13 (asc) [833 B] 251s Get:4 http://ftpmaster.internal/ubuntu noble/main openssh 1:9.6p1-3ubuntu13 (diff) [203 kB] 252s gpgv: Signature made Mon Apr 8 16:02:01 2024 UTC 252s gpgv: using RSA key CED62F17BB727A48FC50762E2A15898770574541 252s gpgv: Can't check signature: No public key 252s dpkg-source: warning: cannot verify inline signature for ./openssh_9.6p1-3ubuntu13.dsc: no acceptable signature found 254s autopkgtest [13:48:52]: testing package openssh version 1:9.6p1-3ubuntu13 256s autopkgtest [13:48:54]: build not needed 259s autopkgtest [13:48:57]: test regress: preparing testbed 270s Reading package lists... 271s Building dependency tree... 271s Reading state information... 271s Starting pkgProblemResolver with broken count: 0 271s Starting 2 pkgProblemResolver with broken count: 0 271s Done 272s The following additional packages will be installed: 272s devscripts dropbear dropbear-bin haveged libb-hooks-op-check-perl 272s libclass-method-modifiers-perl libclass-xsaccessor-perl libclone-perl 272s libdevel-callchecker-perl libdynaloader-functions-perl libencode-locale-perl 272s libfile-dirlist-perl libfile-homedir-perl libfile-listing-perl 272s libfile-touch-perl libfile-which-perl libhavege2 libhtml-parser-perl 272s libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl 272s libhttp-message-perl libhttp-negotiate-perl libimport-into-perl 272s libio-html-perl libio-pty-perl libio-socket-ssl-perl libipc-run-perl 272s liblwp-mediatypes-perl liblwp-protocol-https-perl libmodule-runtime-perl 272s libmoo-perl libnet-http-perl libnet-ssleay-perl libparams-classify-perl 272s librole-tiny-perl libsub-quote-perl libtimedate-perl libtomcrypt1 272s libtommath1 libtry-tiny-perl liburi-perl libwww-perl libwww-robotrules-perl 272s openssh-tests patchutils perl-openssl-defaults putty-tools python3-automat 272s python3-bcrypt python3-constantly python3-hamcrest python3-hyperlink 272s python3-incremental python3-pyasn1 python3-pyasn1-modules 272s python3-service-identity python3-twisted python3-zope.interface wdiff 272s Suggested packages: 272s adequate at autopkgtest bls-standalone bsd-mailx | mailx build-essential 272s check-all-the-things cvs-buildpackage debhelper diffoscope disorderfs 272s dose-extra duck elpa-devscripts faketime gnuplot how-can-i-help 272s libauthen-sasl-perl libdbd-pg-perl libfile-desktopentry-perl 272s libterm-size-perl libyaml-syck-perl mmdebstrap mutt piuparts 272s postgresql-client pristine-lfs quilt ratt reprotest svn-buildpackage w3m 272s debian-keyring equivs libgitlab-api-v4-perl libsoap-lite-perl pristine-tar 272s dropbear-initramfs runit libdata-dump-perl libio-compress-brotli-perl 272s libcrypt-ssleay-perl libscalar-number-perl libxstring-perl libsub-name-perl 272s libbusiness-isbn-perl libregexp-ipv6-perl libauthen-ntlm-perl putty-doc 272s python3-pampy python3-tk python3-wxgtk4.0 wdiff-doc 272s Recommended packages: 272s dctrl-tools dput | dupload libdistro-info-perl libgit-wrapper-perl 272s libjson-perl liblist-compare-perl libstring-shellquote-perl licensecheck 272s lintian python3-debian python3-magic python3-unidiff python3-xdg unzip 272s libhtml-format-perl libnamespace-clean-perl libdata-dump-perl 272s libhtml-form-perl libhttp-daemon-perl libmailtools-perl python3-click 272s The following NEW packages will be installed: 272s autopkgtest-satdep devscripts dropbear dropbear-bin haveged 272s libb-hooks-op-check-perl libclass-method-modifiers-perl 272s libclass-xsaccessor-perl libclone-perl libdevel-callchecker-perl 272s libdynaloader-functions-perl libencode-locale-perl libfile-dirlist-perl 272s libfile-homedir-perl libfile-listing-perl libfile-touch-perl 272s libfile-which-perl libhavege2 libhtml-parser-perl libhtml-tagset-perl 272s libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl 272s libhttp-message-perl libhttp-negotiate-perl libimport-into-perl 272s libio-html-perl libio-pty-perl libio-socket-ssl-perl libipc-run-perl 272s liblwp-mediatypes-perl liblwp-protocol-https-perl libmodule-runtime-perl 272s libmoo-perl libnet-http-perl libnet-ssleay-perl libparams-classify-perl 272s librole-tiny-perl libsub-quote-perl libtimedate-perl libtomcrypt1 272s libtommath1 libtry-tiny-perl liburi-perl libwww-perl libwww-robotrules-perl 272s openssh-tests patchutils perl-openssl-defaults putty-tools python3-automat 272s python3-bcrypt python3-constantly python3-hamcrest python3-hyperlink 272s python3-incremental python3-pyasn1 python3-pyasn1-modules 272s python3-service-identity python3-twisted python3-zope.interface wdiff 272s 0 upgraded, 62 newly installed, 0 to remove and 0 not upgraded. 272s Need to get 7901 kB/7902 kB of archives. 272s After this operation, 32.4 MB of additional disk space will be used. 272s Get:1 /tmp/autopkgtest.IM0shs/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [772 B] 272s Get:2 http://ftpmaster.internal/ubuntu noble/main armhf libtommath1 armhf 1.2.1-2build1 [44.6 kB] 272s Get:3 http://ftpmaster.internal/ubuntu noble/universe armhf libtomcrypt1 armhf 1.18.2+dfsg-7build1 [377 kB] 273s Get:4 http://ftpmaster.internal/ubuntu noble/universe armhf dropbear-bin armhf 2022.83-4 [118 kB] 273s Get:5 http://ftpmaster.internal/ubuntu noble/universe armhf dropbear all 2022.83-4 [9150 B] 273s Get:6 http://ftpmaster.internal/ubuntu noble/universe armhf libhavege2 armhf 1.9.14-1ubuntu2 [23.6 kB] 273s Get:7 http://ftpmaster.internal/ubuntu noble/universe armhf haveged armhf 1.9.14-1ubuntu2 [33.1 kB] 273s Get:8 http://ftpmaster.internal/ubuntu noble/main armhf libfile-dirlist-perl all 0.05-3 [7286 B] 273s Get:9 http://ftpmaster.internal/ubuntu noble/main armhf libfile-which-perl all 1.27-2 [12.5 kB] 273s Get:10 http://ftpmaster.internal/ubuntu noble/main armhf libfile-homedir-perl all 1.006-2 [37.0 kB] 273s Get:11 http://ftpmaster.internal/ubuntu noble/main armhf libfile-touch-perl all 0.12-2 [7498 B] 273s Get:12 http://ftpmaster.internal/ubuntu noble/main armhf libio-pty-perl armhf 1:1.20-1build2 [30.9 kB] 273s Get:13 http://ftpmaster.internal/ubuntu noble/main armhf libipc-run-perl all 20231003.0-1 [92.1 kB] 273s Get:14 http://ftpmaster.internal/ubuntu noble/main armhf libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 273s Get:15 http://ftpmaster.internal/ubuntu noble/main armhf libclass-xsaccessor-perl armhf 1.19-4build4 [32.5 kB] 273s Get:16 http://ftpmaster.internal/ubuntu noble/main armhf libb-hooks-op-check-perl armhf 0.22-3build1 [9080 B] 273s Get:17 http://ftpmaster.internal/ubuntu noble/main armhf libdynaloader-functions-perl all 0.003-3 [12.1 kB] 273s Get:18 http://ftpmaster.internal/ubuntu noble/main armhf libdevel-callchecker-perl armhf 0.008-2build3 [13.0 kB] 273s Get:19 http://ftpmaster.internal/ubuntu noble/main armhf libparams-classify-perl armhf 0.015-2build5 [18.7 kB] 273s Get:20 http://ftpmaster.internal/ubuntu noble/main armhf libmodule-runtime-perl all 0.016-2 [16.4 kB] 273s Get:21 http://ftpmaster.internal/ubuntu noble/main armhf libimport-into-perl all 1.002005-2 [10.7 kB] 273s Get:22 http://ftpmaster.internal/ubuntu noble/main armhf librole-tiny-perl all 2.002004-1 [16.3 kB] 273s Get:23 http://ftpmaster.internal/ubuntu noble/main armhf libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 273s Get:24 http://ftpmaster.internal/ubuntu noble/main armhf libmoo-perl all 2.005005-1 [47.4 kB] 273s Get:25 http://ftpmaster.internal/ubuntu noble/main armhf libencode-locale-perl all 1.05-3 [11.6 kB] 273s Get:26 http://ftpmaster.internal/ubuntu noble/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 273s Get:27 http://ftpmaster.internal/ubuntu noble/main armhf libhttp-date-perl all 6.06-1 [10.2 kB] 273s Get:28 http://ftpmaster.internal/ubuntu noble/main armhf libfile-listing-perl all 6.16-1 [11.3 kB] 273s Get:29 http://ftpmaster.internal/ubuntu noble/main armhf libhtml-tagset-perl all 3.20-6 [11.3 kB] 273s Get:30 http://ftpmaster.internal/ubuntu noble/main armhf liburi-perl all 5.27-1 [88.0 kB] 273s Get:31 http://ftpmaster.internal/ubuntu noble/main armhf libhtml-parser-perl armhf 3.81-1build3 [82.5 kB] 273s Get:32 http://ftpmaster.internal/ubuntu noble/main armhf libhtml-tree-perl all 5.07-3 [200 kB] 273s Get:33 http://ftpmaster.internal/ubuntu noble/main armhf libclone-perl armhf 0.46-1build3 [10.0 kB] 273s Get:34 http://ftpmaster.internal/ubuntu noble/main armhf libio-html-perl all 1.004-3 [15.9 kB] 273s Get:35 http://ftpmaster.internal/ubuntu noble/main armhf liblwp-mediatypes-perl all 6.04-2 [20.1 kB] 273s Get:36 http://ftpmaster.internal/ubuntu noble/main armhf libhttp-message-perl all 6.45-1ubuntu1 [78.2 kB] 273s Get:37 http://ftpmaster.internal/ubuntu noble/main armhf libhttp-cookies-perl all 6.11-1 [18.2 kB] 273s Get:38 http://ftpmaster.internal/ubuntu noble/main armhf libhttp-negotiate-perl all 6.01-2 [12.4 kB] 273s Get:39 http://ftpmaster.internal/ubuntu noble/main armhf perl-openssl-defaults armhf 7build3 [6628 B] 273s Get:40 http://ftpmaster.internal/ubuntu noble/main armhf libnet-ssleay-perl armhf 1.94-1build4 [298 kB] 273s Get:41 http://ftpmaster.internal/ubuntu noble/main armhf libio-socket-ssl-perl all 2.085-1 [195 kB] 273s Get:42 http://ftpmaster.internal/ubuntu noble/main armhf libnet-http-perl all 6.23-1 [22.3 kB] 273s Get:43 http://ftpmaster.internal/ubuntu noble/main armhf liblwp-protocol-https-perl all 6.13-1 [9006 B] 273s Get:44 http://ftpmaster.internal/ubuntu noble/main armhf libtry-tiny-perl all 0.31-2 [20.8 kB] 273s Get:45 http://ftpmaster.internal/ubuntu noble/main armhf libwww-robotrules-perl all 6.02-1 [12.6 kB] 273s Get:46 http://ftpmaster.internal/ubuntu noble/main armhf libwww-perl all 6.76-1 [138 kB] 273s Get:47 http://ftpmaster.internal/ubuntu noble/main armhf patchutils armhf 0.4.2-1build3 [73.2 kB] 273s Get:48 http://ftpmaster.internal/ubuntu noble/main armhf wdiff armhf 1.2.2-6build1 [29.0 kB] 273s Get:49 http://ftpmaster.internal/ubuntu noble/main armhf devscripts all 2.23.7 [1069 kB] 273s Get:50 http://ftpmaster.internal/ubuntu noble/universe armhf putty-tools armhf 0.81-1 [566 kB] 273s Get:51 http://ftpmaster.internal/ubuntu noble/main armhf python3-bcrypt armhf 3.2.2-1build1 [28.2 kB] 273s Get:52 http://ftpmaster.internal/ubuntu noble/main armhf python3-hamcrest all 2.1.0-1 [28.1 kB] 273s Get:53 http://ftpmaster.internal/ubuntu noble/main armhf python3-pyasn1 all 0.4.8-4 [51.2 kB] 273s Get:54 http://ftpmaster.internal/ubuntu noble/main armhf python3-pyasn1-modules all 0.2.8-1 [68.0 kB] 273s Get:55 http://ftpmaster.internal/ubuntu noble/main armhf python3-service-identity all 24.1.0-1 [11.2 kB] 273s Get:56 http://ftpmaster.internal/ubuntu noble/main armhf python3-automat all 22.10.0-2 [27.5 kB] 273s Get:57 http://ftpmaster.internal/ubuntu noble/main armhf python3-constantly all 23.10.4-1 [13.7 kB] 273s Get:58 http://ftpmaster.internal/ubuntu noble/main armhf python3-hyperlink all 21.0.0-5 [68.0 kB] 273s Get:59 http://ftpmaster.internal/ubuntu noble/main armhf python3-incremental all 22.10.0-1 [17.6 kB] 273s Get:60 http://ftpmaster.internal/ubuntu noble/main armhf python3-zope.interface armhf 6.1-1build1 [135 kB] 273s Get:61 http://ftpmaster.internal/ubuntu noble/main armhf python3-twisted all 24.3.0-1 [2057 kB] 273s Get:62 http://ftpmaster.internal/ubuntu noble/universe armhf openssh-tests armhf 1:9.6p1-3ubuntu13 [1346 kB] 275s Fetched 7901 kB in 1s (5404 kB/s) 275s Selecting previously unselected package libtommath1:armhf. 275s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 275s Preparing to unpack .../00-libtommath1_1.2.1-2build1_armhf.deb ... 275s Unpacking libtommath1:armhf (1.2.1-2build1) ... 275s Selecting previously unselected package libtomcrypt1:armhf. 275s Preparing to unpack .../01-libtomcrypt1_1.18.2+dfsg-7build1_armhf.deb ... 275s Unpacking libtomcrypt1:armhf (1.18.2+dfsg-7build1) ... 275s Selecting previously unselected package dropbear-bin. 275s Preparing to unpack .../02-dropbear-bin_2022.83-4_armhf.deb ... 275s Unpacking dropbear-bin (2022.83-4) ... 275s Selecting previously unselected package dropbear. 275s Preparing to unpack .../03-dropbear_2022.83-4_all.deb ... 275s Unpacking dropbear (2022.83-4) ... 275s Selecting previously unselected package libhavege2:armhf. 276s Preparing to unpack .../04-libhavege2_1.9.14-1ubuntu2_armhf.deb ... 276s Unpacking libhavege2:armhf (1.9.14-1ubuntu2) ... 276s Selecting previously unselected package haveged. 276s Preparing to unpack .../05-haveged_1.9.14-1ubuntu2_armhf.deb ... 276s Unpacking haveged (1.9.14-1ubuntu2) ... 276s Selecting previously unselected package libfile-dirlist-perl. 277s Preparing to unpack .../06-libfile-dirlist-perl_0.05-3_all.deb ... 277s Unpacking libfile-dirlist-perl (0.05-3) ... 277s Selecting previously unselected package libfile-which-perl. 277s Preparing to unpack .../07-libfile-which-perl_1.27-2_all.deb ... 277s Unpacking libfile-which-perl (1.27-2) ... 277s Selecting previously unselected package libfile-homedir-perl. 278s Preparing to unpack .../08-libfile-homedir-perl_1.006-2_all.deb ... 278s Unpacking libfile-homedir-perl (1.006-2) ... 278s Selecting previously unselected package libfile-touch-perl. 278s Preparing to unpack .../09-libfile-touch-perl_0.12-2_all.deb ... 278s Unpacking libfile-touch-perl (0.12-2) ... 278s Selecting previously unselected package libio-pty-perl. 278s Preparing to unpack .../10-libio-pty-perl_1%3a1.20-1build2_armhf.deb ... 278s Unpacking libio-pty-perl (1:1.20-1build2) ... 278s Selecting previously unselected package libipc-run-perl. 278s Preparing to unpack .../11-libipc-run-perl_20231003.0-1_all.deb ... 278s Unpacking libipc-run-perl (20231003.0-1) ... 278s Selecting previously unselected package libclass-method-modifiers-perl. 278s Preparing to unpack .../12-libclass-method-modifiers-perl_2.15-1_all.deb ... 278s Unpacking libclass-method-modifiers-perl (2.15-1) ... 279s Selecting previously unselected package libclass-xsaccessor-perl. 279s Preparing to unpack .../13-libclass-xsaccessor-perl_1.19-4build4_armhf.deb ... 279s Unpacking libclass-xsaccessor-perl (1.19-4build4) ... 279s Selecting previously unselected package libb-hooks-op-check-perl:armhf. 279s Preparing to unpack .../14-libb-hooks-op-check-perl_0.22-3build1_armhf.deb ... 279s Unpacking libb-hooks-op-check-perl:armhf (0.22-3build1) ... 279s Selecting previously unselected package libdynaloader-functions-perl. 279s Preparing to unpack .../15-libdynaloader-functions-perl_0.003-3_all.deb ... 279s Unpacking libdynaloader-functions-perl (0.003-3) ... 279s Selecting previously unselected package libdevel-callchecker-perl:armhf. 279s Preparing to unpack .../16-libdevel-callchecker-perl_0.008-2build3_armhf.deb ... 279s Unpacking libdevel-callchecker-perl:armhf (0.008-2build3) ... 279s Selecting previously unselected package libparams-classify-perl:armhf. 279s Preparing to unpack .../17-libparams-classify-perl_0.015-2build5_armhf.deb ... 279s Unpacking libparams-classify-perl:armhf (0.015-2build5) ... 279s Selecting previously unselected package libmodule-runtime-perl. 280s Preparing to unpack .../18-libmodule-runtime-perl_0.016-2_all.deb ... 280s Unpacking libmodule-runtime-perl (0.016-2) ... 280s Selecting previously unselected package libimport-into-perl. 280s Preparing to unpack .../19-libimport-into-perl_1.002005-2_all.deb ... 280s Unpacking libimport-into-perl (1.002005-2) ... 280s Selecting previously unselected package librole-tiny-perl. 281s Preparing to unpack .../20-librole-tiny-perl_2.002004-1_all.deb ... 281s Unpacking librole-tiny-perl (2.002004-1) ... 281s Selecting previously unselected package libsub-quote-perl. 281s Preparing to unpack .../21-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 281s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 281s Selecting previously unselected package libmoo-perl. 282s Preparing to unpack .../22-libmoo-perl_2.005005-1_all.deb ... 282s Unpacking libmoo-perl (2.005005-1) ... 282s Selecting previously unselected package libencode-locale-perl. 283s Preparing to unpack .../23-libencode-locale-perl_1.05-3_all.deb ... 283s Unpacking libencode-locale-perl (1.05-3) ... 283s Selecting previously unselected package libtimedate-perl. 284s Preparing to unpack .../24-libtimedate-perl_2.3300-2_all.deb ... 284s Unpacking libtimedate-perl (2.3300-2) ... 284s Selecting previously unselected package libhttp-date-perl. 285s Preparing to unpack .../25-libhttp-date-perl_6.06-1_all.deb ... 285s Unpacking libhttp-date-perl (6.06-1) ... 285s Selecting previously unselected package libfile-listing-perl. 286s Preparing to unpack .../26-libfile-listing-perl_6.16-1_all.deb ... 286s Unpacking libfile-listing-perl (6.16-1) ... 286s Selecting previously unselected package libhtml-tagset-perl. 286s Preparing to unpack .../27-libhtml-tagset-perl_3.20-6_all.deb ... 286s Unpacking libhtml-tagset-perl (3.20-6) ... 286s Selecting previously unselected package liburi-perl. 286s Preparing to unpack .../28-liburi-perl_5.27-1_all.deb ... 286s Unpacking liburi-perl (5.27-1) ... 286s Selecting previously unselected package libhtml-parser-perl:armhf. 286s Preparing to unpack .../29-libhtml-parser-perl_3.81-1build3_armhf.deb ... 286s Unpacking libhtml-parser-perl:armhf (3.81-1build3) ... 286s Selecting previously unselected package libhtml-tree-perl. 286s Preparing to unpack .../30-libhtml-tree-perl_5.07-3_all.deb ... 286s Unpacking libhtml-tree-perl (5.07-3) ... 286s Selecting previously unselected package libclone-perl:armhf. 286s Preparing to unpack .../31-libclone-perl_0.46-1build3_armhf.deb ... 287s Unpacking libclone-perl:armhf (0.46-1build3) ... 287s Selecting previously unselected package libio-html-perl. 289s Preparing to unpack .../32-libio-html-perl_1.004-3_all.deb ... 289s Unpacking libio-html-perl (1.004-3) ... 289s Selecting previously unselected package liblwp-mediatypes-perl. 289s Preparing to unpack .../33-liblwp-mediatypes-perl_6.04-2_all.deb ... 289s Unpacking liblwp-mediatypes-perl (6.04-2) ... 289s Selecting previously unselected package libhttp-message-perl. 289s Preparing to unpack .../34-libhttp-message-perl_6.45-1ubuntu1_all.deb ... 289s Unpacking libhttp-message-perl (6.45-1ubuntu1) ... 289s Selecting previously unselected package libhttp-cookies-perl. 289s Preparing to unpack .../35-libhttp-cookies-perl_6.11-1_all.deb ... 289s Unpacking libhttp-cookies-perl (6.11-1) ... 289s Selecting previously unselected package libhttp-negotiate-perl. 290s Preparing to unpack .../36-libhttp-negotiate-perl_6.01-2_all.deb ... 290s Unpacking libhttp-negotiate-perl (6.01-2) ... 290s Selecting previously unselected package perl-openssl-defaults:armhf. 290s Preparing to unpack .../37-perl-openssl-defaults_7build3_armhf.deb ... 290s Unpacking perl-openssl-defaults:armhf (7build3) ... 290s Selecting previously unselected package libnet-ssleay-perl:armhf. 290s Preparing to unpack .../38-libnet-ssleay-perl_1.94-1build4_armhf.deb ... 290s Unpacking libnet-ssleay-perl:armhf (1.94-1build4) ... 290s Selecting previously unselected package libio-socket-ssl-perl. 290s Preparing to unpack .../39-libio-socket-ssl-perl_2.085-1_all.deb ... 290s Unpacking libio-socket-ssl-perl (2.085-1) ... 290s Selecting previously unselected package libnet-http-perl. 291s Preparing to unpack .../40-libnet-http-perl_6.23-1_all.deb ... 291s Unpacking libnet-http-perl (6.23-1) ... 291s Selecting previously unselected package liblwp-protocol-https-perl. 291s Preparing to unpack .../41-liblwp-protocol-https-perl_6.13-1_all.deb ... 291s Unpacking liblwp-protocol-https-perl (6.13-1) ... 291s Selecting previously unselected package libtry-tiny-perl. 291s Preparing to unpack .../42-libtry-tiny-perl_0.31-2_all.deb ... 291s Unpacking libtry-tiny-perl (0.31-2) ... 291s Selecting previously unselected package libwww-robotrules-perl. 292s Preparing to unpack .../43-libwww-robotrules-perl_6.02-1_all.deb ... 292s Unpacking libwww-robotrules-perl (6.02-1) ... 292s Selecting previously unselected package libwww-perl. 292s Preparing to unpack .../44-libwww-perl_6.76-1_all.deb ... 292s Unpacking libwww-perl (6.76-1) ... 292s Selecting previously unselected package patchutils. 293s Preparing to unpack .../45-patchutils_0.4.2-1build3_armhf.deb ... 293s Unpacking patchutils (0.4.2-1build3) ... 293s Selecting previously unselected package wdiff. 293s Preparing to unpack .../46-wdiff_1.2.2-6build1_armhf.deb ... 293s Unpacking wdiff (1.2.2-6build1) ... 293s Selecting previously unselected package devscripts. 294s Preparing to unpack .../47-devscripts_2.23.7_all.deb ... 294s Unpacking devscripts (2.23.7) ... 294s Selecting previously unselected package putty-tools. 295s Preparing to unpack .../48-putty-tools_0.81-1_armhf.deb ... 295s Unpacking putty-tools (0.81-1) ... 295s Selecting previously unselected package python3-bcrypt. 295s Preparing to unpack .../49-python3-bcrypt_3.2.2-1build1_armhf.deb ... 295s Unpacking python3-bcrypt (3.2.2-1build1) ... 295s Selecting previously unselected package python3-hamcrest. 296s Preparing to unpack .../50-python3-hamcrest_2.1.0-1_all.deb ... 296s Unpacking python3-hamcrest (2.1.0-1) ... 296s Selecting previously unselected package python3-pyasn1. 296s Preparing to unpack .../51-python3-pyasn1_0.4.8-4_all.deb ... 296s Unpacking python3-pyasn1 (0.4.8-4) ... 296s Selecting previously unselected package python3-pyasn1-modules. 296s Preparing to unpack .../52-python3-pyasn1-modules_0.2.8-1_all.deb ... 296s Unpacking python3-pyasn1-modules (0.2.8-1) ... 296s Selecting previously unselected package python3-service-identity. 296s Preparing to unpack .../53-python3-service-identity_24.1.0-1_all.deb ... 296s Unpacking python3-service-identity (24.1.0-1) ... 296s Selecting previously unselected package python3-automat. 296s Preparing to unpack .../54-python3-automat_22.10.0-2_all.deb ... 296s Unpacking python3-automat (22.10.0-2) ... 296s Selecting previously unselected package python3-constantly. 296s Preparing to unpack .../55-python3-constantly_23.10.4-1_all.deb ... 296s Unpacking python3-constantly (23.10.4-1) ... 296s Selecting previously unselected package python3-hyperlink. 296s Preparing to unpack .../56-python3-hyperlink_21.0.0-5_all.deb ... 296s Unpacking python3-hyperlink (21.0.0-5) ... 296s Selecting previously unselected package python3-incremental. 296s Preparing to unpack .../57-python3-incremental_22.10.0-1_all.deb ... 296s Unpacking python3-incremental (22.10.0-1) ... 296s Selecting previously unselected package python3-zope.interface. 296s Preparing to unpack .../58-python3-zope.interface_6.1-1build1_armhf.deb ... 296s Unpacking python3-zope.interface (6.1-1build1) ... 297s Selecting previously unselected package python3-twisted. 297s Preparing to unpack .../59-python3-twisted_24.3.0-1_all.deb ... 297s Unpacking python3-twisted (24.3.0-1) ... 297s Selecting previously unselected package openssh-tests. 297s Preparing to unpack .../60-openssh-tests_1%3a9.6p1-3ubuntu13_armhf.deb ... 297s Unpacking openssh-tests (1:9.6p1-3ubuntu13) ... 297s Selecting previously unselected package autopkgtest-satdep. 297s Preparing to unpack .../61-1-autopkgtest-satdep.deb ... 297s Unpacking autopkgtest-satdep (0) ... 297s Setting up wdiff (1.2.2-6build1) ... 297s Setting up libfile-which-perl (1.27-2) ... 297s Setting up libdynaloader-functions-perl (0.003-3) ... 297s Setting up libclass-method-modifiers-perl (2.15-1) ... 297s Setting up libio-pty-perl (1:1.20-1build2) ... 297s Setting up python3-zope.interface (6.1-1build1) ... 297s Setting up libclone-perl:armhf (0.46-1build3) ... 297s Setting up libtommath1:armhf (1.2.1-2build1) ... 297s Setting up libhtml-tagset-perl (3.20-6) ... 297s Setting up python3-bcrypt (3.2.2-1build1) ... 298s Setting up python3-automat (22.10.0-2) ... 298s Setting up liblwp-mediatypes-perl (6.04-2) ... 298s Setting up libtry-tiny-perl (0.31-2) ... 298s Setting up perl-openssl-defaults:armhf (7build3) ... 298s Setting up libencode-locale-perl (1.05-3) ... 298s Setting up python3-hamcrest (2.1.0-1) ... 299s Setting up putty-tools (0.81-1) ... 299s Setting up libhavege2:armhf (1.9.14-1ubuntu2) ... 299s Setting up patchutils (0.4.2-1build3) ... 299s Setting up python3-incremental (22.10.0-1) ... 301s Setting up python3-hyperlink (21.0.0-5) ... 301s Setting up libio-html-perl (1.004-3) ... 301s Setting up libb-hooks-op-check-perl:armhf (0.22-3build1) ... 301s Setting up libipc-run-perl (20231003.0-1) ... 301s Setting up libtimedate-perl (2.3300-2) ... 301s Setting up librole-tiny-perl (2.002004-1) ... 301s Setting up python3-pyasn1 (0.4.8-4) ... 302s Setting up python3-constantly (23.10.4-1) ... 302s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 302s Setting up libclass-xsaccessor-perl (1.19-4build4) ... 302s Setting up libfile-dirlist-perl (0.05-3) ... 302s Setting up libfile-homedir-perl (1.006-2) ... 302s Setting up liburi-perl (5.27-1) ... 302s Setting up libfile-touch-perl (0.12-2) ... 302s Setting up libnet-ssleay-perl:armhf (1.94-1build4) ... 302s Setting up libtomcrypt1:armhf (1.18.2+dfsg-7build1) ... 302s Setting up libhttp-date-perl (6.06-1) ... 302s Setting up haveged (1.9.14-1ubuntu2) ... 303s apparmor_parser: Unable to replace "/usr/sbin/haveged". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 303s 314s Created symlink /etc/systemd/system/sysinit.target.wants/haveged.service → /usr/lib/systemd/system/haveged.service. 318s Setting up dropbear-bin (2022.83-4) ... 318s Setting up libfile-listing-perl (6.16-1) ... 318s Setting up libnet-http-perl (6.23-1) ... 318s Setting up libdevel-callchecker-perl:armhf (0.008-2build3) ... 318s Setting up dropbear (2022.83-4) ... 319s Converting existing OpenSSH RSA host key to Dropbear format. 319s Key is a ssh-rsa key 319s Wrote key to '/etc/dropbear/dropbear_rsa_host_key' 320s 3072 SHA256:AcbS96y4f4C2BXEg4xmGCa4VISfxqDaqIV24jmnXVGY /etc/dropbear/dropbear_rsa_host_key (RSA) 320s +---[RSA 3072]----+ 320s |=o++=o+. | 320s |.*o+.*+.o | 320s |..o o. +.o | 320s |o. . .E .o | 320s |oo. . ++S. | 320s |o..o .+ + | 320s |+ o o. + . | 320s |o* . .o . | 320s |= o ... | 320s +----[SHA256]-----+ 320s Converting existing OpenSSH ECDSA host key to Dropbear format. 320s Key is a ecdsa-sha2-nistp256 key 320s Wrote key to '/etc/dropbear/dropbear_ecdsa_host_key' 321s 256 SHA256:TkhktqAzAT3kqlfOZKGVfExebwLrNAx1f2feFrvLEWc /etc/dropbear/dropbear_ecdsa_host_key (ECDSA) 321s +---[ECDSA 256]---+ 321s |.+o o.B o | 321s | .o+ % * o | 321s | =.= @ . + . o. | 321s | . = * o o . + .o| 321s |. . + o S .oE| 321s |. * o o+| 321s |. . o . o | 321s | . . o| 321s | o | 321s +----[SHA256]-----+ 321s Converting existing OpenSSH ED25519 host key to Dropbear format. 321s Key is a ssh-ed25519 key 321s Wrote key to '/etc/dropbear/dropbear_ed25519_host_key' 321s 256 SHA256:+gQgDA8nLAe9MyQa3E1qbe6KE6KXxX04VWBJtLIQr3w /etc/dropbear/dropbear_ed25519_host_key (ED25519) 321s +--[ED25519 256]--+ 321s |Boo +. o=o | 321s |+X+.o+ .... | 321s |o=++ooo .. | 321s |. =oo+ o. | 321s | +ooEoS | 321s |.. +.+o. | 321s |o .o ..o. | 321s |..+ . o | 321s | o.. . | 321s +----[SHA256]-----+ 324s Created symlink /etc/systemd/system/multi-user.target.wants/dropbear.service → /usr/lib/systemd/system/dropbear.service. 327s Setting up python3-pyasn1-modules (0.2.8-1) ... 329s Setting up python3-service-identity (24.1.0-1) ... 330s Setting up libwww-robotrules-perl (6.02-1) ... 330s Setting up libhtml-parser-perl:armhf (3.81-1build3) ... 330s Setting up libio-socket-ssl-perl (2.085-1) ... 330s Setting up libhttp-message-perl (6.45-1ubuntu1) ... 330s Setting up libhttp-negotiate-perl (6.01-2) ... 330s Setting up libhttp-cookies-perl (6.11-1) ... 330s Setting up libhtml-tree-perl (5.07-3) ... 330s Setting up libparams-classify-perl:armhf (0.015-2build5) ... 330s Setting up libmodule-runtime-perl (0.016-2) ... 330s Setting up python3-twisted (24.3.0-1) ... 335s Setting up libimport-into-perl (1.002005-2) ... 335s Setting up libmoo-perl (2.005005-1) ... 335s Setting up openssh-tests (1:9.6p1-3ubuntu13) ... 335s Setting up liblwp-protocol-https-perl (6.13-1) ... 335s Setting up libwww-perl (6.76-1) ... 335s Setting up devscripts (2.23.7) ... 336s Setting up autopkgtest-satdep (0) ... 336s Processing triggers for libc-bin (2.39-0ubuntu8.2) ... 337s Processing triggers for man-db (2.12.0-4build2) ... 338s Processing triggers for install-info (7.1-3build2) ... 354s (Reading database ... 61044 files and directories currently installed.) 354s Removing autopkgtest-satdep (0) ... 360s autopkgtest [13:50:38]: test regress: [----------------------- 362s info: Adding user `openssh-tests' ... 362s info: Selecting UID/GID from range 1000 to 59999 ... 362s info: Adding new group `openssh-tests' (1001) ... 362s info: Adding new user `openssh-tests' (1001) with group `openssh-tests (1001)' ... 363s info: Creating home directory `/home/openssh-tests' ... 363s info: Copying files from `/etc/skel' ... 363s info: Adding new user `openssh-tests' to supplemental / extra groups `users' ... 363s info: Adding user `openssh-tests' to group `users' ... 363s Synchronizing state of haveged.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. 363s Executing: /usr/lib/systemd/systemd-sysv-install enable haveged 365s 13:50:43.602511743 I: Started /usr/lib/openssh/regress/run-tests /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user 365s 13:50:43.713754913 O: make: Entering directory '/tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress' 365s 13:50:43.721719423 O: test "x" = "x" || mkdir -p /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/valgrind-out 365s 13:50:43.727660664 O: ssh-keygen -if /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_ssh2.prv | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.prv 365s 13:50:43.792325674 O: tr '\n' '\r' /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_ssh2_cr.prv 365s 13:50:43.797717028 O: ssh-keygen -if /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_ssh2_cr.prv | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.prv 365s 13:50:43.809122065 O: awk '{print $0 "\r"}' /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_ssh2.prv > /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_ssh2_crnl.prv 365s 13:50:43.852653503 O: ssh-keygen -if /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_ssh2_crnl.prv | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.prv 365s 13:50:43.861282662 O: cat /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.prv > /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t2.out 365s 13:50:43.863657175 O: chmod 600 /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t2.out 365s 13:50:43.866225490 O: ssh-keygen -yf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t2.out | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.pub 365s 13:50:43.875226494 O: ssh-keygen -ef /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.pub >/tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t3.out 365s 13:50:43.889722373 O: ssh-keygen -if /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t3.out | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.pub 365s 13:50:43.906291881 O: ssh-keygen -E md5 -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.pub |\ 365s 13:50:43.912076880 O: awk '{print $2}' | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t4.ok 365s 13:50:43.925762669 O: ssh-keygen -Bf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.pub |\ 365s 13:50:43.931198583 O: awk '{print $2}' | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t5.ok 365s 13:50:43.941310443 O: ssh-keygen -if /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/dsa_ssh2.prv > /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t6.out1 365s 13:50:43.953562171 O: ssh-keygen -if /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/dsa_ssh2.pub > /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t6.out2 365s 13:50:43.965720098 O: chmod 600 /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t6.out1 366s 13:50:43.967374241 O: ssh-keygen -yf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t6.out1 | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t6.out2 366s 13:50:43.978213390 O: ssh-keygen -q -t rsa -N '' -f /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t7.out 368s 13:50:46.105746874 O: ssh-keygen -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t7.out > /dev/null 368s 13:50:46.113112655 O: ssh-keygen -Bf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t7.out > /dev/null 368s 13:50:46.120092511 O: ssh-keygen -q -t dsa -N '' -f /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t8.out 368s 13:50:46.262396426 O: ssh-keygen -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t8.out > /dev/null 368s 13:50:46.272348202 O: ssh-keygen -Bf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t8.out > /dev/null 368s 13:50:46.285915389 O: ! /usr/bin/ssh -Q key-plain | grep ecdsa >/dev/null || \ 368s 13:50:46.289139033 O: ssh-keygen -q -t ecdsa -N '' -f /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t9.out 368s 13:50:46.386831655 O: ! /usr/bin/ssh -Q key-plain | grep ecdsa >/dev/null || \ 368s 13:50:46.390059420 O: ssh-keygen -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t9.out > /dev/null 368s 13:50:46.416421222 O: ! /usr/bin/ssh -Q key-plain | grep ecdsa >/dev/null || \ 368s 13:50:46.419004577 O: ssh-keygen -Bf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t9.out > /dev/null 368s 13:50:46.431020382 O: ssh-keygen -q -t ed25519 -N '' -f /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t10.out 368s 13:50:46.450107605 O: ssh-keygen -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t10.out > /dev/null 368s 13:50:46.457484666 O: ssh-keygen -Bf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t10.out > /dev/null 368s 13:50:46.468178333 O: ssh-keygen -E sha256 -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/rsa_openssh.pub |\ 368s 13:50:46.471007212 O: awk '{print $2}' | diff - /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t11.ok 368s 13:50:46.479102283 O: ssh-keygen -q -t ed25519 -N '' -C 'test-comment-1234' -f /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t12.out 368s 13:50:46.489623827 O: ssh-keygen -lf /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/t12.out.pub | grep test-comment-1234 >/dev/null 368s 13:50:46.503919624 E: run test connect.sh ... 373s 13:50:51.896089675 O: ok simple connect 373s 13:50:51.896221757 E: run test proxy-connect.sh ... 374s 13:50:52.379371782 O: plain username comp=no 374s 13:50:52.771146993 O: plain username comp=yes 375s 13:50:53.138571790 O: username with style 375s 13:50:53.574293722 O: ok proxy connect 375s 13:50:53.574919050 E: run test sshfp-connect.sh ... 375s 13:50:53.941568995 O: SKIPPED: TEST_SSH_SSHFP_DOMAIN not set. 375s 13:50:53.943704625 E: run test connect-privsep.sh ... 381s 13:50:59.651771169 O: ok proxy connect with privsep 381s 13:50:59.653202508 E: run test connect-uri.sh ... 382s 13:51:00.316170735 O: uri connect: no trailing slash 382s 13:51:00.625305281 O: uri connect: trailing slash 382s 13:51:00.960718628 O: uri connect: with path name 383s 13:51:01.058762568 O: ok uri connect 383s 13:51:01.060541712 E: run test proto-version.sh ... 383s 13:51:01.632219926 E: run test proto-mismatch.sh ... 383s 13:51:01.632186926 O: ok sshd version with different protocol combinations 383s 13:51:01.963649696 O: ok protocol version mismatch 383s 13:51:01.964530668 E: run test exit-status.sh ... 384s 13:51:02.255410203 O: test remote exit status: status 0 389s 13:51:07.890960501 O: test remote exit status: status 1 395s 13:51:13.456300937 O: test remote exit status: status 4 401s 13:51:19.009236787 O: test remote exit status: status 5 406s 13:51:24.683962031 O: test remote exit status: status 44 412s 13:51:30.423496652 E: run test exit-status-signal.sh ... 412s 13:51:30.423079846 O: ok remote exit status 414s 13:51:32.118531275 E: run test envpass.sh ... 414s 13:51:32.117956307 O: ok exit status on signal 414s 13:51:32.505231307 O: test environment passing: pass env, don't accept 414s 13:51:32.826229851 O: test environment passing: setenv, don't accept 415s 13:51:33.107766219 O: test environment passing: don't pass env, accept 415s 13:51:33.386061743 O: test environment passing: pass single env, accept single env 415s 13:51:33.646792990 O: test environment passing: pass multiple env, accept multiple env 416s 13:51:34.033438700 O: test environment passing: setenv, accept 416s 13:51:34.353976914 O: test environment passing: setenv, first match wins 416s 13:51:34.629342277 O: test environment passing: server setenv wins 416s 13:51:34.911878977 O: test environment passing: server setenv wins 417s 13:51:35.200393318 O: ok environment passing 417s 13:51:35.200597481 E: run test transfer.sh ... 420s 13:51:37.999668463 O: ok transfer data 420s 13:51:38.001030562 E: run test banner.sh ... 420s 13:51:38.820774232 O: test banner: missing banner file 421s 13:51:39.226999957 O: test banner: size 0 421s 13:51:39.592677133 O: test banner: size 10 421s 13:51:39.905997243 O: test banner: size 100 422s 13:51:40.208473206 O: test banner: size 1000 422s 13:51:40.497597348 O: test banner: size 10000 422s 13:51:40.777526245 O: test banner: size 100000 423s 13:51:41.050179965 O: test banner: suppress banner (-q) 423s 13:51:41.308433449 O: ok banner 423s 13:51:41.309103778 E: run test rekey.sh ... 423s 13:51:41.640638411 O: client rekey KexAlgorithms=diffie-hellman-group1-sha1 425s 13:51:43.139303305 O: client rekey KexAlgorithms=diffie-hellman-group14-sha1 426s 13:51:44.762639789 O: client rekey KexAlgorithms=diffie-hellman-group14-sha256 428s 13:51:46.183212971 O: client rekey KexAlgorithms=diffie-hellman-group16-sha512 429s 13:51:47.643898804 O: client rekey KexAlgorithms=diffie-hellman-group18-sha512 431s 13:51:49.090784444 O: client rekey KexAlgorithms=diffie-hellman-group-exchange-sha1 432s 13:51:50.487274915 O: client rekey KexAlgorithms=diffie-hellman-group-exchange-sha256 434s 13:51:52.548646519 O: client rekey KexAlgorithms=ecdh-sha2-nistp256 435s 13:51:53.895891790 O: client rekey KexAlgorithms=ecdh-sha2-nistp384 437s 13:51:55.411804118 O: client rekey KexAlgorithms=ecdh-sha2-nistp521 439s 13:51:57.057619981 O: client rekey KexAlgorithms=curve25519-sha256 440s 13:51:58.773865698 O: client rekey KexAlgorithms=curve25519-sha256@libssh.org 442s 13:52:00.056361825 O: client rekey KexAlgorithms=sntrup761x25519-sha512@openssh.com 443s 13:52:01.443300025 O: client rekey Ciphers=3des-cbc 445s 13:52:03.066177300 O: client rekey Ciphers=aes128-cbc 446s 13:52:04.319505493 O: client rekey Ciphers=aes192-cbc 447s 13:52:05.591318208 O: client rekey Ciphers=aes256-cbc 448s 13:52:06.868970595 O: client rekey Ciphers=aes128-ctr 450s 13:52:08.173063048 O: client rekey Ciphers=aes192-ctr 451s 13:52:09.457438631 O: client rekey Ciphers=aes256-ctr 452s 13:52:10.790421057 O: client rekey Ciphers=aes128-gcm@openssh.com 454s 13:52:12.077540264 O: client rekey Ciphers=aes256-gcm@openssh.com 455s 13:52:13.370776184 O: client rekey Ciphers=chacha20-poly1305@openssh.com 456s 13:52:14.640204501 O: client rekey MACs=hmac-sha1 458s 13:52:15.973904430 O: client rekey MACs=hmac-sha1-96 459s 13:52:17.274580190 O: client rekey MACs=hmac-sha2-256 460s 13:52:18.586733816 O: client rekey MACs=hmac-sha2-512 462s 13:52:20.025693728 O: client rekey MACs=hmac-md5 463s 13:52:21.393848286 O: client rekey MACs=hmac-md5-96 464s 13:52:22.711884810 O: client rekey MACs=umac-64@openssh.com 466s 13:52:24.057613176 O: client rekey MACs=umac-128@openssh.com 467s 13:52:25.429396241 O: client rekey MACs=hmac-sha1-etm@openssh.com 468s 13:52:26.723284263 O: client rekey MACs=hmac-sha1-96-etm@openssh.com 470s 13:52:28.013578151 O: client rekey MACs=hmac-sha2-256-etm@openssh.com 471s 13:52:29.369698667 O: client rekey MACs=hmac-sha2-512-etm@openssh.com 472s 13:52:30.823102989 O: client rekey MACs=hmac-md5-etm@openssh.com 474s 13:52:32.241376636 O: client rekey MACs=hmac-md5-96-etm@openssh.com 476s 13:52:33.851410543 O: client rekey MACs=umac-64-etm@openssh.com 477s 13:52:35.369076853 O: client rekey MACs=umac-128-etm@openssh.com 478s 13:52:36.741824311 O: client rekey aes128-gcm@openssh.com diffie-hellman-group1-sha1 480s 13:52:38.119173464 O: client rekey aes128-gcm@openssh.com diffie-hellman-group14-sha1 481s 13:52:39.408465761 O: client rekey aes128-gcm@openssh.com diffie-hellman-group14-sha256 482s 13:52:40.683859188 O: client rekey aes128-gcm@openssh.com diffie-hellman-group16-sha512 484s 13:52:41.997757159 O: client rekey aes128-gcm@openssh.com diffie-hellman-group18-sha512 485s 13:52:43.310202184 O: client rekey aes128-gcm@openssh.com diffie-hellman-group-exchange-sha1 486s 13:52:44.660587825 O: client rekey aes128-gcm@openssh.com diffie-hellman-group-exchange-sha256 487s 13:52:45.956252856 O: client rekey aes128-gcm@openssh.com ecdh-sha2-nistp256 489s 13:52:47.251354752 O: client rekey aes128-gcm@openssh.com ecdh-sha2-nistp384 490s 13:52:48.567230796 O: client rekey aes128-gcm@openssh.com ecdh-sha2-nistp521 491s 13:52:49.887632815 O: client rekey aes128-gcm@openssh.com curve25519-sha256 493s 13:52:51.214058466 O: client rekey aes128-gcm@openssh.com curve25519-sha256@libssh.org 494s 13:52:52.536314455 O: client rekey aes128-gcm@openssh.com sntrup761x25519-sha512@openssh.com 495s 13:52:53.823441855 O: client rekey aes256-gcm@openssh.com diffie-hellman-group1-sha1 497s 13:52:55.104065162 O: client rekey aes256-gcm@openssh.com diffie-hellman-group14-sha1 498s 13:52:56.375161298 O: client rekey aes256-gcm@openssh.com diffie-hellman-group14-sha256 499s 13:52:57.698391555 O: client rekey aes256-gcm@openssh.com diffie-hellman-group16-sha512 501s 13:52:59.151187874 O: client rekey aes256-gcm@openssh.com diffie-hellman-group18-sha512 502s 13:53:00.550342199 O: client rekey aes256-gcm@openssh.com diffie-hellman-group-exchange-sha1 503s 13:53:01.881672863 O: client rekey aes256-gcm@openssh.com diffie-hellman-group-exchange-sha256 505s 13:53:03.174380452 O: client rekey aes256-gcm@openssh.com ecdh-sha2-nistp256 507s 13:53:05.160898808 O: client rekey aes256-gcm@openssh.com ecdh-sha2-nistp384 509s 13:53:07.926897684 O: client rekey aes256-gcm@openssh.com ecdh-sha2-nistp521 511s 13:53:09.310068434 O: client rekey aes256-gcm@openssh.com curve25519-sha256 512s 13:53:10.751308860 O: client rekey aes256-gcm@openssh.com curve25519-sha256@libssh.org 514s 13:53:12.148541021 O: client rekey aes256-gcm@openssh.com sntrup761x25519-sha512@openssh.com 515s 13:53:13.469273330 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group1-sha1 516s 13:53:14.775110958 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group14-sha1 518s 13:53:16.075429747 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group14-sha256 519s 13:53:17.361883788 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group16-sha512 520s 13:53:18.679415070 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group18-sha512 522s 13:53:20.054784466 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group-exchange-sha1 523s 13:53:21.352496916 O: client rekey chacha20-poly1305@openssh.com diffie-hellman-group-exchange-sha256 524s 13:53:22.692539835 O: client rekey chacha20-poly1305@openssh.com ecdh-sha2-nistp256 526s 13:53:23.978191436 O: client rekey chacha20-poly1305@openssh.com ecdh-sha2-nistp384 527s 13:53:25.317820498 O: client rekey chacha20-poly1305@openssh.com ecdh-sha2-nistp521 528s 13:53:26.627902686 O: client rekey chacha20-poly1305@openssh.com curve25519-sha256 529s 13:53:27.927049966 O: client rekey chacha20-poly1305@openssh.com curve25519-sha256@libssh.org 531s 13:53:29.198194754 O: client rekey chacha20-poly1305@openssh.com sntrup761x25519-sha512@openssh.com 532s 13:53:30.488559827 O: client rekeylimit 16 534s 13:53:32.259342293 O: client rekeylimit 1k 535s 13:53:33.820740733 O: client rekeylimit 128k 537s 13:53:35.124491281 O: client rekeylimit 256k 538s 13:53:36.433523052 O: client rekeylimit default 5 554s 13:53:52.240605176 O: client rekeylimit default 10 575s 13:54:13.244686013 O: client rekeylimit default 5 no data 591s 13:54:29.129269898 O: client rekeylimit default 10 no data 611s 13:54:49.522923858 O: server rekeylimit 16 613s 13:54:51.301382897 O: server rekeylimit 1k 615s 13:54:53.036927298 O: server rekeylimit 128k 616s 13:54:54.507673498 O: server rekeylimit 256k 617s 13:54:55.950986222 O: server rekeylimit default 5 no data 634s 13:55:12.230034073 O: server rekeylimit default 10 no data 656s 13:55:33.935509600 O: rekeylimit parsing 672s 13:55:50.477201270 O: ok rekey 672s 13:55:50.485469655 E: run test dhgex.sh ... 673s 13:55:51.129641926 O: dhgex bits 3072 diffie-hellman-group-exchange-sha1 3des-cbc 673s 13:55:51.549189153 O: dhgex bits 3072 diffie-hellman-group-exchange-sha256 3des-cbc 673s 13:55:51.949945103 O: dhgex bits 3072 diffie-hellman-group-exchange-sha1 aes128-cbc 674s 13:55:52.450149870 O: dhgex bits 3072 diffie-hellman-group-exchange-sha256 aes128-cbc 674s 13:55:52.881386804 O: dhgex bits 3072 diffie-hellman-group-exchange-sha1 aes128-ctr 675s 13:55:53.244843921 O: dhgex bits 3072 diffie-hellman-group-exchange-sha256 aes128-ctr 675s 13:55:53.620865676 O: dhgex bits 3072 diffie-hellman-group-exchange-sha1 aes128-gcm@openssh.com 676s 13:55:54.028877715 O: dhgex bits 3072 diffie-hellman-group-exchange-sha256 aes128-gcm@openssh.com 676s 13:55:54.740893477 O: dhgex bits 7680 diffie-hellman-group-exchange-sha1 aes192-cbc 677s 13:55:55.125145095 O: dhgex bits 7680 diffie-hellman-group-exchange-sha256 aes192-cbc 677s 13:55:55.453341123 O: dhgex bits 7680 diffie-hellman-group-exchange-sha1 aes192-ctr 677s 13:55:55.788159875 O: dhgex bits 7680 diffie-hellman-group-exchange-sha256 aes192-ctr 678s 13:55:56.126718435 O: dhgex bits 8192 diffie-hellman-group-exchange-sha1 aes256-cbc 678s 13:55:56.476497575 O: dhgex bits 8192 diffie-hellman-group-exchange-sha256 aes256-cbc 678s 13:55:56.843873778 O: dhgex bits 8192 diffie-hellman-group-exchange-sha1 aes256-ctr 679s 13:55:57.178529247 O: dhgex bits 8192 diffie-hellman-group-exchange-sha256 aes256-ctr 679s 13:55:57.514661814 O: dhgex bits 8192 diffie-hellman-group-exchange-sha1 aes256-gcm@openssh.com 679s 13:55:57.880912961 O: dhgex bits 8192 diffie-hellman-group-exchange-sha256 aes256-gcm@openssh.com 681s 13:55:59.256961664 O: dhgex bits 8192 diffie-hellman-group-exchange-sha1 chacha20-poly1305@openssh.com 682s 13:56:00.400398505 O: dhgex bits 8192 diffie-hellman-group-exchange-sha256 chacha20-poly1305@openssh.com 683s 13:56:01.059528508 E: run test stderr-data.sh ... 683s 13:56:01.094865634 O: ok dhgex 683s 13:56:01.842434192 O: test stderr data transfer: () 692s 13:56:10.807671027 O: test stderr data transfer: (-n) 699s 13:56:17.656927158 O: ok stderr data transfer 699s 13:56:17.660930849 E: run test stderr-after-eof.sh ... 702s 13:56:20.910211446 O: ok stderr data after eof 702s 13:56:20.913740610 E: run test broken-pipe.sh ... 703s 13:56:21.567011865 E: run test try-ciphers.sh ... 703s 13:56:21.612161993 O: ok broken pipe test 705s 13:56:23.796895819 O: test try ciphers: cipher 3des-cbc mac hmac-sha1 706s 13:56:24.110659242 O: test try ciphers: cipher 3des-cbc mac hmac-sha1-96 706s 13:56:24.506072932 O: test try ciphers: cipher 3des-cbc mac hmac-sha2-256 706s 13:56:24.819794434 O: test try ciphers: cipher 3des-cbc mac hmac-sha2-512 707s 13:56:25.122120154 O: test try ciphers: cipher 3des-cbc mac hmac-md5 707s 13:56:25.404066096 O: test try ciphers: cipher 3des-cbc mac hmac-md5-96 707s 13:56:25.683033081 O: test try ciphers: cipher 3des-cbc mac umac-64@openssh.com 708s 13:56:25.979461246 O: test try ciphers: cipher 3des-cbc mac umac-128@openssh.com 708s 13:56:26.375488061 O: test try ciphers: cipher 3des-cbc mac hmac-sha1-etm@openssh.com 708s 13:56:26.785016046 O: test try ciphers: cipher 3des-cbc mac hmac-sha1-96-etm@openssh.com 709s 13:56:27.171317498 O: test try ciphers: cipher 3des-cbc mac hmac-sha2-256-etm@openssh.com 709s 13:56:27.562010285 O: test try ciphers: cipher 3des-cbc mac hmac-sha2-512-etm@openssh.com 709s 13:56:27.941894217 O: test try ciphers: cipher 3des-cbc mac hmac-md5-etm@openssh.com 710s 13:56:28.224533486 O: test try ciphers: cipher 3des-cbc mac hmac-md5-96-etm@openssh.com 710s 13:56:28.504787166 O: test try ciphers: cipher 3des-cbc mac umac-64-etm@openssh.com 710s 13:56:28.785933176 O: test try ciphers: cipher 3des-cbc mac umac-128-etm@openssh.com 711s 13:56:29.257399056 O: test try ciphers: cipher aes128-cbc mac hmac-sha1 711s 13:56:29.721170159 O: test try ciphers: cipher aes128-cbc mac hmac-sha1-96 712s 13:56:30.189276355 O: test try ciphers: cipher aes128-cbc mac hmac-sha2-256 712s 13:56:30.664944286 O: test try ciphers: cipher aes128-cbc mac hmac-sha2-512 713s 13:56:31.090225625 O: test try ciphers: cipher aes128-cbc mac hmac-md5 713s 13:56:31.566866567 O: test try ciphers: cipher aes128-cbc mac hmac-md5-96 713s 13:56:31.847397967 O: test try ciphers: cipher aes128-cbc mac umac-64@openssh.com 714s 13:56:32.120961200 O: test try ciphers: cipher aes128-cbc mac umac-128@openssh.com 714s 13:56:32.437863417 O: test try ciphers: cipher aes128-cbc mac hmac-sha1-etm@openssh.com 714s 13:56:32.833009735 O: test try ciphers: cipher aes128-cbc mac hmac-sha1-96-etm@openssh.com 715s 13:56:33.281644364 O: test try ciphers: cipher aes128-cbc mac hmac-sha2-256-etm@openssh.com 715s 13:56:33.756855766 O: test try ciphers: cipher aes128-cbc mac hmac-sha2-512-etm@openssh.com 716s 13:56:34.058845914 O: test try ciphers: cipher aes128-cbc mac hmac-md5-etm@openssh.com 716s 13:56:34.336641079 O: test try ciphers: cipher aes128-cbc mac hmac-md5-96-etm@openssh.com 716s 13:56:34.617585803 O: test try ciphers: cipher aes128-cbc mac umac-64-etm@openssh.com 717s 13:56:35.037350908 O: test try ciphers: cipher aes128-cbc mac umac-128-etm@openssh.com 717s 13:56:35.465605758 O: test try ciphers: cipher aes192-cbc mac hmac-sha1 717s 13:56:35.808630700 O: test try ciphers: cipher aes192-cbc mac hmac-sha1-96 718s 13:56:36.137705147 O: test try ciphers: cipher aes192-cbc mac hmac-sha2-256 718s 13:56:36.496869050 O: test try ciphers: cipher aes192-cbc mac hmac-sha2-512 719s 13:56:36.969687618 O: test try ciphers: cipher aes192-cbc mac hmac-md5 719s 13:56:37.422694977 O: test try ciphers: cipher aes192-cbc mac hmac-md5-96 719s 13:56:37.811593293 O: test try ciphers: cipher aes192-cbc mac umac-64@openssh.com 720s 13:56:38.340990608 O: test try ciphers: cipher aes192-cbc mac umac-128@openssh.com 720s 13:56:38.856968795 O: test try ciphers: cipher aes192-cbc mac hmac-sha1-etm@openssh.com 721s 13:56:39.417036734 O: test try ciphers: cipher aes192-cbc mac hmac-sha1-96-etm@openssh.com 721s 13:56:39.763188432 O: test try ciphers: cipher aes192-cbc mac hmac-sha2-256-etm@openssh.com 722s 13:56:40.055126010 O: test try ciphers: cipher aes192-cbc mac hmac-sha2-512-etm@openssh.com 722s 13:56:40.486213411 O: test try ciphers: cipher aes192-cbc mac hmac-md5-etm@openssh.com 722s 13:56:40.844392459 O: test try ciphers: cipher aes192-cbc mac hmac-md5-96-etm@openssh.com 723s 13:56:41.114447122 O: test try ciphers: cipher aes192-cbc mac umac-64-etm@openssh.com 723s 13:56:41.401668880 O: test try ciphers: cipher aes192-cbc mac umac-128-etm@openssh.com 723s 13:56:41.683346408 O: test try ciphers: cipher aes256-cbc mac hmac-sha1 724s 13:56:41.984303978 O: test try ciphers: cipher aes256-cbc mac hmac-sha1-96 724s 13:56:42.278037777 O: test try ciphers: cipher aes256-cbc mac hmac-sha2-256 724s 13:56:42.574648932 O: test try ciphers: cipher aes256-cbc mac hmac-sha2-512 724s 13:56:42.890775931 O: test try ciphers: cipher aes256-cbc mac hmac-md5 725s 13:56:43.161462201 O: test try ciphers: cipher aes256-cbc mac hmac-md5-96 725s 13:56:43.438135065 O: test try ciphers: cipher aes256-cbc mac umac-64@openssh.com 725s 13:56:43.812977479 O: test try ciphers: cipher aes256-cbc mac umac-128@openssh.com 726s 13:56:44.206670288 O: test try ciphers: cipher aes256-cbc mac hmac-sha1-etm@openssh.com 726s 13:56:44.554465082 O: test try ciphers: cipher aes256-cbc mac hmac-sha1-96-etm@openssh.com 727s 13:56:45.019630786 O: test try ciphers: cipher aes256-cbc mac hmac-sha2-256-etm@openssh.com 727s 13:56:45.445065231 O: test try ciphers: cipher aes256-cbc mac hmac-sha2-512-etm@openssh.com 727s 13:56:45.857281391 O: test try ciphers: cipher aes256-cbc mac hmac-md5-etm@openssh.com 728s 13:56:46.349721634 O: test try ciphers: cipher aes256-cbc mac hmac-md5-96-etm@openssh.com 728s 13:56:46.755139668 O: test try ciphers: cipher aes256-cbc mac umac-64-etm@openssh.com 729s 13:56:47.406878343 O: test try ciphers: cipher aes256-cbc mac umac-128-etm@openssh.com 730s 13:56:48.161857349 O: test try ciphers: cipher aes128-ctr mac hmac-sha1 730s 13:56:48.601203245 O: test try ciphers: cipher aes128-ctr mac hmac-sha1-96 731s 13:56:49.032245438 O: test try ciphers: cipher aes128-ctr mac hmac-sha2-256 731s 13:56:49.398329417 O: test try ciphers: cipher aes128-ctr mac hmac-sha2-512 731s 13:56:49.915314003 O: test try ciphers: cipher aes128-ctr mac hmac-md5 732s 13:56:50.333317390 O: test try ciphers: cipher aes128-ctr mac hmac-md5-96 732s 13:56:50.751307258 O: test try ciphers: cipher aes128-ctr mac umac-64@openssh.com 733s 13:56:51.158929755 O: test try ciphers: cipher aes128-ctr mac umac-128@openssh.com 733s 13:56:51.601269045 O: test try ciphers: cipher aes128-ctr mac hmac-sha1-etm@openssh.com 734s 13:56:52.079470904 O: test try ciphers: cipher aes128-ctr mac hmac-sha1-96-etm@openssh.com 734s 13:56:52.511556905 O: test try ciphers: cipher aes128-ctr mac hmac-sha2-256-etm@openssh.com 734s 13:56:52.844804911 O: test try ciphers: cipher aes128-ctr mac hmac-sha2-512-etm@openssh.com 735s 13:56:53.217680092 O: test try ciphers: cipher aes128-ctr mac hmac-md5-etm@openssh.com 735s 13:56:53.651599875 O: test try ciphers: cipher aes128-ctr mac hmac-md5-96-etm@openssh.com 736s 13:56:53.986716784 O: test try ciphers: cipher aes128-ctr mac umac-64-etm@openssh.com 736s 13:56:54.302257887 O: test try ciphers: cipher aes128-ctr mac umac-128-etm@openssh.com 736s 13:56:54.680951459 O: test try ciphers: cipher aes192-ctr mac hmac-sha1 737s 13:56:54.976886397 O: test try ciphers: cipher aes192-ctr mac hmac-sha1-96 737s 13:56:55.368185566 O: test try ciphers: cipher aes192-ctr mac hmac-sha2-256 737s 13:56:55.657265018 O: test try ciphers: cipher aes192-ctr mac hmac-sha2-512 738s 13:56:56.014892246 O: test try ciphers: cipher aes192-ctr mac hmac-md5 739s 13:56:57.000874122 O: test try ciphers: cipher aes192-ctr mac hmac-md5-96 739s 13:56:57.476843067 O: test try ciphers: cipher aes192-ctr mac umac-64@openssh.com 739s 13:56:57.829748674 O: test try ciphers: cipher aes192-ctr mac umac-128@openssh.com 740s 13:56:58.256718086 O: test try ciphers: cipher aes192-ctr mac hmac-sha1-etm@openssh.com 740s 13:56:58.649317509 O: test try ciphers: cipher aes192-ctr mac hmac-sha1-96-etm@openssh.com 740s 13:56:58.948959170 O: test try ciphers: cipher aes192-ctr mac hmac-sha2-256-etm@openssh.com 741s 13:56:59.343198292 O: test try ciphers: cipher aes192-ctr mac hmac-sha2-512-etm@openssh.com 741s 13:56:59.773729907 O: test try ciphers: cipher aes192-ctr mac hmac-md5-etm@openssh.com 742s 13:57:00.240822018 O: test try ciphers: cipher aes192-ctr mac hmac-md5-96-etm@openssh.com 742s 13:57:00.528958255 O: test try ciphers: cipher aes192-ctr mac umac-64-etm@openssh.com 743s 13:57:00.973537764 O: test try ciphers: cipher aes192-ctr mac umac-128-etm@openssh.com 743s 13:57:01.384884578 O: test try ciphers: cipher aes256-ctr mac hmac-sha1 743s 13:57:01.941642366 O: test try ciphers: cipher aes256-ctr mac hmac-sha1-96 744s 13:57:02.428896166 O: test try ciphers: cipher aes256-ctr mac hmac-sha2-256 744s 13:57:02.767609153 O: test try ciphers: cipher aes256-ctr mac hmac-sha2-512 745s 13:57:03.168834399 O: test try ciphers: cipher aes256-ctr mac hmac-md5 745s 13:57:03.619077056 O: test try ciphers: cipher aes256-ctr mac hmac-md5-96 746s 13:57:04.062314625 O: test try ciphers: cipher aes256-ctr mac umac-64@openssh.com 746s 13:57:04.585051906 O: test try ciphers: cipher aes256-ctr mac umac-128@openssh.com 747s 13:57:05.256199397 O: test try ciphers: cipher aes256-ctr mac hmac-sha1-etm@openssh.com 748s 13:57:05.990897839 O: test try ciphers: cipher aes256-ctr mac hmac-sha1-96-etm@openssh.com 748s 13:57:06.580863955 O: test try ciphers: cipher aes256-ctr mac hmac-sha2-256-etm@openssh.com 749s 13:57:07.289014824 O: test try ciphers: cipher aes256-ctr mac hmac-sha2-512-etm@openssh.com 749s 13:57:07.914041216 O: test try ciphers: cipher aes256-ctr mac hmac-md5-etm@openssh.com 750s 13:57:08.445585682 O: test try ciphers: cipher aes256-ctr mac hmac-md5-96-etm@openssh.com 751s 13:57:09.067090828 O: test try ciphers: cipher aes256-ctr mac umac-64-etm@openssh.com 751s 13:57:09.560912342 O: test try ciphers: cipher aes256-ctr mac umac-128-etm@openssh.com 751s 13:57:09.937313553 O: test try ciphers: cipher aes128-gcm@openssh.com mac hmac-sha1 752s 13:57:10.330492932 O: test try ciphers: cipher aes256-gcm@openssh.com mac hmac-sha1 753s 13:57:11.033614653 O: test try ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha1 753s 13:57:11.597335435 E: run test yes-head.sh ... 753s 13:57:11.605198013 O: ok try ciphers 757s 13:57:15.363809660 O: ok yes pipe head 757s 13:57:15.365424280 E: run test login-timeout.sh ... 775s 13:57:33.478641853 O: ok connect after login grace timeout 775s 13:57:33.478712174 E: run test agent.sh ... 794s 13:57:52.070284843 E: run test agent-getpeereid.sh ... 794s 13:57:52.073191719 O: ok simple agent test 794s 13:57:52.797297596 O: ok disallow agent attach from other uid 794s 13:57:52.805060652 E: run test agent-timeout.sh ... 815s 13:58:13.831379120 O: ok agent timeout test 815s 13:58:13.835281888 E: run test agent-ptrace.sh ... 817s 13:58:15.605230822 E: run test agent-subprocess.sh ... 817s 13:58:15.605230582 O: skipped (gdb not found) 828s 13:58:26.425221285 O: ok agent subprocess 828s 13:58:26.426360659 E: run test keyscan.sh ... 833s 13:58:31.159218102 O: ok keyscan 833s 13:58:31.159444065 E: run test keygen-change.sh ... 840s 13:58:38.069371083 O: ok change passphrase for key 840s 13:58:38.069773808 E: run test keygen-comment.sh ... 852s 13:58:50.598625435 O: ok Comment extraction from private key 852s 13:58:50.602513083 E: run test keygen-convert.sh ... 859s 13:58:57.220058192 E: run test keygen-knownhosts.sh ... 859s 13:58:57.221649251 O: ok convert keys 859s 13:58:57.842139889 O: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts updated. 859s 13:58:57.843684268 O: Original contents retained as /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts.old 859s 13:58:57.863350228 O: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts updated. 859s 13:58:57.865123890 O: Original contents retained as /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts.old 859s 13:58:57.871224125 O: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts updated. 859s 13:58:57.872883265 O: Original contents retained as /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts.old 859s 13:58:57.887048319 O: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts updated. 859s 13:58:57.888595977 O: Original contents retained as /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hosts.old 859s 13:58:57.915605748 O: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hashed updated. 859s 13:58:57.917274209 O: Original contents retained as /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/kh.hashed.old 859s 13:58:57.921443900 O: ok ssh-keygen known_hosts 859s 13:58:57.922269510 E: run test keygen-moduli.sh ... 866s 13:59:04.475429103 O: ok keygen moduli 866s 13:59:04.476417035 E: run test keygen-sshfp.sh ... 867s 13:59:05.642218093 O: ok keygen-sshfp 867s 13:59:05.643035023 E: run test key-options.sh ... 868s 13:59:06.207750369 O: key option command="echo bar" 869s 13:59:07.021209636 O: key option no-pty,command="echo bar" 869s 13:59:07.395335890 O: key option pty default 870s 13:59:07.820355367 O: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@key option pty no-pty 870s 13:59:08.070362423 O: key option pty restrict 870s 13:59:08.330259240 O: key option pty restrict,pty 870s 13:59:08.597401306 O: ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@key option environment 871s 13:59:09.289783569 O: key option from="127.0.0.1" 872s 13:59:10.251151719 O: key option from="127.0.0.0/8" 872s 13:59:10.904712986 O: key option expiry-time default 873s 13:59:11.169495942 O: key option expiry-time invalid 873s 13:59:11.508122239 O: key option expiry-time expired 873s 13:59:11.852363086 O: key option expiry-time valid 874s 13:59:12.140846050 O: ok key options 874s 13:59:12.141049333 E: run test scp.sh ... 874s 13:59:12.414654756 O: scp: scp mode: simple copy local file to local file 874s 13:59:12.439088494 O: scp: scp mode: simple copy local file to remote file 874s 13:59:12.450327391 O: scp: scp mode: simple copy remote file to local file 874s 13:59:12.464882529 O: scp: scp mode: copy local file to remote file in place 874s 13:59:12.478300213 O: scp: scp mode: copy remote file to local file in place 874s 13:59:12.491690497 O: scp: scp mode: copy local file to remote file clobber 874s 13:59:12.502534029 O: -rw-rw-r-- 1 openssh-tests openssh-tests 235184 Jun 17 13:59 /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/copy 874s 13:59:12.504234410 O: -rw-rw-r-- 1 openssh-tests openssh-tests 235184 Jun 17 13:59 /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/data 874s 13:59:12.505840950 O: scp: scp mode: copy remote file to local file clobber 874s 13:59:12.517994538 O: scp: scp mode: simple copy local file to remote dir 874s 13:59:12.532131751 O: scp: scp mode: simple copy local file to local dir 874s 13:59:12.545249231 O: scp: scp mode: simple copy remote file to local dir 874s 13:59:12.559789449 O: scp: scp mode: recursive local dir to remote dir 874s 13:59:12.586487655 O: scp: scp mode: recursive local dir to local dir 874s 13:59:12.614618199 O: scp: scp mode: recursive remote dir to local dir 874s 13:59:12.644685606 O: scp: scp mode: unmatched glob file local->remote 874s 13:59:12.656214507 O: scp: scp mode: unmatched glob file remote->local 874s 13:59:12.662810627 O: scp: scp mode: unmatched glob dir recursive local->remote 874s 13:59:12.682815832 O: scp: scp mode: unmatched glob dir recursive remote->local 874s 13:59:12.690946971 O: scp: scp mode: shell metacharacters 874s 13:59:12.701298898 O: scp: scp mode: skipped file after scp -p with failed chown+utimes 874s 13:59:12.750001213 O: scp: scp mode: disallow bad server #0 874s 13:59:12.776827980 O: scp: scp mode: disallow bad server #1 874s 13:59:12.805102286 O: scp: scp mode: disallow bad server #2 874s 13:59:12.832724223 O: scp: scp mode: disallow bad server #3 874s 13:59:12.860702205 O: scp: scp mode: disallow bad server #4 874s 13:59:12.888829949 O: scp: scp mode: disallow bad server #5 874s 13:59:12.916173923 O: scp: scp mode: disallow bad server #6 874s 13:59:12.941804956 O: scp: scp mode: disallow bad server #7 875s 13:59:12.967898595 O: scp: scp mode: detect non-directory target 875s 13:59:12.973147859 E: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/copy2: Not a directory 875s 13:59:12.975697810 O: scp: sftp mode: simple copy local file to local file 875s 13:59:12.986968268 O: scp: sftp mode: simple copy local file to remote file 875s 13:59:13.023580155 O: scp: sftp mode: simple copy remote file to local file 875s 13:59:13.034352807 O: scp: sftp mode: copy local file to remote file in place 875s 13:59:13.047261884 O: scp: sftp mode: copy remote file to local file in place 875s 13:59:13.060258723 O: scp: sftp mode: copy local file to remote file clobber 875s 13:59:13.072606514 O: -rw-rw-r-- 1 openssh-tests openssh-tests 235184 Jun 17 13:59 /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/copy 875s 13:59:13.074271814 O: -rw-rw-r-- 1 openssh-tests openssh-tests 235184 Jun 17 13:59 /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/data 875s 13:59:13.075858114 O: scp: sftp mode: copy remote file to local file clobber 875s 13:59:13.089416559 O: scp: sftp mode: simple copy local file to remote dir 875s 13:59:13.103330889 O: scp: sftp mode: simple copy local file to local dir 875s 13:59:13.116445329 O: scp: sftp mode: simple copy remote file to local dir 875s 13:59:13.130113216 O: scp: sftp mode: recursive local dir to remote dir 875s 13:59:13.156183895 O: scp: sftp mode: recursive local dir to local dir 875s 13:59:13.180676474 O: scp: sftp mode: recursive remote dir to local dir 875s 13:59:13.207592123 O: scp: sftp mode: unmatched glob file local->remote 875s 13:59:13.220058155 O: scp: sftp mode: unmatched glob file remote->local 875s 13:59:13.229892835 O: scp: sftp mode: unmatched glob dir recursive local->remote 875s 13:59:13.249891839 O: scp: sftp mode: unmatched glob dir recursive remote->local 875s 13:59:13.279244918 O: scp: sftp mode: shell metacharacters 875s 13:59:13.290728818 O: scp: sftp mode: skipped file after scp -p with failed chown+utimes 875s 13:59:13.392406860 O: scp: sftp mode: disallow bad server #0 875s 13:59:13.426704039 O: scp: sftp mode: disallow bad server #1 875s 13:59:13.459507280 O: scp: sftp mode: disallow bad server #2 875s 13:59:13.493045290 O: scp: sftp mode: disallow bad server #3 875s 13:59:13.526283976 O: scp: sftp mode: disallow bad server #4 875s 13:59:13.558455369 O: scp: sftp mode: disallow bad server #5 875s 13:59:13.590074035 O: scp: sftp mode: disallow bad server #6 875s 13:59:13.621435698 O: scp: sftp mode: disallow bad server #7 875s 13:59:13.653627851 O: scp: sftp mode: detect non-directory target 875s 13:59:13.658443990 E: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/copy2: Not a directory 875s 13:59:13.666035323 O: ok scp 875s 13:59:13.666427088 E: run test scp3.sh ... 875s 13:59:13.931763249 O: scp3: scp mode: simple copy remote file to remote file 876s 13:59:14.214089337 O: scp3: scp mode: simple copy remote file to remote dir 876s 13:59:14.492158614 O: scp3: scp mode: recursive remote dir to remote dir 876s 13:59:14.808354515 O: scp3: scp mode: detect non-directory target 877s 13:59:15.361626592 O: scp3: sftp mode: simple copy remote file to remote file 877s 13:59:15.378115274 O: scp3: sftp mode: simple copy remote file to remote dir 877s 13:59:15.395891251 O: scp3: sftp mode: recursive remote dir to remote dir 877s 13:59:15.462557585 O: scp3: sftp mode: detect non-directory target 877s 13:59:15.470186678 E: scp: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/copy2: destination is not a directory 877s 13:59:15.472206543 E: scp: /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/copy2: destination is not a directory 877s 13:59:15.480917649 O: ok scp3 877s 13:59:15.481240293 E: run test scp-uri.sh ... 877s 13:59:15.787570354 O: scp-uri: scp mode: simple copy local file to remote file 877s 13:59:15.798383686 O: scp-uri: scp mode: simple copy remote file to local file 877s 13:59:15.807888722 O: scp-uri: scp mode: simple copy local file to remote dir 877s 13:59:15.821199685 O: scp-uri: scp mode: simple copy remote file to local dir 877s 13:59:15.835285137 O: scp-uri: scp mode: recursive local dir to remote dir 877s 13:59:15.849953636 O: scp-uri: scp mode: recursive remote dir to local dir 877s 13:59:15.865519306 O: scp-uri: sftp mode: simple copy local file to remote file 877s 13:59:15.877600853 O: scp-uri: sftp mode: simple copy remote file to local file 877s 13:59:15.888353185 O: scp-uri: sftp mode: simple copy local file to remote dir 877s 13:59:15.904135897 O: scp-uri: sftp mode: simple copy remote file to local dir 877s 13:59:15.918039067 O: scp-uri: sftp mode: recursive local dir to remote dir 877s 13:59:15.934269465 O: scp-uri: sftp mode: recursive remote dir to local dir 877s 13:59:15.956973303 E: run test sftp.sh ... 877s 13:59:15.957063024 O: ok scp-uri 878s 13:59:16.211568331 O: test basic sftp put/get: buffer_size 5 num_requests 1 881s 13:59:18.986353967 O: test basic sftp put/get: buffer_size 5 num_requests 2 882s 13:59:20.372684807 O: test basic sftp put/get: buffer_size 5 num_requests 10 883s 13:59:21.614869364 O: test basic sftp put/get: buffer_size 1000 num_requests 1 883s 13:59:21.641985495 O: test basic sftp put/get: buffer_size 1000 num_requests 2 883s 13:59:21.661822777 O: test basic sftp put/get: buffer_size 1000 num_requests 10 883s 13:59:21.680305643 O: test basic sftp put/get: buffer_size 32000 num_requests 1 883s 13:59:21.690851291 O: test basic sftp put/get: buffer_size 32000 num_requests 2 883s 13:59:21.700984735 O: test basic sftp put/get: buffer_size 32000 num_requests 10 883s 13:59:21.710921776 O: test basic sftp put/get: buffer_size 64000 num_requests 1 883s 13:59:21.720884098 O: test basic sftp put/get: buffer_size 64000 num_requests 2 883s 13:59:21.731368346 O: test basic sftp put/get: buffer_size 64000 num_requests 10 883s 13:59:21.743071409 O: ok basic sftp put/get 883s 13:59:21.743458893 E: run test sftp-chroot.sh ... 884s 13:59:22.534540745 O: test sftp in chroot: get 885s 13:59:23.249122382 O: test sftp in chroot: match 885s 13:59:23.851105565 O: ok sftp in chroot 885s 13:59:23.863012110 E: run test sftp-cmds.sh ... 886s 13:59:24.215919815 O: sftp commands: lls 886s 13:59:24.249267542 O: sftp commands: lls w/path 886s 13:59:24.261902736 O: sftp commands: ls 886s 13:59:24.272549986 O: sftp commands: shell 886s 13:59:24.281044249 O: sftp commands: pwd 886s 13:59:24.288028854 O: sftp commands: lpwd 886s 13:59:24.294564774 O: sftp commands: quit 886s 13:59:24.300943932 O: sftp commands: help 886s 13:59:24.310084403 O: sftp commands: get 886s 13:59:24.323961773 O: sftp commands: get quoted 886s 13:59:24.340739337 O: sftp commands: get filename with quotes 886s 13:59:24.358061388 O: sftp commands: get filename with spaces 886s 13:59:24.372729487 O: sftp commands: get filename with glob metacharacters 886s 13:59:24.385385242 O: sftp commands: get to directory 886s 13:59:24.394489553 O: sftp commands: glob get to directory 886s 13:59:24.503727765 O: sftp commands: get to local dir 886s 13:59:24.512097387 O: sftp commands: glob get to local dir 886s 13:59:24.566151846 O: sftp commands: put 886s 13:59:24.574935914 O: sftp commands: put filename with quotes 886s 13:59:24.583830702 O: sftp commands: put filename with spaces 886s 13:59:24.596610458 O: sftp commands: put to directory 886s 13:59:24.606180975 O: sftp commands: glob put to directory 886s 13:59:24.617267830 O: sftp commands: put to local dir 886s 13:59:24.626829346 O: sftp commands: glob put to local dir 886s 13:59:24.635095047 O: sftp commands: rename 886s 13:59:24.641183361 O: sftp commands: rename directory 886s 13:59:24.646323544 O: sftp commands: ln 886s 13:59:24.652445019 O: sftp commands: ln -s 886s 13:59:24.658308970 O: sftp commands: cp 886s 13:59:24.672237300 O: sftp commands: mkdir 886s 13:59:24.686695837 O: sftp commands: chdir 886s 13:59:24.691468615 O: sftp commands: rmdir 886s 13:59:24.697000242 O: sftp commands: lmkdir 886s 13:59:24.702263026 O: sftp commands: lchdir 886s 13:59:24.710104482 O: ok sftp commands 886s 13:59:24.710827651 E: run test sftp-badcmds.sh ... 887s 13:59:25.065487776 O: sftp invalid commands: get nonexistent 887s 13:59:25.188916522 O: sftp invalid commands: glob get to nonexistent directory 887s 13:59:25.207825592 O: sftp invalid commands: put nonexistent 887s 13:59:25.215529806 O: sftp invalid commands: glob put to nonexistent directory 887s 13:59:25.222518771 O: sftp invalid commands: rename nonexistent 887s 13:59:25.230458628 O: sftp invalid commands: rename target exists (directory) 887s 13:59:25.242215531 O: sftp invalid commands: glob put files to local file 887s 13:59:25.251077400 O: ok sftp invalid commands 887s 13:59:25.251514765 E: run test sftp-batch.sh ... 887s 13:59:25.486429630 O: sftp batchfile: good commands 887s 13:59:25.495181296 O: sftp batchfile: bad commands 887s 13:59:25.505482622 O: sftp batchfile: comments and blanks 887s 13:59:25.514282609 O: sftp batchfile: junk command 887s 13:59:25.519594434 O: ok sftp batchfile 887s 13:59:25.520235442 E: run test sftp-glob.sh ... 887s 13:59:25.820986789 O: sftp glob: file glob 887s 13:59:25.842104487 O: sftp glob: dir glob 887s 13:59:25.850325187 O: sftp glob: quoted glob 887s 13:59:25.860022425 O: sftp glob: escaped glob 887s 13:59:25.873036264 O: sftp glob: escaped quote 887s 13:59:25.884871168 O: sftp glob: quoted quote 887s 13:59:25.896861435 O: sftp glob: single-quoted quote 887s 13:59:25.910721164 O: sftp glob: escaped space 887s 13:59:25.925222541 O: sftp glob: quoted space 887s 13:59:25.937346688 O: sftp glob: escaped slash 887s 13:59:25.949356075 O: sftp glob: quoted slash 887s 13:59:25.960513171 O: sftp glob: escaped slash at EOL 888s 13:59:25.971209661 O: sftp glob: quoted slash at EOL 888s 13:59:25.979179239 O: sftp glob: escaped slash+quote 888s 13:59:25.987722783 O: sftp glob: quoted slash+quote 888s 13:59:25.997933387 O: ok sftp glob 888s 13:59:25.998252151 E: run test sftp-perm.sh ... 888s 13:59:26.239081928 O: sftp permissions: read-only upload 888s 13:59:26.259234733 O: sftp permissions: read-only setstat 888s 13:59:26.281893650 O: sftp permissions: read-only rm 888s 13:59:26.301598090 O: sftp permissions: read-only mkdir 888s 13:59:26.335345581 O: sftp permissions: read-only rmdir 888s 13:59:26.360667850 O: sftp permissions: read-only posix-rename 888s 13:59:26.384541501 O: sftp permissions: read-only oldrename 888s 13:59:26.404253101 O: sftp permissions: read-only symlink 888s 13:59:26.423321734 O: sftp permissions: read-only hardlink 888s 13:59:26.442844132 O: sftp permissions: explicit open 888s 13:59:26.484396479 O: sftp permissions: explicit read 888s 13:59:26.523093430 O: sftp permissions: explicit write 888s 13:59:26.563563644 O: sftp permissions: explicit lstat 888s 13:59:26.602636600 O: sftp permissions: explicit opendir 888s 13:59:26.836043246 O: sftp permissions: explicit readdir 888s 13:59:26.875098122 O: sftp permissions: explicit setstat 888s 13:59:26.925573098 O: sftp permissions: explicit remove 889s 13:59:26.981529020 O: sftp permissions: explicit mkdir 889s 13:59:27.029322843 O: sftp permissions: explicit rmdir 889s 13:59:27.133087708 O: sftp permissions: explicit rename 889s 13:59:27.177351527 O: sftp permissions: explicit symlink 889s 13:59:27.214153176 O: sftp permissions: explicit hardlink 889s 13:59:27.255555641 O: sftp permissions: explicit statvfs 889s 13:59:27.291922244 O: ok sftp permissions 889s 13:59:27.292490211 E: run test sftp-uri.sh ... 891s 13:59:29.101210300 O: sftp-uri: non-interactive fetch to local file 891s 13:59:29.565363197 O: sftp-uri: non-interactive fetch to local dir 891s 13:59:29.875272774 O: sftp-uri: put to remote directory (trailing slash) 892s 13:59:30.165037905 O: sftp-uri: put to remote directory (no slash) 892s 13:59:30.713861793 O: ok sftp-uri 892s 13:59:30.714128836 E: run test reconfigure.sh ... 906s 13:59:44.603489286 O: ok simple connect after reconfigure 906s 13:59:44.603742809 E: run test dynamic-forward.sh ... 907s 13:59:45.029542828 O: test -D forwarding 908s 13:59:46.626691690 O: test -R forwarding 910s 13:59:48.109918003 O: PermitRemoteOpen=any 911s 13:59:49.636551640 O: PermitRemoteOpen=none 912s 13:59:50.083461672 O: PermitRemoteOpen=explicit 913s 13:59:51.596957984 O: PermitRemoteOpen=disallowed 915s 13:59:53.161147428 O: ok dynamic forwarding 915s 13:59:53.162377963 E: run test forwarding.sh ... 921s 13:59:59.968812573 O: ok local and remote forwarding 921s 13:59:59.969163218 E: run test multiplex.sh ... 923s 14:00:01.375816609 O: test connection multiplexing: setenv 923s 14:00:01.405362808 O: test connection multiplexing: envpass 923s 14:00:01.421200120 O: test connection multiplexing: transfer 923s 14:00:01.696159896 O: test connection multiplexing: forward 925s 14:00:03.762904412 O: test connection multiplexing: status 0 () 930s 14:00:08.815591488 O: test connection multiplexing: status 0 (-Oproxy) 935s 14:00:13.878965613 O: test connection multiplexing: status 1 () 941s 14:00:18.975097815 O: test connection multiplexing: status 1 (-Oproxy) 946s 14:00:24.022897152 O: test connection multiplexing: status 4 () 951s 14:00:29.076790123 O: test connection multiplexing: status 4 (-Oproxy) 956s 14:00:34.294296992 O: test connection multiplexing: status 5 () 961s 14:00:39.350952879 O: test connection multiplexing: status 5 (-Oproxy) 966s 14:00:44.401914579 O: test connection multiplexing: status 44 () 971s 14:00:49.437624337 O: test connection multiplexing: status 44 (-Oproxy) 976s 14:00:54.483069335 O: test connection multiplexing: cmd check 976s 14:00:54.498626523 O: test connection multiplexing: cmd forward local (TCP) 977s 14:00:55.922180082 O: test connection multiplexing: cmd forward remote (TCP) 979s 14:00:57.265366269 O: test connection multiplexing: cmd forward local (UNIX) 980s 14:00:58.346231373 O: test connection multiplexing: cmd forward remote (UNIX) 981s 14:00:59.396704109 O: test connection multiplexing: cmd exit 981s 14:00:59.409910548 O: test connection multiplexing: cmd stop 992s 14:01:10.635352336 E: run test reexec.sh ... 992s 14:01:10.635377457 O: ok connection multiplexing 993s 14:01:10.991345380 O: test config passing 993s 14:01:11.455453203 O: test reexec fallback 993s 14:01:11.455903808 E: ln: failed to create hard link '/tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/sshd' => '/usr/sbin/sshd': Operation not permitted 995s 14:01:13.236464867 O: ok reexec tests 995s 14:01:13.236672630 E: run test brokenkeys.sh ... 996s 14:01:14.061793234 O: ok broken keys 996s 14:01:14.062622244 E: run test sshcfgparse.sh ... 996s 14:01:14.727085035 O: reparse minimal config 996s 14:01:14.792328499 O: ssh -W opts 996s 14:01:14.855875223 O: user first match 996s 14:01:14.901752775 O: pubkeyacceptedalgorithms 997s 14:01:15.063531841 O: agentforwarding 997s 14:01:15.145018461 O: command line override 997s 14:01:15.189130991 O: ok ssh config parse 997s 14:01:15.190482807 E: run test cfgparse.sh ... 997s 14:01:15.630327576 O: reparse minimal config 997s 14:01:15.849152928 O: reparse regress config 998s 14:01:16.016283297 O: listenaddress order 998s 14:01:16.189372018 O: ok sshd config parse 998s 14:01:16.189658102 E: run test cfgmatch.sh ... 1007s 14:01:25.154422037 E: run test cfgmatchlisten.sh ... 1007s 14:01:25.156313140 O: ok sshd_config match 1027s 14:01:45.489154292 O: ok sshd_config matchlisten 1027s 14:01:45.489559896 E: run test percent.sh ... 1028s 14:01:46.593278843 O: percent expansions matchexec percent 1036s 14:01:54.147631850 O: percent expansions localcommand percent 1040s 14:01:58.138070419 O: percent expansions remotecommand percent 1040s 14:01:58.437351960 O: percent expansions controlpath percent 1040s 14:01:58.694788361 O: percent expansions identityagent percent 1040s 14:01:58.874033506 O: percent expansions forwardagent percent 1041s 14:01:59.053038969 O: percent expansions localforward percent 1041s 14:01:59.239815444 O: percent expansions remoteforward percent 1041s 14:01:59.487347686 O: percent expansions revokedhostkeys percent 1041s 14:01:59.910665391 O: percent expansions userknownhostsfile percent 1045s 14:02:03.620212571 O: percent expansions controlpath dollar 1045s 14:02:03.641404664 O: percent expansions identityagent dollar 1045s 14:02:03.658219385 O: percent expansions forwardagent dollar 1045s 14:02:03.678835552 O: percent expansions localforward dollar 1045s 14:02:03.709749002 O: percent expansions remoteforward dollar 1045s 14:02:03.727797497 O: percent expansions userknownhostsfile dollar 1046s 14:02:04.162811701 O: percent expansions controlpath tilde 1046s 14:02:04.193855632 O: percent expansions identityagent tilde 1046s 14:02:04.228985252 O: percent expansions forwardagent tilde 1046s 14:02:04.263231542 O: ok percent expansions 1046s 14:02:04.263364463 E: run test addrmatch.sh ... 1046s 14:02:04.564874509 O: test first entry for user 192.168.0.1 somehost 1046s 14:02:04.634545783 O: test negative match for user 192.168.30.1 somehost 1046s 14:02:04.702089550 O: test no match for user 19.0.0.1 somehost 1046s 14:02:04.778397183 O: test list middle for user 10.255.255.254 somehost 1046s 14:02:04.851381816 O: test faked IP in hostname for user 192.168.30.1 192.168.0.1 1046s 14:02:04.928782422 O: test bare IP4 address for user 1.1.1.1 somehost.example.com 1047s 14:02:05.008770738 O: test localaddress for user 19.0.0.1 somehost 1047s 14:02:05.110186431 O: test localport for user 19.0.0.1 somehost 1047s 14:02:05.190661154 O: test bare IP6 address for user ::1 somehost.example.com 1047s 14:02:05.263685867 O: test deny IPv6 for user ::2 somehost.example.com 1047s 14:02:05.336150053 O: test IP6 negated for user ::3 somehost 1047s 14:02:05.406346173 O: test IP6 no match for user ::4 somehost 1047s 14:02:05.476310610 O: test IP6 network for user 2000::1 somehost 1047s 14:02:05.554601666 O: test IP6 network for user 2001::1 somehost 1047s 14:02:05.633606011 O: test IP6 localaddress for user ::5 somehost 1047s 14:02:05.706657044 O: test IP6 localport for user ::5 somehost 1047s 14:02:05.777390450 O: test invalid Match address 10.0.1.0/8 1047s 14:02:05.802755113 O: test invalid Match localaddress 10.0.1.0/8 1047s 14:02:05.830848169 O: test invalid Match address 10.0.0.1/24 1047s 14:02:05.851214093 O: test invalid Match localaddress 10.0.0.1/24 1047s 14:02:05.871931741 O: test invalid Match address 2000:aa:bb:01::/56 1047s 14:02:05.888710541 O: test invalid Match localaddress 2000:aa:bb:01::/56 1047s 14:02:05.906740957 E: run test localcommand.sh ... 1047s 14:02:05.906770277 O: ok address match 1048s 14:02:06.466080885 O: test localcommand: proto localcommand 1048s 14:02:06.897831088 O: ok localcommand 1048s 14:02:06.905373898 E: run test forcecommand.sh ... 1051s 14:02:09.720935799 E: Connection closed. 1051s 14:02:09.736868550 E: Connection closed 1052s 14:02:10.495786541 E: Connection closed 1053s 14:02:11.001048980 E: run test portnum.sh ... 1053s 14:02:11.009099916 O: ok forced command 1053s 14:02:11.554647316 O: port number parsing: invalid port 0 1053s 14:02:11.572466209 O: port number parsing: invalid port 65536 1053s 14:02:11.594303270 O: port number parsing: invalid port 131073 1053s 14:02:11.618945005 O: port number parsing: invalid port 2000blah 1053s 14:02:11.641395393 O: port number parsing: invalid port blah2000 1053s 14:02:11.660602143 O: port number parsing: valid port 1 1054s 14:02:12.025554504 O: port number parsing: valid port 22 1054s 14:02:12.304348716 O: port number parsing: valid port 2222 1054s 14:02:12.658890993 O: port number parsing: valid port 22222 1055s 14:02:13.050523113 O: port number parsing: valid port 65535 1055s 14:02:13.540133403 O: ok port number parsing 1055s 14:02:13.541877984 E: run test keytype.sh ... 1056s 14:02:14.002912413 O: keygen ed25519, 512 bits 1056s 14:02:14.042189562 O: keygen ed25519-sk, n/a bits 1056s 14:02:14.108487314 O: keygen ecdsa, 256 bits 1056s 14:02:14.152094155 O: keygen ecdsa, 384 bits 1056s 14:02:14.185115710 O: keygen ecdsa, 521 bits 1056s 14:02:14.205007307 O: keygen ecdsa-sk, n/a bits 1056s 14:02:14.237217252 O: keygen dsa, 1024 bits 1056s 14:02:14.408768462 O: keygen rsa, 2048 bits 1056s 14:02:14.884812429 O: keygen rsa, 3072 bits 1061s 14:02:19.852727687 O: userkey ed25519-512, hostkey ed25519-512 1062s 14:02:20.328897773 O: userkey ed25519-512, hostkey ed25519-512 1062s 14:02:20.635155429 O: userkey ed25519-512, hostkey ed25519-512 1062s 14:02:20.875423338 O: userkey ed25519-sk, hostkey ed25519-sk 1063s 14:02:21.108942886 O: userkey ed25519-sk, hostkey ed25519-sk 1063s 14:02:21.432916714 O: userkey ed25519-sk, hostkey ed25519-sk 1063s 14:02:21.678715009 O: userkey ecdsa-256, hostkey ecdsa-256 1064s 14:02:21.983081083 O: userkey ecdsa-256, hostkey ecdsa-256 1064s 14:02:22.217857925 O: userkey ecdsa-256, hostkey ecdsa-256 1064s 14:02:22.617045011 O: userkey ecdsa-384, hostkey ecdsa-384 1065s 14:02:23.183113808 O: userkey ecdsa-384, hostkey ecdsa-384 1065s 14:02:23.645410287 O: userkey ecdsa-384, hostkey ecdsa-384 1066s 14:02:24.032854791 O: userkey ecdsa-521, hostkey ecdsa-521 1066s 14:02:24.464230100 O: userkey ecdsa-521, hostkey ecdsa-521 1066s 14:02:24.944878597 O: userkey ecdsa-521, hostkey ecdsa-521 1067s 14:02:25.689155039 O: userkey ecdsa-sk, hostkey ecdsa-sk 1068s 14:02:26.081356920 O: userkey ecdsa-sk, hostkey ecdsa-sk 1068s 14:02:26.390507009 O: userkey ecdsa-sk, hostkey ecdsa-sk 1068s 14:02:26.904826826 O: userkey dsa-1024, hostkey dsa-1024 1069s 14:02:27.182893264 O: userkey dsa-1024, hostkey dsa-1024 1069s 14:02:27.570239446 O: userkey dsa-1024, hostkey dsa-1024 1069s 14:02:27.903533223 O: userkey rsa-2048, hostkey rsa-2048 1070s 14:02:28.200794329 O: userkey rsa-2048, hostkey rsa-2048 1070s 14:02:28.503750664 O: userkey rsa-2048, hostkey rsa-2048 1070s 14:02:28.896015744 O: userkey rsa-3072, hostkey rsa-3072 1071s 14:02:29.265209708 O: userkey rsa-3072, hostkey rsa-3072 1071s 14:02:29.712894929 O: userkey rsa-3072, hostkey rsa-3072 1072s 14:02:30.143368384 E: run test kextype.sh ... 1072s 14:02:30.152882937 O: ok login with different key types 1073s 14:02:31.095184497 O: kex diffie-hellman-group1-sha1 1075s 14:02:33.013012770 O: kex diffie-hellman-group14-sha1 1081s 14:02:39.052559971 O: kex diffie-hellman-group14-sha256 1089s 14:02:47.672074496 O: kex diffie-hellman-group16-sha512 1097s 14:02:55.026451761 O: kex diffie-hellman-group18-sha512 1106s 14:03:04.749864772 O: kex diffie-hellman-group-exchange-sha1 1111s 14:03:09.578585485 O: kex diffie-hellman-group-exchange-sha256 1114s 14:03:12.281410840 O: kex ecdh-sha2-nistp256 1115s 14:03:13.066269364 O: kex ecdh-sha2-nistp384 1116s 14:03:13.990039817 O: kex ecdh-sha2-nistp521 1117s 14:03:15.010015692 O: kex curve25519-sha256 1118s 14:03:15.974189223 O: kex curve25519-sha256@libssh.org 1119s 14:03:17.009366237 O: kex sntrup761x25519-sha512@openssh.com 1120s 14:03:18.960078480 E: run test cert-hostkey.sh ... 1120s 14:03:18.963248957 O: ok login with different key exchange algorithms 1123s 14:03:21.765844388 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/host_ca_key.pub 1123s 14:03:21.767384606 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/host_ca_key2.pub 1123s 14:03:21.768895824 O: certified host keys: sign host ed25519 cert 1123s 14:03:21.777922771 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ed25519.pub 1123s 14:03:21.792576785 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ed25519-cert.pub 1123s 14:03:21.807530403 O: certified host keys: sign host sk-ssh-ed25519@openssh.com cert 1123s 14:03:21.854955286 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_sk-ssh-ed25519@openssh.com.pub 1123s 14:03:21.870609151 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_sk-ssh-ed25519@openssh.com-cert.pub 1123s 14:03:21.874524318 O: certified host keys: sign host ecdsa-sha2-nistp256 cert 1123s 14:03:21.883662746 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ecdsa-sha2-nistp256.pub 1123s 14:03:21.899943860 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ecdsa-sha2-nistp256-cert.pub 1123s 14:03:21.904214830 O: certified host keys: sign host ecdsa-sha2-nistp384 cert 1123s 14:03:21.920602465 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ecdsa-sha2-nistp384.pub 1123s 14:03:21.943024251 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ecdsa-sha2-nistp384-cert.pub 1123s 14:03:21.948094151 O: certified host keys: sign host ecdsa-sha2-nistp521 cert 1124s 14:03:21.979087239 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ecdsa-sha2-nistp521.pub 1124s 14:03:22.041343458 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_ecdsa-sha2-nistp521-cert.pub 1124s 14:03:22.059139829 O: certified host keys: sign host sk-ecdsa-sha2-nistp256@openssh.com cert 1124s 14:03:22.085252019 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_sk-ecdsa-sha2-nistp256@openssh.com.pub 1124s 14:03:22.099929193 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_sk-ecdsa-sha2-nistp256@openssh.com-cert.pub 1124s 14:03:22.103183592 O: certified host keys: sign host dsa cert 1124s 14:03:22.272956927 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_dsa.pub 1124s 14:03:22.288414551 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_dsa-cert.pub 1124s 14:03:22.292300237 O: certified host keys: sign host rsa cert 1127s 14:03:25.935734715 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_rsa.pub 1128s 14:03:25.970190724 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_rsa-cert.pub 1128s 14:03:26.014586250 O: certified host keys: sign host rsa-sha2-256 cert 1130s 14:03:28.803798021 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_rsa-sha2-256.pub 1130s 14:03:28.831454069 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_rsa-sha2-256-cert.pub 1130s 14:03:28.860611495 O: certified host keys: sign host rsa-sha2-512 cert 1132s 14:03:30.064343053 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_rsa-sha2-512.pub 1132s 14:03:30.089858436 O: Revoking from /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/cert_host_key_rsa-sha2-512-cert.pub 1132s 14:03:30.095126338 O: certified host keys: host ed25519 cert connect 1132s 14:03:30.097942892 O: certified host keys: ed25519 basic connect expect success yes 1132s 14:03:30.968673219 O: certified host keys: ed25519 empty KRL expect success yes 1133s 14:03:31.321086999 O: certified host keys: ed25519 KRL w/ plain key revoked expect success no 1133s 14:03:31.480217686 O: certified host keys: ed25519 KRL w/ cert revoked expect success no 1133s 14:03:31.672552527 O: certified host keys: ed25519 KRL w/ CA revoked expect success no 1133s 14:03:31.937553590 O: certified host keys: ed25519 empty plaintext revocation expect success yes 1134s 14:03:32.310845416 O: certified host keys: ed25519 plain key plaintext revocation expect success no 1134s 14:03:32.523794141 O: certified host keys: ed25519 cert plaintext revocation expect success no 1134s 14:03:32.789930257 O: certified host keys: ed25519 CA plaintext revocation expect success no 1135s 14:03:33.070745547 O: certified host keys: host sk-ssh-ed25519@openssh.com cert connect 1135s 14:03:33.073821144 O: certified host keys: sk-ssh-ed25519@openssh.com basic connect expect success yes 1135s 14:03:33.370973147 O: certified host keys: sk-ssh-ed25519@openssh.com empty KRL expect success yes 1135s 14:03:33.680987143 O: certified host keys: sk-ssh-ed25519@openssh.com KRL w/ plain key revoked expect success no 1135s 14:03:33.860642753 O: certified host keys: sk-ssh-ed25519@openssh.com KRL w/ cert revoked expect success no 1136s 14:03:34.025051823 O: certified host keys: sk-ssh-ed25519@openssh.com KRL w/ CA revoked expect success no 1136s 14:03:34.184866398 O: certified host keys: sk-ssh-ed25519@openssh.com empty plaintext revocation expect success yes 1136s 14:03:34.433921791 O: certified host keys: sk-ssh-ed25519@openssh.com plain key plaintext revocation expect success no 1136s 14:03:34.595445146 O: certified host keys: sk-ssh-ed25519@openssh.com cert plaintext revocation expect success no 1136s 14:03:34.768227914 O: certified host keys: sk-ssh-ed25519@openssh.com CA plaintext revocation expect success no 1136s 14:03:34.936144025 O: certified host keys: host ecdsa-sha2-nistp256 cert connect 1136s 14:03:34.939053140 O: certified host keys: ecdsa-sha2-nistp256 basic connect expect success yes 1137s 14:03:35.249931465 O: certified host keys: ecdsa-sha2-nistp256 empty KRL expect success yes 1137s 14:03:35.551950366 O: certified host keys: ecdsa-sha2-nistp256 KRL w/ plain key revoked expect success no 1137s 14:03:35.711530657 O: certified host keys: ecdsa-sha2-nistp256 KRL w/ cert revoked expect success no 1137s 14:03:35.864335789 O: certified host keys: ecdsa-sha2-nistp256 KRL w/ CA revoked expect success no 1138s 14:03:36.020244317 O: certified host keys: ecdsa-sha2-nistp256 empty plaintext revocation expect success yes 1138s 14:03:36.243696686 O: certified host keys: ecdsa-sha2-nistp256 plain key plaintext revocation expect success no 1138s 14:03:36.399071008 O: certified host keys: ecdsa-sha2-nistp256 cert plaintext revocation expect success no 1138s 14:03:36.578220452 O: certified host keys: ecdsa-sha2-nistp256 CA plaintext revocation expect success no 1138s 14:03:36.733628174 O: certified host keys: host ecdsa-sha2-nistp384 cert connect 1138s 14:03:36.736311246 O: certified host keys: ecdsa-sha2-nistp384 basic connect expect success yes 1139s 14:03:37.031057700 O: certified host keys: ecdsa-sha2-nistp384 empty KRL expect success yes 1139s 14:03:37.468665847 O: certified host keys: ecdsa-sha2-nistp384 KRL w/ plain key revoked expect success no 1139s 14:03:37.759329132 O: certified host keys: ecdsa-sha2-nistp384 KRL w/ cert revoked expect success no 1139s 14:03:37.954277403 O: certified host keys: ecdsa-sha2-nistp384 KRL w/ CA revoked expect success no 1140s 14:03:38.149357515 O: certified host keys: ecdsa-sha2-nistp384 empty plaintext revocation expect success yes 1140s 14:03:38.508111847 O: certified host keys: ecdsa-sha2-nistp384 plain key plaintext revocation expect success no 1140s 14:03:38.715676107 O: certified host keys: ecdsa-sha2-nistp384 cert plaintext revocation expect success no 1140s 14:03:38.917426458 O: certified host keys: ecdsa-sha2-nistp384 CA plaintext revocation expect success no 1141s 14:03:39.106219656 O: certified host keys: host ecdsa-sha2-nistp521 cert connect 1141s 14:03:39.109177611 O: certified host keys: ecdsa-sha2-nistp521 basic connect expect success yes 1141s 14:03:39.447232217 O: certified host keys: ecdsa-sha2-nistp521 empty KRL expect success yes 1142s 14:03:40.059104628 O: certified host keys: ecdsa-sha2-nistp521 KRL w/ plain key revoked expect success no 1142s 14:03:40.296712804 O: certified host keys: ecdsa-sha2-nistp521 KRL w/ cert revoked expect success no 1142s 14:03:40.522005034 O: certified host keys: ecdsa-sha2-nistp521 KRL w/ CA revoked expect success no 1142s 14:03:40.747535746 O: certified host keys: ecdsa-sha2-nistp521 empty plaintext revocation expect success yes 1143s 14:03:41.083341605 O: certified host keys: ecdsa-sha2-nistp521 plain key plaintext revocation expect success no 1143s 14:03:41.328557151 O: certified host keys: ecdsa-sha2-nistp521 cert plaintext revocation expect success no 1143s 14:03:41.590170011 O: certified host keys: ecdsa-sha2-nistp521 CA plaintext revocation expect success no 1144s 14:03:42.014146034 O: certified host keys: host sk-ecdsa-sha2-nistp256@openssh.com cert connect 1144s 14:03:42.024735480 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com basic connect expect success yes 1144s 14:03:42.453920005 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com empty KRL expect success yes 1144s 14:03:42.728655900 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com KRL w/ plain key revoked expect success no 1144s 14:03:42.890651659 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com KRL w/ cert revoked expect success no 1145s 14:03:43.078790688 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com KRL w/ CA revoked expect success no 1145s 14:03:43.236938322 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com empty plaintext revocation expect success yes 1145s 14:03:43.466599762 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com plain key plaintext revocation expect success no 1145s 14:03:43.638654881 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com cert plaintext revocation expect success no 1145s 14:03:43.852864418 O: certified host keys: sk-ecdsa-sha2-nistp256@openssh.com CA plaintext revocation expect success no 1146s 14:03:44.466654009 O: certified host keys: host dsa cert connect 1146s 14:03:44.469525964 O: certified host keys: dsa basic connect expect success yes 1146s 14:03:44.872679739 O: certified host keys: dsa empty KRL expect success yes 1147s 14:03:45.089632549 O: certified host keys: dsa KRL w/ plain key revoked expect success no 1147s 14:03:45.239078839 O: certified host keys: dsa KRL w/ cert revoked expect success no 1147s 14:03:45.402619656 O: certified host keys: dsa KRL w/ CA revoked expect success no 1147s 14:03:45.594866294 O: certified host keys: dsa empty plaintext revocation expect success yes 1147s 14:03:45.893940836 O: certified host keys: dsa plain key plaintext revocation expect success no 1148s 14:03:46.076380117 O: certified host keys: dsa cert plaintext revocation expect success no 1148s 14:03:46.285159270 O: certified host keys: dsa CA plaintext revocation expect success no 1148s 14:03:46.446453580 O: certified host keys: host rsa cert connect 1148s 14:03:46.457146827 O: certified host keys: rsa basic connect expect success yes 1149s 14:03:47.218878648 O: certified host keys: rsa empty KRL expect success yes 1149s 14:03:47.558768593 O: certified host keys: rsa KRL w/ plain key revoked expect success no 1149s 14:03:47.735495766 O: certified host keys: rsa KRL w/ cert revoked expect success no 1149s 14:03:47.900840484 O: certified host keys: rsa KRL w/ CA revoked expect success no 1150s 14:03:48.064746345 O: certified host keys: rsa empty plaintext revocation expect success yes 1150s 14:03:48.309085999 O: certified host keys: rsa plain key plaintext revocation expect success no 1150s 14:03:48.488340522 O: certified host keys: rsa cert plaintext revocation expect success no 1150s 14:03:48.705705856 O: certified host keys: rsa CA plaintext revocation expect success no 1150s 14:03:48.884473452 O: certified host keys: host rsa-sha2-256 cert connect 1150s 14:03:48.888889945 O: certified host keys: rsa-sha2-256 basic connect expect success yes 1151s 14:03:49.277133302 O: certified host keys: rsa-sha2-256 empty KRL expect success yes 1151s 14:03:49.574911308 O: certified host keys: rsa-sha2-256 KRL w/ plain key revoked expect success no 1151s 14:03:49.779777374 O: certified host keys: rsa-sha2-256 KRL w/ cert revoked expect success no 1152s 14:03:49.998551724 O: certified host keys: rsa-sha2-256 KRL w/ CA revoked expect success no 1152s 14:03:50.196838872 O: certified host keys: rsa-sha2-256 empty plaintext revocation expect success yes 1152s 14:03:50.507078505 O: certified host keys: rsa-sha2-256 plain key plaintext revocation expect success no 1152s 14:03:50.718571969 O: certified host keys: rsa-sha2-256 cert plaintext revocation expect success no 1152s 14:03:50.951652208 O: certified host keys: rsa-sha2-256 CA plaintext revocation expect success no 1153s 14:03:51.142608629 O: certified host keys: host rsa-sha2-512 cert connect 1153s 14:03:51.148986745 O: certified host keys: rsa-sha2-512 basic connect expect success yes 1153s 14:03:51.748476722 O: certified host keys: rsa-sha2-512 empty KRL expect success yes 1154s 14:03:51.986950345 O: certified host keys: rsa-sha2-512 KRL w/ plain key revoked expect success no 1154s 14:03:52.154095164 O: certified host keys: rsa-sha2-512 KRL w/ cert revoked expect success no 1154s 14:03:52.316232643 O: certified host keys: rsa-sha2-512 KRL w/ CA revoked expect success no 1154s 14:03:52.496454096 O: certified host keys: rsa-sha2-512 empty plaintext revocation expect success yes 1154s 14:03:52.764829713 O: certified host keys: rsa-sha2-512 plain key plaintext revocation expect success no 1154s 14:03:52.950641473 O: certified host keys: rsa-sha2-512 cert plaintext revocation expect success no 1155s 14:03:53.249308808 O: certified host keys: rsa-sha2-512 CA plaintext revocation expect success no 1155s 14:03:53.544796546 O: certified host keys: host ed25519 revoked cert 1155s 14:03:53.741290031 O: certified host keys: host sk-ssh-ed25519@openssh.com revoked cert 1156s 14:03:53.969538253 O: certified host keys: host ecdsa-sha2-nistp256 revoked cert 1156s 14:03:54.203869907 O: certified host keys: host ecdsa-sha2-nistp384 revoked cert 1156s 14:03:54.435361447 O: certified host keys: host ecdsa-sha2-nistp521 revoked cert 1156s 14:03:54.718597039 O: certified host keys: host sk-ecdsa-sha2-nistp256@openssh.com revoked cert 1156s 14:03:54.911660524 O: certified host keys: host dsa revoked cert 1157s 14:03:55.106542150 O: certified host keys: host rsa revoked cert 1157s 14:03:55.311527936 O: certified host keys: host rsa-sha2-256 revoked cert 1157s 14:03:55.496914810 O: certified host keys: host rsa-sha2-512 revoked cert 1157s 14:03:55.686600335 O: certified host keys: host ed25519 revoked cert 1157s 14:03:55.840331714 O: certified host keys: host sk-ssh-ed25519@openssh.com revoked cert 1158s 14:03:55.999404277 O: certified host keys: host ecdsa-sha2-nistp256 revoked cert 1158s 14:03:56.155941569 O: certified host keys: host ecdsa-sha2-nistp384 revoked cert 1158s 14:03:56.337779281 O: certified host keys: host ecdsa-sha2-nistp521 revoked cert 1158s 14:03:56.562260857 O: certified host keys: host sk-ecdsa-sha2-nistp256@openssh.com revoked cert 1158s 14:03:56.734337014 O: certified host keys: host dsa revoked cert 1158s 14:03:56.909665249 O: certified host keys: host rsa revoked cert 1159s 14:03:57.127310504 O: certified host keys: host rsa-sha2-256 revoked cert 1159s 14:03:57.288128167 O: certified host keys: host rsa-sha2-512 revoked cert 1175s 14:04:13.285584333 O: certified host keys: host ed25519 cert downgrade to raw key 1175s 14:04:13.887035041 O: certified host keys: host sk-ssh-ed25519@openssh.com cert downgrade to raw key 1176s 14:04:14.525137700 O: certified host keys: host ecdsa-sha2-nistp256 cert downgrade to raw key 1177s 14:04:15.075833407 O: certified host keys: host ecdsa-sha2-nistp384 cert downgrade to raw key 1178s 14:04:16.150911749 O: certified host keys: host ecdsa-sha2-nistp521 cert downgrade to raw key 1180s 14:04:17.737315809 O: certified host keys: host sk-ecdsa-sha2-nistp256@openssh.com cert downgrade to raw key 1180s 14:04:18.422647905 O: certified host keys: host dsa cert downgrade to raw key 1181s 14:04:18.982236554 O: certified host keys: host rsa cert downgrade to raw key 1185s 14:04:23.654320287 O: certified host keys: host rsa-sha2-256 cert downgrade to raw key 1188s 14:04:26.105159341 O: certified host keys: host rsa-sha2-512 cert downgrade to raw key 1191s 14:04:29.913619331 O: certified host keys: host ed25519 connect wrong cert 1192s 14:04:30.087668865 O: certified host keys: host sk-ssh-ed25519@openssh.com connect wrong cert 1192s 14:04:30.281637834 O: certified host keys: host ecdsa-sha2-nistp256 connect wrong cert 1192s 14:04:30.483593977 O: certified host keys: host ecdsa-sha2-nistp384 connect wrong cert 1192s 14:04:30.746575161 O: certified host keys: host ecdsa-sha2-nistp521 connect wrong cert 1193s 14:04:31.097856546 O: certified host keys: host sk-ecdsa-sha2-nistp256@openssh.com connect wrong cert 1193s 14:04:31.349994321 O: certified host keys: host dsa connect wrong cert 1193s 14:04:31.661254754 O: certified host keys: host rsa connect wrong cert 1197s 14:04:35.388593967 O: certified host keys: host rsa-sha2-256 connect wrong cert 1199s 14:04:37.605968880 O: certified host keys: host rsa-sha2-512 connect wrong cert 1202s 14:04:39.972962233 O: ok certified host keys 1202s 14:04:39.975435182 E: run test cert-userkey.sh ... 1203s 14:04:41.696303752 O: certified user keys: sign user ed25519 cert 1203s 14:04:41.717794406 O: certified user keys: sign user sk-ssh-ed25519@openssh.com cert 1203s 14:04:41.743919514 O: certified user keys: sign user ecdsa-sha2-nistp256 cert 1203s 14:04:41.766322178 O: certified user keys: sign user ecdsa-sha2-nistp384 cert 1203s 14:04:41.794934275 O: certified user keys: sign user ecdsa-sha2-nistp521 cert 1203s 14:04:41.834506142 O: certified user keys: sign user sk-ecdsa-sha2-nistp256@openssh.com cert 1203s 14:04:41.862466471 O: certified user keys: sign user dsa cert 1204s 14:04:42.052238709 O: certified user keys: sign user rsa cert 1208s 14:04:46.752838476 O: certified user keys: sign user rsa-sha2-256 cert 1211s 14:04:49.005292220 O: certified user keys: sign user rsa-sha2-512 cert 1218s 14:04:56.541606156 O: certified user keys: ed25519 missing authorized_principals 1222s 14:05:00.488342827 O: certified user keys: ed25519 empty authorized_principals 1224s 14:05:01.769409108 O: certified user keys: ed25519 wrong authorized_principals 1228s 14:05:05.450343873 O: certified user keys: ed25519 correct authorized_principals 1233s 14:05:11.773279626 O: certified user keys: ed25519 authorized_principals bad key opt 1236s 14:05:13.997605708 O: certified user keys: ed25519 authorized_principals command=false 1241s 14:05:18.889336309 O: certified user keys: ed25519 authorized_principals command=true 1245s 14:05:23.031461720 O: certified user keys: ed25519 wrong principals key option 1246s 14:05:24.277262881 O: certified user keys: ed25519 correct principals key option 1248s 14:05:26.418114519 O: certified user keys: sk-ssh-ed25519@openssh.com missing authorized_principals 1250s 14:05:28.135105693 O: certified user keys: sk-ssh-ed25519@openssh.com empty authorized_principals 1251s 14:05:29.156064527 O: certified user keys: sk-ssh-ed25519@openssh.com wrong authorized_principals 1253s 14:05:31.724785902 O: certified user keys: sk-ssh-ed25519@openssh.com correct authorized_principals 1257s 14:05:34.978816998 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_principals bad key opt 1259s 14:05:37.025673113 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_principals command=false 1263s 14:05:40.894486212 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_principals command=true 1268s 14:05:46.108568645 O: certified user keys: sk-ssh-ed25519@openssh.com wrong principals key option 1269s 14:05:47.392758072 O: certified user keys: sk-ssh-ed25519@openssh.com correct principals key option 1272s 14:05:50.604915276 O: certified user keys: ecdsa-sha2-nistp256 missing authorized_principals 1274s 14:05:52.453976285 O: certified user keys: ecdsa-sha2-nistp256 empty authorized_principals 1275s 14:05:53.615670069 O: certified user keys: ecdsa-sha2-nistp256 wrong authorized_principals 1276s 14:05:54.575415325 O: certified user keys: ecdsa-sha2-nistp256 correct authorized_principals 1277s 14:05:55.877553754 O: certified user keys: ecdsa-sha2-nistp256 authorized_principals bad key opt 1278s 14:05:56.382383754 O: certified user keys: ecdsa-sha2-nistp256 authorized_principals command=false 1278s 14:05:56.709873274 O: certified user keys: ecdsa-sha2-nistp256 authorized_principals command=true 1279s 14:05:57.054341833 O: certified user keys: ecdsa-sha2-nistp256 wrong principals key option 1279s 14:05:57.371311309 O: certified user keys: ecdsa-sha2-nistp256 correct principals key option 1279s 14:05:57.738893059 O: certified user keys: ecdsa-sha2-nistp384 missing authorized_principals 1280s 14:05:58.057053869 O: certified user keys: ecdsa-sha2-nistp384 empty authorized_principals 1280s 14:05:58.359827859 O: certified user keys: ecdsa-sha2-nistp384 wrong authorized_principals 1280s 14:05:58.656598578 O: certified user keys: ecdsa-sha2-nistp384 correct authorized_principals 1281s 14:05:58.994417939 O: certified user keys: ecdsa-sha2-nistp384 authorized_principals bad key opt 1281s 14:05:59.283339526 O: certified user keys: ecdsa-sha2-nistp384 authorized_principals command=false 1281s 14:05:59.591328576 O: certified user keys: ecdsa-sha2-nistp384 authorized_principals command=true 1281s 14:05:59.963373978 O: certified user keys: ecdsa-sha2-nistp384 wrong principals key option 1282s 14:06:00.256448573 O: certified user keys: ecdsa-sha2-nistp384 correct principals key option 1282s 14:06:00.585211587 O: certified user keys: ecdsa-sha2-nistp521 missing authorized_principals 1283s 14:06:00.946509982 O: certified user keys: ecdsa-sha2-nistp521 empty authorized_principals 1283s 14:06:01.295807357 O: certified user keys: ecdsa-sha2-nistp521 wrong authorized_principals 1283s 14:06:01.620947248 O: certified user keys: ecdsa-sha2-nistp521 correct authorized_principals 1284s 14:06:02.182011504 O: certified user keys: ecdsa-sha2-nistp521 authorized_principals bad key opt 1284s 14:06:02.576070083 O: certified user keys: ecdsa-sha2-nistp521 authorized_principals command=false 1285s 14:06:03.053110914 O: certified user keys: ecdsa-sha2-nistp521 authorized_principals command=true 1285s 14:06:03.521380202 O: certified user keys: ecdsa-sha2-nistp521 wrong principals key option 1285s 14:06:03.955905495 O: certified user keys: ecdsa-sha2-nistp521 correct principals key option 1286s 14:06:04.442970123 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com missing authorized_principals 1286s 14:06:04.770308999 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com empty authorized_principals 1287s 14:06:05.074077839 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com wrong authorized_principals 1287s 14:06:05.381061836 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com correct authorized_principals 1287s 14:06:05.757392366 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_principals bad key opt 1288s 14:06:06.006777529 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_principals command=false 1288s 14:06:06.275072152 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_principals command=true 1288s 14:06:06.694492147 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com wrong principals key option 1289s 14:06:07.074544000 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com correct principals key option 1289s 14:06:07.426845048 O: certified user keys: dsa missing authorized_principals 1289s 14:06:07.708844912 O: certified user keys: dsa empty authorized_principals 1290s 14:06:07.967718865 O: certified user keys: dsa wrong authorized_principals 1290s 14:06:08.242460004 O: certified user keys: dsa correct authorized_principals 1290s 14:06:08.536953055 O: certified user keys: dsa authorized_principals bad key opt 1290s 14:06:08.824926588 O: certified user keys: dsa authorized_principals command=false 1291s 14:06:09.164909612 O: certified user keys: dsa authorized_principals command=true 1291s 14:06:09.528059706 O: certified user keys: dsa wrong principals key option 1291s 14:06:09.803000207 O: certified user keys: dsa correct principals key option 1292s 14:06:10.146343709 O: certified user keys: rsa missing authorized_principals 1292s 14:06:10.428534055 O: certified user keys: rsa empty authorized_principals 1292s 14:06:10.741775724 O: certified user keys: rsa wrong authorized_principals 1293s 14:06:11.030453746 O: certified user keys: rsa correct authorized_principals 1293s 14:06:11.350759298 O: certified user keys: rsa authorized_principals bad key opt 1293s 14:06:11.621751272 O: certified user keys: rsa authorized_principals command=false 1294s 14:06:12.260395513 O: certified user keys: rsa authorized_principals command=true 1294s 14:06:12.685494532 O: certified user keys: rsa wrong principals key option 1294s 14:06:12.957572359 O: certified user keys: rsa correct principals key option 1295s 14:06:13.301108782 O: certified user keys: rsa-sha2-256 missing authorized_principals 1295s 14:06:13.576330406 O: certified user keys: rsa-sha2-256 empty authorized_principals 1295s 14:06:13.848944199 O: certified user keys: rsa-sha2-256 wrong authorized_principals 1296s 14:06:14.117159340 O: certified user keys: rsa-sha2-256 correct authorized_principals 1296s 14:06:14.513865586 O: certified user keys: rsa-sha2-256 authorized_principals bad key opt 1296s 14:06:14.816188207 O: certified user keys: rsa-sha2-256 authorized_principals command=false 1297s 14:06:15.099942450 O: certified user keys: rsa-sha2-256 authorized_principals command=true 1297s 14:06:15.371318028 O: certified user keys: rsa-sha2-256 wrong principals key option 1297s 14:06:15.623231778 O: certified user keys: rsa-sha2-256 correct principals key option 1297s 14:06:15.916727895 O: certified user keys: rsa-sha2-512 missing authorized_principals 1298s 14:06:16.159241975 O: certified user keys: rsa-sha2-512 empty authorized_principals 1298s 14:06:16.397558565 O: certified user keys: rsa-sha2-512 wrong authorized_principals 1298s 14:06:16.637815859 O: certified user keys: rsa-sha2-512 correct authorized_principals 1298s 14:06:16.917943979 O: certified user keys: rsa-sha2-512 authorized_principals bad key opt 1299s 14:06:17.163195651 O: certified user keys: rsa-sha2-512 authorized_principals command=false 1299s 14:06:17.495258499 O: certified user keys: rsa-sha2-512 authorized_principals command=true 1299s 14:06:17.824158110 O: certified user keys: rsa-sha2-512 wrong principals key option 1300s 14:06:18.063773836 O: certified user keys: rsa-sha2-512 correct principals key option 1300s 14:06:18.348212606 O: certified user keys: ed25519 authorized_keys connect 1300s 14:06:18.629617501 O: certified user keys: ed25519 authorized_keys revoked key 1300s 14:06:18.888488091 O: certified user keys: ed25519 authorized_keys revoked via KRL 1301s 14:06:19.144669851 O: certified user keys: ed25519 authorized_keys empty KRL 1301s 14:06:19.451085638 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_keys connect 1301s 14:06:19.765655721 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_keys revoked key 1302s 14:06:20.052298477 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_keys revoked via KRL 1302s 14:06:20.321484588 O: certified user keys: sk-ssh-ed25519@openssh.com authorized_keys empty KRL 1302s 14:06:20.612929560 O: certified user keys: ecdsa-sha2-nistp256 authorized_keys connect 1303s 14:06:21.384325950 O: certified user keys: ecdsa-sha2-nistp256 authorized_keys revoked key 1303s 14:06:21.637889679 O: certified user keys: ecdsa-sha2-nistp256 authorized_keys revoked via KRL 1303s 14:06:21.904091275 O: certified user keys: ecdsa-sha2-nistp256 authorized_keys empty KRL 1304s 14:06:22.190736550 O: certified user keys: ecdsa-sha2-nistp384 authorized_keys connect 1304s 14:06:22.523150041 O: certified user keys: ecdsa-sha2-nistp384 authorized_keys revoked key 1304s 14:06:22.833562914 O: certified user keys: ecdsa-sha2-nistp384 authorized_keys revoked via KRL 1305s 14:06:23.122400295 O: certified user keys: ecdsa-sha2-nistp384 authorized_keys empty KRL 1305s 14:06:23.510231315 O: certified user keys: ecdsa-sha2-nistp521 authorized_keys connect 1305s 14:06:23.897972373 O: certified user keys: ecdsa-sha2-nistp521 authorized_keys revoked key 1306s 14:06:24.291474818 O: certified user keys: ecdsa-sha2-nistp521 authorized_keys revoked via KRL 1306s 14:06:24.604107917 O: certified user keys: ecdsa-sha2-nistp521 authorized_keys empty KRL 1307s 14:06:25.006445026 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_keys connect 1307s 14:06:25.346656808 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_keys revoked key 1307s 14:06:25.618408308 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_keys revoked via KRL 1308s 14:06:26.300698533 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com authorized_keys empty KRL 1308s 14:06:26.608094810 O: certified user keys: dsa authorized_keys connect 1308s 14:06:26.886734231 O: certified user keys: dsa authorized_keys revoked key 1309s 14:06:27.141042046 O: certified user keys: dsa authorized_keys revoked via KRL 1309s 14:06:27.398800943 O: certified user keys: dsa authorized_keys empty KRL 1309s 14:06:27.680830883 O: certified user keys: rsa authorized_keys connect 1310s 14:06:28.005724604 O: certified user keys: rsa authorized_keys revoked key 1310s 14:06:28.264792076 O: certified user keys: rsa authorized_keys revoked via KRL 1310s 14:06:28.540286579 O: certified user keys: rsa authorized_keys empty KRL 1310s 14:06:28.885660700 O: certified user keys: rsa-sha2-256 authorized_keys connect 1311s 14:06:29.189066330 O: certified user keys: rsa-sha2-256 authorized_keys revoked key 1311s 14:06:29.434136238 O: certified user keys: rsa-sha2-256 authorized_keys revoked via KRL 1311s 14:06:29.683052270 O: certified user keys: rsa-sha2-256 authorized_keys empty KRL 1312s 14:06:29.980838514 O: certified user keys: rsa-sha2-512 authorized_keys connect 1313s 14:06:30.974120775 O: certified user keys: rsa-sha2-512 authorized_keys revoked key 1313s 14:06:31.434694363 O: certified user keys: rsa-sha2-512 authorized_keys revoked via KRL 1314s 14:06:31.995657565 O: certified user keys: rsa-sha2-512 authorized_keys empty KRL 1314s 14:06:32.414927829 O: certified user keys: rsa-sha2-512 authorized_keys revoked CA key 1314s 14:06:32.669075122 O: certified user keys: authorized_keys CA does not authenticate 1314s 14:06:32.671842755 O: certified user keys: ensure CA key does not authenticate user 1314s 14:06:32.920340382 O: certified user keys: ed25519 TrustedUserCAKeys connect 1315s 14:06:33.233113960 O: certified user keys: ed25519 TrustedUserCAKeys revoked key 1315s 14:06:33.786308551 O: certified user keys: ed25519 TrustedUserCAKeys revoked via KRL 1316s 14:06:34.116264570 O: certified user keys: ed25519 TrustedUserCAKeys empty KRL 1316s 14:06:34.421298738 O: certified user keys: sk-ssh-ed25519@openssh.com TrustedUserCAKeys connect 1316s 14:06:34.741312281 O: certified user keys: sk-ssh-ed25519@openssh.com TrustedUserCAKeys revoked key 1317s 14:06:35.047106338 O: certified user keys: sk-ssh-ed25519@openssh.com TrustedUserCAKeys revoked via KRL 1317s 14:06:35.314731348 O: certified user keys: sk-ssh-ed25519@openssh.com TrustedUserCAKeys empty KRL 1317s 14:06:35.609084310 O: certified user keys: ecdsa-sha2-nistp256 TrustedUserCAKeys connect 1317s 14:06:35.881546417 O: certified user keys: ecdsa-sha2-nistp256 TrustedUserCAKeys revoked key 1319s 14:06:36.150124718 O: certified user keys: ecdsa-sha2-nistp256 TrustedUserCAKeys revoked via KRL 1319s 14:06:36.417849489 O: certified user keys: ecdsa-sha2-nistp256 TrustedUserCAKeys empty KRL 1319s 14:06:36.701750009 O: certified user keys: ecdsa-sha2-nistp384 TrustedUserCAKeys connect 1319s 14:06:37.027902143 O: certified user keys: ecdsa-sha2-nistp384 TrustedUserCAKeys revoked key 1319s 14:06:37.339198584 O: certified user keys: ecdsa-sha2-nistp384 TrustedUserCAKeys revoked via KRL 1319s 14:06:37.608297770 O: certified user keys: ecdsa-sha2-nistp384 TrustedUserCAKeys empty KRL 1319s 14:06:37.913773583 O: certified user keys: ecdsa-sha2-nistp521 TrustedUserCAKeys connect 1320s 14:06:38.310381660 O: certified user keys: ecdsa-sha2-nistp521 TrustedUserCAKeys revoked key 1320s 14:06:38.711244668 O: certified user keys: ecdsa-sha2-nistp521 TrustedUserCAKeys revoked via KRL 1321s 14:06:39.031815736 O: certified user keys: ecdsa-sha2-nistp521 TrustedUserCAKeys empty KRL 1321s 14:06:39.433087268 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com TrustedUserCAKeys connect 1321s 14:06:39.936755157 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com TrustedUserCAKeys revoked key 1322s 14:06:40.248150238 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com TrustedUserCAKeys revoked via KRL 1322s 14:06:40.607305077 O: certified user keys: sk-ecdsa-sha2-nistp256@openssh.com TrustedUserCAKeys empty KRL 1323s 14:06:41.035250201 O: certified user keys: dsa TrustedUserCAKeys connect 1323s 14:06:41.371616973 O: certified user keys: dsa TrustedUserCAKeys revoked key 1323s 14:06:41.659099454 O: certified user keys: dsa TrustedUserCAKeys revoked via KRL 1323s 14:06:41.919272576 O: certified user keys: dsa TrustedUserCAKeys empty KRL 1324s 14:06:42.208600678 O: certified user keys: rsa TrustedUserCAKeys connect 1324s 14:06:42.488604032 O: certified user keys: rsa TrustedUserCAKeys revoked key 1324s 14:06:42.745323673 O: certified user keys: rsa TrustedUserCAKeys revoked via KRL 1325s 14:06:43.017222531 O: certified user keys: rsa TrustedUserCAKeys empty KRL 1325s 14:06:43.301050889 O: certified user keys: rsa-sha2-256 TrustedUserCAKeys connect 1325s 14:06:43.582003013 O: certified user keys: rsa-sha2-256 TrustedUserCAKeys revoked key 1325s 14:06:43.843482390 O: certified user keys: rsa-sha2-256 TrustedUserCAKeys revoked via KRL 1326s 14:06:44.102761541 O: certified user keys: rsa-sha2-256 TrustedUserCAKeys empty KRL 1326s 14:06:44.384285591 O: certified user keys: rsa-sha2-512 TrustedUserCAKeys connect 1326s 14:06:44.654803593 O: certified user keys: rsa-sha2-512 TrustedUserCAKeys revoked key 1326s 14:06:44.908940124 O: certified user keys: rsa-sha2-512 TrustedUserCAKeys revoked via KRL 1327s 14:06:45.169394008 O: certified user keys: rsa-sha2-512 TrustedUserCAKeys empty KRL 1327s 14:06:45.454132256 O: certified user keys: rsa-sha2-512 TrustedUserCAKeys revoked CA key 1327s 14:06:45.712688798 O: certified user keys: TrustedUserCAKeys CA does not authenticate 1327s 14:06:45.715139907 O: certified user keys: ensure CA key does not authenticate user 1327s 14:06:45.958286589 O: certified user keys: correct principal auth authorized_keys expect success rsa 1328s 14:06:46.292247812 O: certified user keys: correct principal auth authorized_keys expect success ed25519 1328s 14:06:46.580330099 O: certified user keys: correct principal auth TrustedUserCAKeys expect success rsa 1328s 14:06:46.887272967 O: certified user keys: correct principal auth TrustedUserCAKeys expect success ed25519 1329s 14:06:47.185174288 O: certified user keys: host-certificate auth authorized_keys expect failure rsa 1329s 14:06:47.464491432 O: certified user keys: host-certificate auth authorized_keys expect failure ed25519 1329s 14:06:47.790461962 O: certified user keys: host-certificate auth TrustedUserCAKeys expect failure rsa 1330s 14:06:48.070090590 O: certified user keys: host-certificate auth TrustedUserCAKeys expect failure ed25519 1330s 14:06:48.346177736 O: certified user keys: wrong principals auth authorized_keys expect failure rsa 1330s 14:06:48.620276939 O: certified user keys: wrong principals auth authorized_keys expect failure ed25519 1330s 14:06:48.896301085 O: certified user keys: wrong principals auth TrustedUserCAKeys expect failure rsa 1331s 14:06:49.166513442 O: certified user keys: wrong principals auth TrustedUserCAKeys expect failure ed25519 1331s 14:06:49.536107761 O: certified user keys: cert not yet valid auth authorized_keys expect failure rsa 1331s 14:06:49.884479072 O: certified user keys: cert not yet valid auth authorized_keys expect failure ed25519 1332s 14:06:50.178138663 O: certified user keys: cert not yet valid auth TrustedUserCAKeys expect failure rsa 1332s 14:06:50.442422551 O: certified user keys: cert not yet valid auth TrustedUserCAKeys expect failure ed25519 1332s 14:06:50.700572248 O: certified user keys: cert expired auth authorized_keys expect failure rsa 1332s 14:06:50.962751351 O: certified user keys: cert expired auth authorized_keys expect failure ed25519 1333s 14:06:51.222717549 O: certified user keys: cert expired auth TrustedUserCAKeys expect failure rsa 1333s 14:06:51.494904049 O: certified user keys: cert expired auth TrustedUserCAKeys expect failure ed25519 1333s 14:06:51.785574205 O: certified user keys: cert valid interval auth authorized_keys expect success rsa 1334s 14:06:52.087591374 O: certified user keys: cert valid interval auth authorized_keys expect success ed25519 1335s 14:06:53.152382694 O: certified user keys: cert valid interval auth TrustedUserCAKeys expect success rsa 1336s 14:06:54.073053209 O: certified user keys: cert valid interval auth TrustedUserCAKeys expect success ed25519 1336s 14:06:54.869237030 O: certified user keys: wrong source-address auth authorized_keys expect failure rsa 1337s 14:06:55.277892644 O: certified user keys: wrong source-address auth authorized_keys expect failure ed25519 1337s 14:06:55.734568058 O: certified user keys: wrong source-address auth TrustedUserCAKeys expect failure rsa 1338s 14:06:56.170526670 O: certified user keys: wrong source-address auth TrustedUserCAKeys expect failure ed25519 1338s 14:06:56.691962641 O: certified user keys: force-command auth authorized_keys expect failure rsa 1339s 14:06:57.768207091 O: certified user keys: force-command auth authorized_keys expect failure ed25519 1340s 14:06:58.575046954 O: certified user keys: force-command auth TrustedUserCAKeys expect failure rsa 1341s 14:06:59.335793719 O: certified user keys: force-command auth TrustedUserCAKeys expect failure ed25519 1341s 14:06:59.904908725 O: certified user keys: empty principals auth authorized_keys expect success rsa 1342s 14:07:00.274748444 O: certified user keys: empty principals auth authorized_keys expect success ed25519 1342s 14:07:00.574188420 O: certified user keys: empty principals auth TrustedUserCAKeys expect failure rsa 1342s 14:07:00.838028701 O: certified user keys: empty principals auth TrustedUserCAKeys expect failure ed25519 1343s 14:07:01.097462451 O: certified user keys: AuthorizedPrincipalsFile principals auth TrustedUserCAKeys expect success rsa 1343s 14:07:01.417701430 O: certified user keys: AuthorizedPrincipalsFile principals auth TrustedUserCAKeys expect success ed25519 1343s 14:07:01.743786998 O: certified user keys: AuthorizedPrincipalsFile no principals auth TrustedUserCAKeys expect failure rsa 1344s 14:07:02.036729618 O: certified user keys: AuthorizedPrincipalsFile no principals auth TrustedUserCAKeys expect failure ed25519 1344s 14:07:02.298695917 O: certified user keys: principals key option principals auth authorized_keys expect success rsa 1344s 14:07:02.607722845 O: certified user keys: principals key option principals auth authorized_keys expect success ed25519 1344s 14:07:02.905463042 O: certified user keys: principals key option no principals auth authorized_keys expect failure rsa 1345s 14:07:03.174615864 O: certified user keys: principals key option no principals auth authorized_keys expect failure ed25519 1345s 14:07:03.435111545 O: certified user keys: force-command match true auth authorized_keys expect success rsa 1345s 14:07:03.877655432 O: certified user keys: force-command match true auth authorized_keys expect success ed25519 1346s 14:07:04.366040414 O: certified user keys: force-command match true auth authorized_keys expect failure rsa 1346s 14:07:04.693763560 O: certified user keys: force-command match true auth authorized_keys expect failure ed25519 1347s 14:07:05.037542334 O: certified user keys: force-command mismatch 1 auth authorized_keys expect failure rsa 1347s 14:07:05.310691642 O: certified user keys: force-command mismatch 1 auth authorized_keys expect failure ed25519 1347s 14:07:05.585501650 O: certified user keys: force-command mismatch 2 auth authorized_keys expect failure rsa 1347s 14:07:05.866805654 O: certified user keys: force-command mismatch 2 auth authorized_keys expect failure ed25519 1348s 14:07:06.151667900 O: certified user keys: user ed25519 connect wrong cert 1348s 14:07:06.420893242 O: certified user keys: user sk-ssh-ed25519@openssh.com connect wrong cert 1348s 14:07:06.671746091 O: certified user keys: user ecdsa-sha2-nistp256 connect wrong cert 1348s 14:07:06.930730994 O: certified user keys: user ecdsa-sha2-nistp384 connect wrong cert 1349s 14:07:07.249407874 O: certified user keys: user ecdsa-sha2-nistp521 connect wrong cert 1349s 14:07:07.516490471 O: certified user keys: user sk-ecdsa-sha2-nistp256@openssh.com connect wrong cert 1349s 14:07:07.754411648 O: certified user keys: user dsa connect wrong cert 1350s 14:07:08.001564173 O: certified user keys: user rsa connect wrong cert 1350s 14:07:08.261684809 O: certified user keys: user rsa-sha2-256 connect wrong cert 1350s 14:07:08.521160238 O: certified user keys: user rsa-sha2-512 connect wrong cert 1350s 14:07:08.768965410 O: ok certified user keys 1350s 14:07:08.769433576 E: run test host-expand.sh ... 1351s 14:07:09.328467780 O: ok expand %h and %n 1351s 14:07:09.328618582 E: run test keys-command.sh ... 1351s 14:07:09.614051473 O: AuthorizedKeysCommand with arguments 1352s 14:07:10.053854126 O: AuthorizedKeysCommand without arguments 1352s 14:07:10.460765635 O: ok authorized keys from command 1352s 14:07:10.466461822 E: run test forward-control.sh ... 1355s 14:07:13.124877244 O: check_lfwd done (expecting Y): default configuration 1357s 14:07:15.261941859 O: check_rfwd done (expecting Y): default configuration 1358s 14:07:16.046164409 O: check_lfwd done (expecting Y): AllowTcpForwarding=yes 1358s 14:07:16.893007288 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes 1360s 14:07:18.542623132 O: check_lfwd done (expecting N): AllowTcpForwarding=yes, !PermitOpen 1361s 14:07:19.666194198 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes, !PermitOpen 1363s 14:07:21.726919833 O: check_lfwd done (expecting Y): AllowTcpForwarding=yes, PermitOpen 1365s 14:07:23.582747676 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes, PermitOpen 1366s 14:07:24.450035549 O: check_lfwd done (expecting N): AllowTcpForwarding=yes, !permitopen 1368s 14:07:26.888733225 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes, !permitopen 1371s 14:07:29.170076302 O: check_lfwd done (expecting Y): AllowTcpForwarding=yes, permitopen 1372s 14:07:30.634405892 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes, permitopen 1374s 14:07:32.461845113 O: check_lfwd done (expecting N): AllowTcpForwarding=yes, no-port-forwarding 1375s 14:07:33.043720175 O: check_rfwd done (expecting N): AllowTcpForwarding=yes, no-port-forwarding 1375s 14:07:33.580791115 O: check_lfwd done (expecting N): AllowTcpForwarding=yes, restrict 1375s 14:07:33.942826934 O: check_rfwd done (expecting N): AllowTcpForwarding=yes, restrict 1378s 14:07:36.045868043 O: check_lfwd done (expecting Y): AllowTcpForwarding=yes, restrict,port-forwarding 1379s 14:07:37.889415525 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes, restrict,port-forwarding 1380s 14:07:38.675296882 O: check_lfwd done (expecting Y): AllowTcpForwarding=local 1381s 14:07:39.244822117 O: check_rfwd done (expecting N): AllowTcpForwarding=local 1381s 14:07:39.733652453 O: check_lfwd done (expecting N): AllowTcpForwarding=local, !PermitOpen 1382s 14:07:40.222175424 O: check_rfwd done (expecting N): AllowTcpForwarding=local, !PermitOpen 1383s 14:07:41.180760392 O: check_lfwd done (expecting Y): AllowTcpForwarding=local, PermitOpen 1383s 14:07:41.552809686 O: check_rfwd done (expecting N): AllowTcpForwarding=local, PermitOpen 1385s 14:07:43.309646592 O: check_lfwd done (expecting N): AllowTcpForwarding=local, !permitopen 1385s 14:07:43.705790486 O: check_rfwd done (expecting N): AllowTcpForwarding=local, !permitopen 1387s 14:07:45.544931308 O: check_lfwd done (expecting Y): AllowTcpForwarding=local, permitopen 1388s 14:07:46.018529704 O: check_rfwd done (expecting N): AllowTcpForwarding=local, permitopen 1388s 14:07:46.621634368 O: check_lfwd done (expecting N): AllowTcpForwarding=local, no-port-forwarding 1389s 14:07:47.105186679 O: check_rfwd done (expecting N): AllowTcpForwarding=local, no-port-forwarding 1390s 14:07:48.845355304 O: check_lfwd done (expecting N): AllowTcpForwarding=local, restrict 1391s 14:07:49.332860941 O: check_rfwd done (expecting N): AllowTcpForwarding=local, restrict 1392s 14:07:50.256906301 O: check_lfwd done (expecting Y): AllowTcpForwarding=local, restrict,port-forwarding 1392s 14:07:50.674292241 O: check_rfwd done (expecting N): AllowTcpForwarding=local, restrict,port-forwarding 1394s 14:07:52.196843848 O: check_lfwd done (expecting N): AllowTcpForwarding=remote 1396s 14:07:54.711066159 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote 1398s 14:07:56.562313748 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, !PermitOpen 1401s 14:07:58.976082003 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote, !PermitOpen 1402s 14:08:00.729736372 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, PermitOpen 1405s 14:08:02.969241752 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote, PermitOpen 1406s 14:08:04.819213277 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, !permitopen 1408s 14:08:06.018305148 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote, !permitopen 1409s 14:08:07.640845104 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, permitopen 1411s 14:08:09.706440692 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote, permitopen 1412s 14:08:10.125090441 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, no-port-forwarding 1412s 14:08:10.485156909 O: check_rfwd done (expecting N): AllowTcpForwarding=remote, no-port-forwarding 1413s 14:08:10.965039971 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, restrict 1413s 14:08:11.391581932 O: check_rfwd done (expecting N): AllowTcpForwarding=remote, restrict 1415s 14:08:13.001383534 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, restrict,port-forwarding 1416s 14:08:14.781495436 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote, restrict,port-forwarding 1418s 14:08:16.212068271 O: check_lfwd done (expecting N): AllowTcpForwarding=no 1418s 14:08:16.590149307 O: check_rfwd done (expecting N): AllowTcpForwarding=no 1418s 14:08:16.962382195 O: check_lfwd done (expecting N): AllowTcpForwarding=no, !PermitOpen 1419s 14:08:17.337486836 O: check_rfwd done (expecting N): AllowTcpForwarding=no, !PermitOpen 1419s 14:08:17.743839121 O: check_lfwd done (expecting N): AllowTcpForwarding=no, PermitOpen 1420s 14:08:18.114556111 O: check_rfwd done (expecting N): AllowTcpForwarding=no, PermitOpen 1421s 14:08:19.517244739 O: check_lfwd done (expecting N): AllowTcpForwarding=no, !permitopen 1421s 14:08:19.893344312 O: check_rfwd done (expecting N): AllowTcpForwarding=no, !permitopen 1423s 14:08:21.354030492 O: check_lfwd done (expecting N): AllowTcpForwarding=no, permitopen 1424s 14:08:22.184432345 O: check_rfwd done (expecting N): AllowTcpForwarding=no, permitopen 1426s 14:08:24.089759892 O: check_lfwd done (expecting N): AllowTcpForwarding=no, no-port-forwarding 1426s 14:08:24.706810424 O: check_rfwd done (expecting N): AllowTcpForwarding=no, no-port-forwarding 1427s 14:08:25.261254348 O: check_lfwd done (expecting N): AllowTcpForwarding=no, restrict 1428s 14:08:26.206308211 O: check_rfwd done (expecting N): AllowTcpForwarding=no, restrict 1430s 14:08:28.137394813 O: check_lfwd done (expecting N): AllowTcpForwarding=no, restrict,port-forwarding 1430s 14:08:28.962783524 O: check_rfwd done (expecting N): AllowTcpForwarding=no, restrict,port-forwarding 1432s 14:08:30.578239455 O: check_lfwd done (expecting Y): AllowTcpForwarding=yes, !PermitListen 1433s 14:08:31.325343256 O: check_rfwd done (expecting N): AllowTcpForwarding=yes, !PermitListen 1435s 14:08:33.485009547 O: check_lfwd done (expecting Y): AllowTcpForwarding=yes, PermitListen 1437s 14:08:35.160268049 O: check_rfwd done (expecting Y): AllowTcpForwarding=yes, PermitListen 1438s 14:08:36.763649953 O: check_lfwd done (expecting Y): AllowTcpForwarding=local, !PermitListen 1439s 14:08:37.243590688 O: check_rfwd done (expecting N): AllowTcpForwarding=local, !PermitListen 1440s 14:08:38.817276406 O: check_lfwd done (expecting Y): AllowTcpForwarding=local, PermitListen 1441s 14:08:39.090375538 O: check_rfwd done (expecting N): AllowTcpForwarding=local, PermitListen 1441s 14:08:39.382799934 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, !PermitListen 1441s 14:08:39.664386805 O: check_rfwd done (expecting N): AllowTcpForwarding=remote, !PermitListen 1443s 14:08:41.030738993 O: check_lfwd done (expecting N): AllowTcpForwarding=remote, PermitListen 1444s 14:08:42.735876034 O: check_rfwd done (expecting Y): AllowTcpForwarding=remote, PermitListen 1446s 14:08:44.677171575 O: check_lfwd done (expecting N): AllowTcpForwarding=no, !PermitListen 1447s 14:08:45.220851248 O: check_rfwd done (expecting N): AllowTcpForwarding=no, !PermitListen 1447s 14:08:45.728246499 O: check_lfwd done (expecting N): AllowTcpForwarding=no, PermitListen 1448s 14:08:46.105343837 O: check_rfwd done (expecting N): AllowTcpForwarding=no, PermitListen 1448s 14:08:46.127834178 O: ok sshd control of local and remote forwarding 1448s 14:08:46.128190662 E: run test integrity.sh ... 1449s 14:08:46.983031027 O: test integrity: hmac-sha1 @2900 1449s 14:08:47.535365879 O: test integrity: hmac-sha1 @2901 1450s 14:08:47.990544203 O: test integrity: hmac-sha1 @2902 1450s 14:08:48.446613978 O: test integrity: hmac-sha1 @2903 1450s 14:08:48.877308098 O: test integrity: hmac-sha1 @2904 1451s 14:08:49.325581341 O: test integrity: hmac-sha1 @2905 1452s 14:08:50.027792373 O: test integrity: hmac-sha1 @2906 1452s 14:08:50.689086129 O: test integrity: hmac-sha1 @2907 1453s 14:08:51.522801006 O: test integrity: hmac-sha1 @2908 1454s 14:08:52.193131066 O: test integrity: hmac-sha1 @2909 1455s 14:08:53.197003358 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1455s 14:08:53.273684088 O: test integrity: hmac-sha1-96 @2900 1456s 14:08:54.892352753 O: test integrity: hmac-sha1-96 @2901 1457s 14:08:55.177603704 O: test integrity: hmac-sha1-96 @2902 1457s 14:08:55.460811910 O: test integrity: hmac-sha1-96 @2903 1457s 14:08:55.884326505 O: test integrity: hmac-sha1-96 @2904 1458s 14:08:56.178704561 O: test integrity: hmac-sha1-96 @2905 1458s 14:08:56.481461914 O: test integrity: hmac-sha1-96 @2906 1458s 14:08:56.773305821 O: test integrity: hmac-sha1-96 @2907 1459s 14:08:57.071455401 O: test integrity: hmac-sha1-96 @2908 1459s 14:08:57.380164463 O: test integrity: hmac-sha1-96 @2909 1459s 14:08:57.667017951 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1459s 14:08:57.686148893 O: test integrity: hmac-sha2-256 @2900 1460s 14:08:58.218447230 O: test integrity: hmac-sha2-256 @2901 1460s 14:08:58.687107228 O: test integrity: hmac-sha2-256 @2902 1461s 14:08:58.992307529 O: test integrity: hmac-sha2-256 @2903 1461s 14:08:59.297855274 O: test integrity: hmac-sha2-256 @2904 1461s 14:08:59.584575801 O: test integrity: hmac-sha2-256 @2905 1461s 14:08:59.880546235 O: test integrity: hmac-sha2-256 @2906 1462s 14:09:00.166984198 O: test integrity: hmac-sha2-256 @2907 1462s 14:09:00.517997591 O: test integrity: hmac-sha2-256 @2908 1462s 14:09:00.843674689 O: test integrity: hmac-sha2-256 @2909 1463s 14:09:01.118504758 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1463s 14:09:01.140865577 O: test integrity: hmac-sha2-512 @2900 1463s 14:09:01.403292262 O: test integrity: hmac-sha2-512 @2901 1463s 14:09:01.684118040 O: test integrity: hmac-sha2-512 @2902 1464s 14:09:02.077596685 O: test integrity: hmac-sha2-512 @2903 1464s 14:09:02.481484130 O: test integrity: hmac-sha2-512 @2904 1464s 14:09:02.781310968 O: test integrity: hmac-sha2-512 @2905 1465s 14:09:03.042931843 O: test integrity: hmac-sha2-512 @2906 1465s 14:09:03.309084091 O: test integrity: hmac-sha2-512 @2907 1465s 14:09:03.577954290 O: test integrity: hmac-sha2-512 @2908 1465s 14:09:03.850423730 O: test integrity: hmac-sha2-512 @2909 1466s 14:09:04.089916349 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1466s 14:09:04.108739007 O: test integrity: hmac-md5 @2900 1466s 14:09:04.391143883 O: test integrity: hmac-md5 @2901 1466s 14:09:04.663162638 O: test integrity: hmac-md5 @2902 1467s 14:09:04.982547423 O: test integrity: hmac-md5 @2903 1467s 14:09:05.341640148 O: test integrity: hmac-md5 @2904 1467s 14:09:05.628569476 O: test integrity: hmac-md5 @2905 1467s 14:09:05.940784498 O: test integrity: hmac-md5 @2906 1468s 14:09:06.243856333 O: test integrity: hmac-md5 @2907 1468s 14:09:06.520430781 O: test integrity: hmac-md5 @2908 1468s 14:09:06.805902772 O: test integrity: hmac-md5 @2909 1469s 14:09:07.078180890 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1469s 14:09:07.117683108 O: test integrity: hmac-md5-96 @2900 1469s 14:09:07.403785986 O: test integrity: hmac-md5-96 @2901 1469s 14:09:07.684384561 O: test integrity: hmac-md5-96 @2902 1470s 14:09:07.967829088 O: test integrity: hmac-md5-96 @2903 1470s 14:09:08.291341280 O: test integrity: hmac-md5-96 @2904 1470s 14:09:08.608766081 O: test integrity: hmac-md5-96 @2905 1470s 14:09:08.911933757 O: test integrity: hmac-md5-96 @2906 1471s 14:09:09.278069764 O: test integrity: hmac-md5-96 @2907 1471s 14:09:09.611578311 O: test integrity: hmac-md5-96 @2908 1471s 14:09:09.911279347 O: test integrity: hmac-md5-96 @2909 1472s 14:09:10.174559720 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1472s 14:09:10.258014928 O: test integrity: umac-64@openssh.com @2900 1472s 14:09:10.567494237 O: test integrity: umac-64@openssh.com @2901 1472s 14:09:10.841049009 O: test integrity: umac-64@openssh.com @2902 1473s 14:09:11.129871278 O: test integrity: umac-64@openssh.com @2903 1473s 14:09:11.470820472 O: test integrity: umac-64@openssh.com @2904 1474s 14:09:12.055579213 O: test integrity: umac-64@openssh.com @2905 1475s 14:09:13.171141308 O: test integrity: umac-64@openssh.com @2906 1475s 14:09:13.573889658 O: test integrity: umac-64@openssh.com @2907 1475s 14:09:13.862197481 O: test integrity: umac-64@openssh.com @2908 1476s 14:09:14.135071165 O: test integrity: umac-64@openssh.com @2909 1476s 14:09:14.407400962 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1476s 14:09:14.435552248 O: test integrity: umac-128@openssh.com @2900 1476s 14:09:14.936442896 O: test integrity: umac-128@openssh.com @2901 1477s 14:09:15.234308549 O: test integrity: umac-128@openssh.com @2902 1477s 14:09:15.566117236 O: test integrity: umac-128@openssh.com @2903 1477s 14:09:15.839411685 O: test integrity: umac-128@openssh.com @2904 1478s 14:09:16.129238085 O: test integrity: umac-128@openssh.com @2905 1478s 14:09:16.400288187 O: test integrity: umac-128@openssh.com @2906 1478s 14:09:16.764960135 O: test integrity: umac-128@openssh.com @2907 1479s 14:09:17.062374783 O: test integrity: umac-128@openssh.com @2908 1479s 14:09:17.556438350 O: test integrity: umac-128@openssh.com @2909 1479s 14:09:17.879829619 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1479s 14:09:17.953807757 O: test integrity: hmac-sha1-etm@openssh.com @2900 1480s 14:09:18.458536688 O: test integrity: hmac-sha1-etm@openssh.com @2901 1480s 14:09:18.817567850 O: test integrity: hmac-sha1-etm@openssh.com @2902 1481s 14:09:19.124852132 O: test integrity: hmac-sha1-etm@openssh.com @2903 1481s 14:09:19.442367852 O: test integrity: hmac-sha1-etm@openssh.com @2904 1481s 14:09:19.719787788 O: test integrity: hmac-sha1-etm@openssh.com @2905 1482s 14:09:20.002931510 O: test integrity: hmac-sha1-etm@openssh.com @2906 1482s 14:09:20.289474311 O: test integrity: hmac-sha1-etm@openssh.com @2907 1482s 14:09:20.574358534 O: test integrity: hmac-sha1-etm@openssh.com @2908 1482s 14:09:20.848349669 O: test integrity: hmac-sha1-etm@openssh.com @2909 1483s 14:09:21.114535835 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1483s 14:09:21.132484643 O: test integrity: hmac-sha1-96-etm@openssh.com @2900 1483s 14:09:21.407485990 O: test integrity: hmac-sha1-96-etm@openssh.com @2901 1485s 14:09:23.153172223 O: test integrity: hmac-sha1-96-etm@openssh.com @2902 1486s 14:09:24.910343027 O: test integrity: hmac-sha1-96-etm@openssh.com @2903 1488s 14:09:26.701266021 O: test integrity: hmac-sha1-96-etm@openssh.com @2904 1489s 14:09:27.693485038 O: test integrity: hmac-sha1-96-etm@openssh.com @2905 1490s 14:09:28.202721899 O: test integrity: hmac-sha1-96-etm@openssh.com @2906 1490s 14:09:28.755132499 O: test integrity: hmac-sha1-96-etm@openssh.com @2907 1491s 14:09:29.818061455 O: test integrity: hmac-sha1-96-etm@openssh.com @2908 1492s 14:09:30.913028221 O: test integrity: hmac-sha1-96-etm@openssh.com @2909 1493s 14:09:31.376810114 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1493s 14:09:31.480925160 O: test integrity: hmac-sha2-256-etm@openssh.com @2900 1493s 14:09:31.954712009 O: test integrity: hmac-sha2-256-etm@openssh.com @2901 1494s 14:09:32.312770117 O: test integrity: hmac-sha2-256-etm@openssh.com @2902 1494s 14:09:32.643007663 O: test integrity: hmac-sha2-256-etm@openssh.com @2903 1495s 14:09:33.057102900 O: test integrity: hmac-sha2-256-etm@openssh.com @2904 1495s 14:09:33.402381500 O: test integrity: hmac-sha2-256-etm@openssh.com @2905 1495s 14:09:33.840484975 O: test integrity: hmac-sha2-256-etm@openssh.com @2906 1496s 14:09:34.355111736 O: test integrity: hmac-sha2-256-etm@openssh.com @2907 1496s 14:09:34.939316863 O: test integrity: hmac-sha2-256-etm@openssh.com @2908 1497s 14:09:35.503695241 O: test integrity: hmac-sha2-256-etm@openssh.com @2909 1498s 14:09:36.319673692 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1498s 14:09:36.397860918 O: test integrity: hmac-sha2-512-etm@openssh.com @2900 1498s 14:09:36.662615864 O: test integrity: hmac-sha2-512-etm@openssh.com @2901 1498s 14:09:36.911645629 O: test integrity: hmac-sha2-512-etm@openssh.com @2902 1499s 14:09:37.152780661 O: test integrity: hmac-sha2-512-etm@openssh.com @2903 1499s 14:09:37.395904477 O: test integrity: hmac-sha2-512-etm@openssh.com @2904 1499s 14:09:37.664797632 O: test integrity: hmac-sha2-512-etm@openssh.com @2905 1499s 14:09:37.943674902 O: test integrity: hmac-sha2-512-etm@openssh.com @2906 1500s 14:09:38.206432025 O: test integrity: hmac-sha2-512-etm@openssh.com @2907 1500s 14:09:38.462858315 O: test integrity: hmac-sha2-512-etm@openssh.com @2908 1500s 14:09:38.705755208 O: test integrity: hmac-sha2-512-etm@openssh.com @2909 1500s 14:09:38.940648128 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1501s 14:09:38.968551811 O: test integrity: hmac-md5-etm@openssh.com @2900 1501s 14:09:39.481819396 O: test integrity: hmac-md5-etm@openssh.com @2901 1502s 14:09:40.005440580 O: test integrity: hmac-md5-etm@openssh.com @2902 1502s 14:09:40.834528741 O: test integrity: hmac-md5-etm@openssh.com @2903 1503s 14:09:41.638468171 O: test integrity: hmac-md5-etm@openssh.com @2904 1504s 14:09:42.437160459 O: test integrity: hmac-md5-etm@openssh.com @2905 1505s 14:09:43.298453552 O: test integrity: hmac-md5-etm@openssh.com @2906 1505s 14:09:43.863441574 O: test integrity: hmac-md5-etm@openssh.com @2907 1506s 14:09:44.242230520 O: test integrity: hmac-md5-etm@openssh.com @2908 1506s 14:09:44.592321734 O: test integrity: hmac-md5-etm@openssh.com @2909 1506s 14:09:44.908962400 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1506s 14:09:44.929391677 O: test integrity: hmac-md5-96-etm@openssh.com @2900 1507s 14:09:45.291104305 O: test integrity: hmac-md5-96-etm@openssh.com @2901 1507s 14:09:45.580508415 O: test integrity: hmac-md5-96-etm@openssh.com @2902 1507s 14:09:45.923218343 O: test integrity: hmac-md5-96-etm@openssh.com @2903 1508s 14:09:46.358340661 O: test integrity: hmac-md5-96-etm@openssh.com @2904 1508s 14:09:46.681443641 O: test integrity: hmac-md5-96-etm@openssh.com @2905 1509s 14:09:47.163949868 O: test integrity: hmac-md5-96-etm@openssh.com @2906 1509s 14:09:47.465642360 O: test integrity: hmac-md5-96-etm@openssh.com @2907 1509s 14:09:47.749669448 O: test integrity: hmac-md5-96-etm@openssh.com @2908 1510s 14:09:48.032866607 O: test integrity: hmac-md5-96-etm@openssh.com @2909 1510s 14:09:48.307707949 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1510s 14:09:48.328462109 O: test integrity: umac-64-etm@openssh.com @2900 1510s 14:09:48.602475161 O: test integrity: umac-64-etm@openssh.com @2901 1510s 14:09:48.874343508 O: test integrity: umac-64-etm@openssh.com @2902 1511s 14:09:49.146441218 O: test integrity: umac-64-etm@openssh.com @2903 1511s 14:09:49.419235496 O: test integrity: umac-64-etm@openssh.com @2904 1511s 14:09:49.686180586 O: test integrity: umac-64-etm@openssh.com @2905 1511s 14:09:49.952076504 O: test integrity: umac-64-etm@openssh.com @2906 1512s 14:09:50.222691037 O: test integrity: umac-64-etm@openssh.com @2907 1512s 14:09:50.496522886 O: test integrity: umac-64-etm@openssh.com @2908 1512s 14:09:50.772609322 O: test integrity: umac-64-etm@openssh.com @2909 1513s 14:09:51.032314488 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1513s 14:09:51.053988059 O: test integrity: umac-128-etm@openssh.com @2900 1513s 14:09:51.372135742 O: test integrity: umac-128-etm@openssh.com @2901 1513s 14:09:51.731349380 O: test integrity: umac-128-etm@openssh.com @2902 1514s 14:09:52.013187002 O: test integrity: umac-128-etm@openssh.com @2903 1514s 14:09:52.310067598 O: test integrity: umac-128-etm@openssh.com @2904 1514s 14:09:52.585795829 O: test integrity: umac-128-etm@openssh.com @2905 1514s 14:09:52.861978386 O: test integrity: umac-128-etm@openssh.com @2906 1515s 14:09:53.140306208 O: test integrity: umac-128-etm@openssh.com @2907 1515s 14:09:53.411805030 O: test integrity: umac-128-etm@openssh.com @2908 1515s 14:09:53.720661285 O: test integrity: umac-128-etm@openssh.com @2909 1516s 14:09:54.037040666 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1516s 14:09:54.077167051 O: test integrity: aes128-gcm@openssh.com @2900 1516s 14:09:54.445549914 O: test integrity: aes128-gcm@openssh.com @2901 1516s 14:09:54.705917767 O: test integrity: aes128-gcm@openssh.com @2902 1516s 14:09:54.943460797 O: test integrity: aes128-gcm@openssh.com @2903 1517s 14:09:55.209502316 O: test integrity: aes128-gcm@openssh.com @2904 1517s 14:09:55.578571787 O: test integrity: aes128-gcm@openssh.com @2905 1518s 14:09:56.041378183 O: test integrity: aes128-gcm@openssh.com @2906 1518s 14:09:56.382701573 O: test integrity: aes128-gcm@openssh.com @2907 1518s 14:09:56.645896458 O: test integrity: aes128-gcm@openssh.com @2908 1518s 14:09:56.911239969 O: test integrity: aes128-gcm@openssh.com @2909 1519s 14:09:57.143370055 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1519s 14:09:57.170144845 O: test integrity: aes256-gcm@openssh.com @2900 1519s 14:09:57.432297079 O: test integrity: aes256-gcm@openssh.com @2901 1519s 14:09:57.670987401 O: test integrity: aes256-gcm@openssh.com @2902 1519s 14:09:57.926524118 O: test integrity: aes256-gcm@openssh.com @2903 1520s 14:09:58.178865918 O: test integrity: aes256-gcm@openssh.com @2904 1520s 14:09:58.458012628 O: test integrity: aes256-gcm@openssh.com @2905 1520s 14:09:58.733689058 O: test integrity: aes256-gcm@openssh.com @2906 1521s 14:09:59.008599759 O: test integrity: aes256-gcm@openssh.com @2907 1521s 14:09:59.286286692 O: test integrity: aes256-gcm@openssh.com @2908 1521s 14:09:59.567314624 O: test integrity: aes256-gcm@openssh.com @2909 1521s 14:09:59.843733422 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1521s 14:09:59.886227194 O: test integrity: chacha20-poly1305@openssh.com @2900 1522s 14:10:00.138249550 O: test integrity: chacha20-poly1305@openssh.com @2901 1522s 14:10:00.441123975 O: test integrity: chacha20-poly1305@openssh.com @2902 1522s 14:10:00.706499885 O: test integrity: chacha20-poly1305@openssh.com @2903 1523s 14:10:00.969786491 O: test integrity: chacha20-poly1305@openssh.com @2904 1524s 14:10:01.520231740 O: test integrity: chacha20-poly1305@openssh.com @2905 1524s 14:10:02.067434631 O: test integrity: chacha20-poly1305@openssh.com @2906 1524s 14:10:02.433209943 O: test integrity: chacha20-poly1305@openssh.com @2907 1524s 14:10:02.684106606 O: test integrity: chacha20-poly1305@openssh.com @2908 1525s 14:10:03.053317197 O: test integrity: chacha20-poly1305@openssh.com @2909 1525s 14:10:03.401832149 O: test integrity: 10 errors: mac 10 padding 0 length 0 timeout 0 1525s 14:10:03.413095919 O: ok integrity 1525s 14:10:03.415719670 E: run test krl.sh ... 1526s 14:10:04.289586259 O: key revocation lists: generating test keys 1535s 14:10:13.939314950 O: key revocation lists: generating KRLs 1536s 14:10:14.178246433 O: key revocation lists: checking revocations for revoked keys 1537s 14:10:15.089386689 O: key revocation lists: checking revocations for unrevoked keys 1538s 14:10:16.076777866 O: key revocation lists: checking revocations for revoked certs 1539s 14:10:17.177854277 O: key revocation lists: checking revocations for unrevoked certs 1540s 14:10:18.328051416 O: key revocation lists: testing KRL update 1541s 14:10:19.669926050 O: key revocation lists: checking revocations for revoked keys 1542s 14:10:20.391509192 O: key revocation lists: checking revocations for unrevoked keys 1543s 14:10:21.053709487 O: key revocation lists: checking revocations for revoked certs 1544s 14:10:22.160952087 O: key revocation lists: checking revocations for unrevoked certs 1545s 14:10:23.400793379 O: ok key revocation lists 1545s 14:10:23.401916552 E: run test multipubkey.sh ... 1548s 14:10:26.188922166 O: ok multiple pubkey 1548s 14:10:26.191067591 E: run test limit-keytype.sh ... 1555s 14:10:33.353163439 O: allow rsa,ed25519 1556s 14:10:34.189150898 O: allow ed25519 1557s 14:10:34.977709369 O: allow cert only 1557s 14:10:35.753438332 O: match w/ no match 1558s 14:10:36.574851982 O: match w/ matching 1559s 14:10:37.371914190 E: run test hostkey-agent.sh ... 1559s 14:10:37.371908070 O: ok restrict pubkey type 1563s 14:10:41.878610410 O: key type ssh-ed25519 1564s 14:10:42.207226086 O: key type sk-ssh-ed25519@openssh.com 1564s 14:10:42.454162138 O: key type ecdsa-sha2-nistp256 1564s 14:10:42.628529072 O: key type ecdsa-sha2-nistp384 1564s 14:10:42.861001277 O: key type ecdsa-sha2-nistp521 1565s 14:10:43.141036632 O: key type sk-ecdsa-sha2-nistp256@openssh.com 1565s 14:10:43.335356916 O: key type ssh-dss 1565s 14:10:43.490485348 O: key type ssh-rsa 1565s 14:10:43.673230179 O: cert type ssh-ed25519-cert-v01@openssh.com 1565s 14:10:43.907345083 O: cert type sk-ssh-ed25519-cert-v01@openssh.com 1566s 14:10:44.162663871 O: cert type ecdsa-sha2-nistp256-cert-v01@openssh.com 1566s 14:10:44.409575723 O: cert type ecdsa-sha2-nistp384-cert-v01@openssh.com 1566s 14:10:44.677726380 O: cert type ecdsa-sha2-nistp521-cert-v01@openssh.com 1566s 14:10:44.962113265 O: cert type sk-ecdsa-sha2-nistp256-cert-v01@openssh.com 1567s 14:10:45.194637070 O: cert type ssh-dss-cert-v01@openssh.com 1567s 14:10:45.420395397 O: cert type ssh-rsa-cert-v01@openssh.com 1567s 14:10:45.664333055 O: cert type rsa-sha2-256-cert-v01@openssh.com 1567s 14:10:45.902997171 O: cert type rsa-sha2-512-cert-v01@openssh.com 1568s 14:10:46.147273712 O: ok hostkey agent 1568s 14:10:46.147856279 E: run test hostkey-rotate.sh ... 1571s 14:10:49.364589106 O: learn hostkey with StrictHostKeyChecking=no 1571s 14:10:49.645632911 O: learn additional hostkeys 1572s 14:10:50.296878151 O: learn additional hostkeys, type=ssh-ed25519 1572s 14:10:50.570907035 O: learn additional hostkeys, type=sk-ssh-ed25519@openssh.com 1572s 14:10:50.906369749 O: learn additional hostkeys, type=ecdsa-sha2-nistp256 1573s 14:10:51.350818120 O: learn additional hostkeys, type=ecdsa-sha2-nistp384 1573s 14:10:51.670716094 O: learn additional hostkeys, type=ecdsa-sha2-nistp521 1574s 14:10:52.054262683 O: learn additional hostkeys, type=sk-ecdsa-sha2-nistp256@openssh.com 1574s 14:10:52.364764428 O: learn additional hostkeys, type=ssh-dss 1574s 14:10:52.661835058 O: learn additional hostkeys, type=ssh-rsa 1575s 14:10:53.012554667 O: learn changed non-primary hostkey type=ssh-rsa 1577s 14:10:55.399120660 O: learn new primary hostkey 1577s 14:10:55.721859826 O: rotate primary hostkey 1578s 14:10:56.059166320 O: check rotate primary hostkey 1578s 14:10:56.376551104 O: ok hostkey rotate 1578s 14:10:56.376824187 E: run test principals-command.sh ... 1580s 14:10:58.635432620 O: authorized principals command: empty authorized_principals 1580s 14:10:58.914182837 O: authorized principals command: wrong authorized_principals 1581s 14:10:59.195604806 O: authorized principals command: correct authorized_principals 1581s 14:10:59.516698232 O: authorized principals command: authorized_principals bad key opt 1581s 14:10:59.794818322 O: authorized principals command: authorized_principals command=false 1582s 14:11:00.104622378 O: authorized principals command: authorized_principals command=true 1582s 14:11:00.475235816 O: authorized principals command: wrong principals key option 1582s 14:11:00.756248860 O: authorized principals command: correct principals key option 1583s 14:11:01.057230574 O: ok authorized principals command 1583s 14:11:01.067914177 E: run test cert-file.sh ... 1583s 14:11:01.419553076 O: identity cert with no plain public file 1583s 14:11:01.722097688 O: CertificateFile with no plain public file 1584s 14:11:02.042223542 O: plain keys 1584s 14:11:02.330679552 O: untrusted cert 1584s 14:11:02.604138188 O: good cert, bad key 1584s 14:11:02.901407699 O: single trusted 1585s 14:11:03.217431626 O: multiple trusted 1586s 14:11:04.461261861 O: ok ssh with certificates 1586s 14:11:04.461373462 E: run test cfginclude.sh ... 1586s 14:11:04.723049242 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.733844847 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.750746442 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.762167533 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.772459212 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.782221725 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.792357282 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.802168395 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.811642344 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.834559769 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.844669526 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.859149013 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.884527825 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.898006581 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.910572486 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.923647917 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.935528374 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.951880843 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1586s 14:11:04.965714242 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1587s 14:11:04.975274033 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1587s 14:11:04.986207559 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1587s 14:11:05.013536474 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1587s 14:11:05.024867005 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1587s 14:11:05.034931241 E: Pseudo-terminal will not be allocated because stdin is not a terminal. 1587s 14:11:05.048999044 O: ok config include 1587s 14:11:05.049217206 E: run test servcfginclude.sh ... 1587s 14:11:05.678219905 O: ok server config include 1587s 14:11:05.678448188 E: run test allow-deny-users.sh ... 1590s 14:11:08.510783031 O: ok AllowUsers/DenyUsers 1590s 14:11:08.511189356 E: run test authinfo.sh ... 1590s 14:11:08.886899211 O: ExposeAuthInfo=no 1591s 14:11:09.237692219 O: ExposeAuthInfo=yes 1591s 14:11:09.520960367 O: ok authinfo 1591s 14:11:09.521092089 E: run test sshsig.sh ... 1591s 14:11:09.888717930 O: sshsig: make certificates 1592s 14:11:10.066992547 O: sshsig: check signature for ssh-ed25519 1593s 14:11:11.169118344 O: sshsig: check signature for sk-ssh-ed25519@openssh.com 1594s 14:11:12.094979106 O: sshsig: check signature for ecdsa-sha2-nistp256 1594s 14:11:12.782904522 O: sshsig: check signature for ecdsa-sha2-nistp384 1595s 14:11:13.807730906 O: sshsig: check signature for ecdsa-sha2-nistp521 1597s 14:11:15.404355765 O: sshsig: check signature for sk-ecdsa-sha2-nistp256@openssh.com 1597s 14:11:15.945766370 O: sshsig: check signature for ssh-dss 1602s 14:11:19.737556748 O: sshsig: check signature for ssh-rsa 1605s 14:11:23.257414863 O: sshsig: check signature for ssh-ed25519-cert.pub 1606s 14:11:24.590631998 O: sshsig: check signature for sk-ssh-ed25519@openssh.com-cert.pub 1607s 14:11:25.616012863 O: sshsig: check signature for ecdsa-sha2-nistp256-cert.pub 1608s 14:11:26.707863973 O: sshsig: check signature for ecdsa-sha2-nistp384-cert.pub 1610s 14:11:28.111048713 O: sshsig: check signature for ecdsa-sha2-nistp521-cert.pub 1612s 14:11:30.385921542 O: sshsig: check signature for sk-ecdsa-sha2-nistp256@openssh.com-cert.pub 1613s 14:11:31.817284805 O: sshsig: check signature for ssh-dss-cert.pub 1614s 14:11:32.791486356 O: sshsig: check signature for ssh-rsa-cert.pub 1615s 14:11:33.698531733 O: sshsig: match principals 1615s 14:11:33.734460387 O: sshsig: nomatch principals 1615s 14:11:33.756515121 O: ok sshsig 1615s 14:11:33.757532813 E: run test knownhosts.sh ... 1618s 14:11:36.458730991 O: ok known hosts 1618s 14:11:36.458890473 E: run test knownhosts-command.sh ... 1618s 14:11:36.715492631 O: simple connection 1618s 14:11:36.956560530 O: no keys 1619s 14:11:37.365659485 O: bad exit status 1619s 14:11:37.479242955 O: keytype ssh-ed25519 1619s 14:11:37.733318323 O: keytype sk-ssh-ed25519@openssh.com 1620s 14:11:37.997154684 O: keytype ecdsa-sha2-nistp256 1620s 14:11:38.201576920 O: keytype ecdsa-sha2-nistp384 1620s 14:11:38.432260539 O: keytype ecdsa-sha2-nistp521 1620s 14:11:38.719520050 O: keytype sk-ecdsa-sha2-nistp256@openssh.com 1621s 14:11:39.482226041 O: keytype ssh-rsa 1622s 14:11:40.055749252 E: run test agent-restrict.sh ... 1622s 14:11:40.056105216 O: ok known hosts command 1622s 14:11:40.453773519 O: generate keys 1622s 14:11:40.556483863 O: prepare client config 1622s 14:11:40.580206616 O: prepare known_hosts 1622s 14:11:40.598411826 O: prepare server configs 1622s 14:11:40.632340817 O: authentication w/o agent 1624s 14:11:42.937122179 O: start agent 1629s 14:11:47.019446942 O: authentication with agent (no restrict) 1632s 14:11:50.348168936 O: unrestricted keylist 1633s 14:11:51.460519751 O: authentication with agent (basic restrict) 1634s 14:11:52.682819553 O: authentication with agent incorrect key (basic restrict) 1635s 14:11:53.348437501 O: keylist (basic restrict) 1636s 14:11:54.446266108 O: username 1637s 14:11:55.861483211 O: username wildcard 1639s 14:11:57.045551250 O: username incorrect 1639s 14:11:57.276230667 O: agent restriction honours certificate principal 1639s 14:11:57.422853076 O: multihop without agent 1641s 14:11:59.061666432 O: multihop agent unrestricted 1642s 14:12:00.391040824 O: multihop restricted 1644s 14:12:02.730518887 O: multihop username 1646s 14:12:04.511863562 O: multihop wildcard username 1648s 14:12:06.064444040 O: multihop wrong username 1648s 14:12:06.935672753 O: multihop cycle no agent 1651s 14:12:09.173597601 O: multihop cycle agent unrestricted 1653s 14:12:11.122054115 O: multihop cycle restricted deny 1654s 14:12:11.996554143 O: multihop cycle restricted allow 1656s 14:12:14.917473650 O: ok agent restrictions 1656s 14:12:14.917844854 E: run test hostbased.sh ... 1657s 14:12:15.305912121 O: SKIPPED: TEST_SSH_HOSTBASED_AUTH not set. 1657s 14:12:15.306407967 E: run test channel-timeout.sh ... 1657s 14:12:15.545983325 O: no timeout 1663s 14:12:21.272501440 O: command timeout 1663s 14:12:21.924921709 O: command wildcard timeout 1664s 14:12:22.927355605 O: command irrelevant timeout 1670s 14:12:28.225435815 O: sftp no timeout 1675s 14:12:33.817009990 O: sftp timeout 1676s 14:12:34.923114075 E: Connection closed 1676s 14:12:34.926932679 O: sftp irrelevant timeout 1682s 14:12:40.473904207 O: ok channel timeout 1682s 14:12:40.474308012 E: run test connection-timeout.sh ... 1683s 14:12:40.985116567 O: no timeout 1688s 14:12:46.427633282 O: timeout 1696s 14:12:54.729403622 O: session inhibits timeout 1705s 14:13:03.028609787 O: timeout after session 1713s 14:13:11.053942861 O: timeout with listeners 1721s 14:13:19.316521399 O: ok unused connection timeout 1721s 14:13:19.316614960 E: run test match-subsystem.sh ... 1724s 14:13:22.334050065 O: ok sshd_config match subsystem 1724s 14:13:22.334423630 E: run test agent-pkcs11-restrict.sh ... 1724s 14:13:22.704633282 O: SKIPPED: No PKCS#11 library found 1724s 14:13:22.704837165 E: run test agent-pkcs11-cert.sh ... 1725s 14:13:22.978677551 O: SKIPPED: No PKCS#11 library found 1725s 14:13:22.997772810 O: set -e ; if test -z "" ; then \ 1725s 14:13:22.999310908 O: V="" ; \ 1725s 14:13:23.000949446 O: test "x" = "x" || \ 1725s 14:13:23.002664986 O: V=/tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/valgrind-unit.sh ; \ 1725s 14:13:23.004394046 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/sshbuf/test_sshbuf ; \ 1725s 14:13:23.005910103 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/sshkey/test_sshkey \ 1725s 14:13:23.007284959 O: -d /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/sshkey/testdata ; \ 1725s 14:13:23.008842897 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/sshsig/test_sshsig \ 1725s 14:13:23.010919801 O: -d /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/sshsig/testdata ; \ 1725s 14:13:23.013077106 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/authopt/test_authopt \ 1725s 14:13:23.014891887 O: -d /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/authopt/testdata ; \ 1725s 14:13:23.017016191 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/bitmap/test_bitmap ; \ 1725s 14:13:23.018644610 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/conversion/test_conversion ; \ 1725s 14:13:23.020296709 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/kex/test_kex ; \ 1725s 14:13:23.021980608 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/hostkeys/test_hostkeys \ 1725s 14:13:23.023555746 O: -d /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/hostkeys/testdata ; \ 1725s 14:13:23.025415167 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/match/test_match ; \ 1725s 14:13:23.026935305 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/misc/test_misc ; \ 1725s 14:13:23.028529803 O: if test "x" = "xyes" ; then \ 1725s 14:13:23.030117741 O: $V /tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress/unittests/utf8/test_utf8 ; \ 1725s 14:13:23.031650839 O: fi \ 1725s 14:13:23.033340898 O: fi 1746s 14:13:44.509225926 O: test_sshbuf: ...................................................................................................... 103 tests ok 2014s 14:18:12.474740848 O: test_sshkey: ........................................................................................................ 104 tests ok 2014s 14:18:12.512482239 O: test_sshsig: ........ 8 tests ok 2014s 14:18:12.962736738 O: test_authopt: .................................................................................................................................................. 146 tests ok 2030s 14:18:28.463490155 O: test_bitmap: .. 2 tests ok 2030s 14:18:28.477744157 O: test_conversion: . 1 tests ok 2052s 14:18:50.852182660 O: test_kex: ............................................................................................................................................................................................................................................................................................................................................................................................................. 398 tests ok 2053s 14:18:51.209717698 O: test_hostkeys: .................. 18 tests ok 2053s 14:18:51.235180069 O: test_match: ...... 6 tests ok 2053s 14:18:51.280446465 O: test_misc: ........................................... 43 tests ok 2053s 14:18:51.385421423 E: run test putty-transfer.sh ... 2057s 14:18:55.968800221 O: putty transfer data: compression 0 2060s 14:18:57.975657031 O: putty transfer data: compression 1 2061s 14:18:59.738525257 O: ok putty transfer data 2061s 14:18:59.739840832 E: run test putty-ciphers.sh ... 2062s 14:19:00.499863100 O: putty ciphers: cipher aes 2062s 14:19:00.721636549 O: putty ciphers: cipher 3des 2062s 14:19:00.944724374 O: putty ciphers: cipher aes128-ctr 2063s 14:19:01.162831221 O: putty ciphers: cipher aes192-ctr 2063s 14:19:01.390638099 O: putty ciphers: cipher aes256-ctr 2063s 14:19:01.612866194 O: putty ciphers: cipher chacha20 2063s 14:19:01.850368222 O: ok putty ciphers 2063s 14:19:01.850552064 E: run test putty-kex.sh ... 2070s 14:19:08.313343887 O: putty KEX: kex dh-gex-sha1 2070s 14:19:08.491164115 O: putty KEX: kex dh-group1-sha1 2070s 14:19:08.666715197 O: putty KEX: kex dh-group14-sha1 2070s 14:19:08.842009356 O: putty KEX: kex ecdh 2071s 14:19:09.051558546 E: run test conch-ciphers.sh ... 2071s 14:19:09.052788400 O: ok putty KEX 2071s 14:19:09.286393224 O: SKIPPED: conch interop tests requires a controlling terminal 2071s 14:19:09.286538625 E: run test dropbear-ciphers.sh ... 2072s 14:19:10.278571018 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha1 kt id_dss 2072s 14:19:10.543428078 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha1 kt id_ecdsa 2072s 14:19:10.821782332 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha1 kt id_ed25519 2073s 14:19:11.062237434 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha1 kt id_rsa 2073s 14:19:11.323649655 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha2-256 kt id_dss 2073s 14:19:11.563152106 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha2-256 kt id_ecdsa 2073s 14:19:11.857394102 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha2-256 kt id_ed25519 2074s 14:19:12.095305814 O: dropbear ciphers: cipher chacha20-poly1305@openssh.com mac hmac-sha2-256 kt id_rsa 2074s 14:19:12.357517004 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha1 kt id_dss 2074s 14:19:12.598035507 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha1 kt id_ecdsa 2074s 14:19:12.875043226 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha1 kt id_ed25519 2075s 14:19:13.116704141 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha1 kt id_rsa 2075s 14:19:13.396199928 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha2-256 kt id_dss 2075s 14:19:13.653526663 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha2-256 kt id_ecdsa 2075s 14:19:13.931751995 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha2-256 kt id_ed25519 2076s 14:19:14.175107290 O: dropbear ciphers: cipher aes128-ctr mac hmac-sha2-256 kt id_rsa 2076s 14:19:14.491717820 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha1 kt id_dss 2076s 14:19:14.736328770 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha1 kt id_ecdsa 2077s 14:19:15.010712698 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha1 kt id_ed25519 2077s 14:19:15.252673857 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha1 kt id_rsa 2077s 14:19:15.516385064 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha2-256 kt id_dss 2077s 14:19:15.759916761 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha2-256 kt id_ecdsa 2078s 14:19:16.046389227 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha2-256 kt id_ed25519 2078s 14:19:16.289228716 O: dropbear ciphers: cipher aes256-ctr mac hmac-sha2-256 kt id_rsa 2078s 14:19:16.563023198 O: ok dropbear ciphers 2078s 14:19:16.563267321 E: run test dropbear-kex.sh ... 2078s 14:19:16.820289452 O: dropbear kex: kex curve25519-sha256 2079s 14:19:17.090345011 O: dropbear kex: kex curve25519-sha256@libssh.org 2079s 14:19:17.366608281 O: dropbear kex: kex diffie-hellman-group14-sha256 2079s 14:19:17.717542442 O: dropbear kex: kex diffie-hellman-group14-sha1 2080s 14:19:18.088474992 O: ok dropbear kex 2080s 14:19:18.090920500 O: make: Leaving directory '/tmp/autopkgtest.IM0shs/autopkgtest_tmp/user/regress' 2080s 14:19:18.094286018 I: Finished with exitcode 0 2080s Synchronizing state of haveged.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. 2080s Executing: /usr/lib/systemd/systemd-sysv-install disable haveged 2081s Removed "/etc/systemd/system/sysinit.target.wants/haveged.service". 2081s info: Looking for files to backup/remove ... 2081s info: Removing files ... 2081s info: Removing crontab ... 2081s info: Removing user `openssh-tests' ... 2082s autopkgtest [14:19:20]: test regress: -----------------------] 2086s autopkgtest [14:19:24]: test regress: - - - - - - - - - - results - - - - - - - - - - 2086s regress PASS 2089s autopkgtest [14:19:27]: test systemd-socket-activation: preparing testbed 2120s autopkgtest [14:19:58]: testbed dpkg architecture: armhf 2121s autopkgtest [14:19:59]: testbed apt version: 2.7.14build2 2121s autopkgtest [14:19:59]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2129s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [265 kB] 2130s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [17.9 kB] 2130s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [30.8 kB] 2130s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [5468 B] 2130s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [12.4 kB] 2130s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf Packages [73.6 kB] 2130s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf c-n-f Metadata [2492 B] 2130s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf Packages [2776 B] 2130s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf c-n-f Metadata [116 B] 2130s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf Packages [69.5 kB] 2130s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf c-n-f Metadata [7776 B] 2130s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf Packages [764 B] 2130s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf c-n-f Metadata [116 B] 2132s Fetched 489 kB in 1s (515 kB/s) 2132s Reading package lists... 2147s tee: /proc/self/fd/2: Permission denied 2167s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 2167s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 2167s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 2167s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 2169s Reading package lists... 2169s Reading package lists... 2169s Building dependency tree... 2169s Reading state information... 2170s Calculating upgrade... 2170s The following packages will be upgraded: 2170s login passwd 2170s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2170s Need to get 1018 kB of archives. 2170s After this operation, 0 B of additional disk space will be used. 2170s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main armhf login armhf 1:4.13+dfsg1-4ubuntu3.2 [200 kB] 2171s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main armhf passwd armhf 1:4.13+dfsg1-4ubuntu3.2 [818 kB] 2172s Fetched 1018 kB in 1s (1037 kB/s) 2172s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2172s Preparing to unpack .../login_1%3a4.13+dfsg1-4ubuntu3.2_armhf.deb ... 2172s Unpacking login (1:4.13+dfsg1-4ubuntu3.2) over (1:4.13+dfsg1-4ubuntu3) ... 2172s Setting up login (1:4.13+dfsg1-4ubuntu3.2) ... 2172s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2172s Preparing to unpack .../passwd_1%3a4.13+dfsg1-4ubuntu3.2_armhf.deb ... 2172s Unpacking passwd (1:4.13+dfsg1-4ubuntu3.2) over (1:4.13+dfsg1-4ubuntu3) ... 2173s Setting up passwd (1:4.13+dfsg1-4ubuntu3.2) ... 2173s Processing triggers for man-db (2.12.0-4build2) ... 2175s Reading package lists... 2175s Building dependency tree... 2175s Reading state information... 2175s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2178s autopkgtest [14:20:56]: rebooting testbed after setup commands that affected boot 2255s Reading package lists... 2255s Building dependency tree... 2255s Reading state information... 2255s Starting pkgProblemResolver with broken count: 0 2255s Starting 2 pkgProblemResolver with broken count: 0 2255s Done 2256s The following NEW packages will be installed: 2256s autopkgtest-satdep 2256s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2256s Need to get 0 B/724 B of archives. 2256s After this operation, 0 B of additional disk space will be used. 2256s Get:1 /tmp/autopkgtest.IM0shs/2-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [724 B] 2257s Selecting previously unselected package autopkgtest-satdep. 2257s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2257s Preparing to unpack .../2-autopkgtest-satdep.deb ... 2257s Unpacking autopkgtest-satdep (0) ... 2257s Setting up autopkgtest-satdep (0) ... 2269s (Reading database ... 57905 files and directories currently installed.) 2269s Removing autopkgtest-satdep (0) ... 2280s autopkgtest [14:22:38]: test systemd-socket-activation: [----------------------- 2287s Stopping ssh.service... 2287s Checking that ssh.socket is active and listening... 2287s Checking that ssh.service is inactive/dead... 2287s Checking that a connection attempt activates ssh.service... 2287s Warning: Permanently added 'localhost' (ED25519) to the list of known hosts. 2288s Checking that sshd can be re-executed... 2288s Checking sshd can run in debug mode... 2288s debug1: SELinux support disabled 2288s debug1: PAM: reinitializing credentials 2288s debug1: permanently_set_uid: 0/0 2288s debug3: Copy environment: XDG_SESSION_ID=3201 2288s debug3: Copy environment: XDG_RUNTIME_DIR=/run/user/0 2288s debug3: Copy environment: DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus 2288s debug3: Copy environment: XDG_SESSION_TYPE=tty 2288s debug3: Copy environment: XDG_SESSION_CLASS=user 2288s debug3: Copy environment: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 2288s debug3: Copy environment: http_proxy=http://squid.internal:3128 2288s debug3: Copy environment: https_proxy=http://squid.internal:3128 2288s debug3: Copy environment: no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com 2288s debug3: Copy environment: LANG=C.UTF-8 2288s debug3: Normalising mapped IPv4 in IPv6 address 2288s Environment: 2288s LANG=C.UTF-8 2288s USER=root 2288s LOGNAME=root 2288s HOME=/root 2288s PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 2288s SHELL=/bin/bash 2288s XDG_SESSION_ID=3201 2288s XDG_RUNTIME_DIR=/run/user/0 2288s DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus 2288s XDG_SESSION_TYPE=tty 2288s XDG_SESSION_CLASS=user 2288s http_proxy=http://squid.internal:3128 2288s https_proxy=http://squid.internal:3128 2288s no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.c 2288s SSH_CLIENT=127.0.0.1 41032 22 2288s SSH_CONNECTION=127.0.0.1 41032 127.0.0.1 22 2288s Done. 2289s autopkgtest [14:22:47]: test systemd-socket-activation: -----------------------] 2292s autopkgtest [14:22:50]: test systemd-socket-activation: - - - - - - - - - - results - - - - - - - - - - 2292s systemd-socket-activation PASS 2296s autopkgtest [14:22:54]: test sshd-socket-generator: preparing testbed 2305s Reading package lists... 2306s Building dependency tree... 2306s Reading state information... 2306s Starting pkgProblemResolver with broken count: 0 2306s Starting 2 pkgProblemResolver with broken count: 0 2306s Done 2307s The following NEW packages will be installed: 2307s autopkgtest-satdep 2307s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 2307s Need to get 0 B/720 B of archives. 2307s After this operation, 0 B of additional disk space will be used. 2307s Get:1 /tmp/autopkgtest.IM0shs/3-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [720 B] 2307s Selecting previously unselected package autopkgtest-satdep. 2307s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2307s Preparing to unpack .../3-autopkgtest-satdep.deb ... 2307s Unpacking autopkgtest-satdep (0) ... 2307s Setting up autopkgtest-satdep (0) ... 2318s (Reading database ... 57905 files and directories currently installed.) 2318s Removing autopkgtest-satdep (0) ... 2323s autopkgtest [14:23:21]: test sshd-socket-generator: [----------------------- 2326s test_default...PASS 2326s test_custom_port...PASS 2326s test_default_and_custom_port...PASS 2326s test_mutiple_custom_ports...PASS 2326s test_custom_listenaddress...PASS 2326s test_custom_listenaddress_and_port...PASS 2326s test_custom_ipv6_listenaddress...PASS 2326s autopkgtest [14:23:24]: test sshd-socket-generator: -----------------------] 2330s autopkgtest [14:23:28]: test sshd-socket-generator: - - - - - - - - - - results - - - - - - - - - - 2330s sshd-socket-generator PASS 2333s autopkgtest [14:23:31]: test ssh-gssapi: preparing testbed 2361s autopkgtest [14:23:59]: testbed dpkg architecture: armhf 2363s autopkgtest [14:24:01]: testbed apt version: 2.7.14build2 2363s autopkgtest [14:24:01]: @@@@@@@@@@@@@@@@@@@@ test bed setup 2371s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [265 kB] 2371s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [5468 B] 2371s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [17.9 kB] 2371s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [30.8 kB] 2371s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [12.4 kB] 2371s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf Packages [73.6 kB] 2371s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf c-n-f Metadata [2492 B] 2371s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf Packages [2776 B] 2371s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf c-n-f Metadata [116 B] 2371s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf Packages [69.5 kB] 2371s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf c-n-f Metadata [7776 B] 2371s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf Packages [764 B] 2371s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf c-n-f Metadata [116 B] 2373s Fetched 489 kB in 1s (546 kB/s) 2373s Reading package lists... 2388s tee: /proc/self/fd/2: Permission denied 2405s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 2405s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 2406s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 2406s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 2407s Reading package lists... 2407s Reading package lists... 2407s Building dependency tree... 2407s Reading state information... 2408s Calculating upgrade... 2408s The following packages will be upgraded: 2408s login passwd 2408s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2408s Need to get 1018 kB of archives. 2408s After this operation, 0 B of additional disk space will be used. 2408s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main armhf login armhf 1:4.13+dfsg1-4ubuntu3.2 [200 kB] 2409s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main armhf passwd armhf 1:4.13+dfsg1-4ubuntu3.2 [818 kB] 2410s Fetched 1018 kB in 1s (1033 kB/s) 2410s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2410s Preparing to unpack .../login_1%3a4.13+dfsg1-4ubuntu3.2_armhf.deb ... 2410s Unpacking login (1:4.13+dfsg1-4ubuntu3.2) over (1:4.13+dfsg1-4ubuntu3) ... 2410s Setting up login (1:4.13+dfsg1-4ubuntu3.2) ... 2410s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2410s Preparing to unpack .../passwd_1%3a4.13+dfsg1-4ubuntu3.2_armhf.deb ... 2410s Unpacking passwd (1:4.13+dfsg1-4ubuntu3.2) over (1:4.13+dfsg1-4ubuntu3) ... 2410s Setting up passwd (1:4.13+dfsg1-4ubuntu3.2) ... 2410s Processing triggers for man-db (2.12.0-4build2) ... 2412s Reading package lists... 2412s Building dependency tree... 2412s Reading state information... 2413s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 2415s autopkgtest [14:24:53]: rebooting testbed after setup commands that affected boot 2504s Reading package lists... 2505s Building dependency tree... 2505s Reading state information... 2505s Starting pkgProblemResolver with broken count: 0 2505s Starting 2 pkgProblemResolver with broken count: 0 2505s Done 2506s The following additional packages will be installed: 2506s krb5-admin-server krb5-config krb5-kdc krb5-user libevent-2.1-7t64 2506s libgssrpc4t64 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 2506s libverto-libevent1t64 libverto1t64 2506s Suggested packages: 2506s krb5-kdc-ldap krb5-kpropd krb5-k5tls krb5-doc 2506s The following NEW packages will be installed: 2506s autopkgtest-satdep krb5-admin-server krb5-config krb5-kdc krb5-user 2506s libevent-2.1-7t64 libgssrpc4t64 libkadm5clnt-mit12 libkadm5srv-mit12 2506s libkdb5-10t64 libverto-libevent1t64 libverto1t64 2506s 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. 2506s Need to get 704 kB/704 kB of archives. 2506s After this operation, 1988 kB of additional disk space will be used. 2506s Get:1 /tmp/autopkgtest.IM0shs/4-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [728 B] 2506s Get:2 http://ftpmaster.internal/ubuntu noble/main armhf krb5-config all 2.7 [22.0 kB] 2506s Get:3 http://ftpmaster.internal/ubuntu noble/main armhf libgssrpc4t64 armhf 1.20.1-6ubuntu2 [51.5 kB] 2506s Get:4 http://ftpmaster.internal/ubuntu noble/main armhf libkadm5clnt-mit12 armhf 1.20.1-6ubuntu2 [35.3 kB] 2506s Get:5 http://ftpmaster.internal/ubuntu noble/main armhf libkdb5-10t64 armhf 1.20.1-6ubuntu2 [35.0 kB] 2506s Get:6 http://ftpmaster.internal/ubuntu noble/main armhf libkadm5srv-mit12 armhf 1.20.1-6ubuntu2 [45.7 kB] 2506s Get:7 http://ftpmaster.internal/ubuntu noble/universe armhf krb5-user armhf 1.20.1-6ubuntu2 [110 kB] 2506s Get:8 http://ftpmaster.internal/ubuntu noble/main armhf libevent-2.1-7t64 armhf 2.1.12-stable-9ubuntu2 [127 kB] 2507s Get:9 http://ftpmaster.internal/ubuntu noble/main armhf libverto1t64 armhf 0.3.1-1.2ubuntu3 [9364 B] 2507s Get:10 http://ftpmaster.internal/ubuntu noble/main armhf libverto-libevent1t64 armhf 0.3.1-1.2ubuntu3 [6324 B] 2507s Get:11 http://ftpmaster.internal/ubuntu noble/universe armhf krb5-kdc armhf 1.20.1-6ubuntu2 [170 kB] 2507s Get:12 http://ftpmaster.internal/ubuntu noble/universe armhf krb5-admin-server armhf 1.20.1-6ubuntu2 [91.1 kB] 2507s Preconfiguring packages ... 2507s Fetched 704 kB in 1s (851 kB/s) 2507s Selecting previously unselected package krb5-config. 2508s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 57905 files and directories currently installed.) 2508s Preparing to unpack .../00-krb5-config_2.7_all.deb ... 2508s Unpacking krb5-config (2.7) ... 2508s Selecting previously unselected package libgssrpc4t64:armhf. 2508s Preparing to unpack .../01-libgssrpc4t64_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking libgssrpc4t64:armhf (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package libkadm5clnt-mit12:armhf. 2508s Preparing to unpack .../02-libkadm5clnt-mit12_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking libkadm5clnt-mit12:armhf (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package libkdb5-10t64:armhf. 2508s Preparing to unpack .../03-libkdb5-10t64_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking libkdb5-10t64:armhf (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package libkadm5srv-mit12:armhf. 2508s Preparing to unpack .../04-libkadm5srv-mit12_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking libkadm5srv-mit12:armhf (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package krb5-user. 2508s Preparing to unpack .../05-krb5-user_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking krb5-user (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package libevent-2.1-7t64:armhf. 2508s Preparing to unpack .../06-libevent-2.1-7t64_2.1.12-stable-9ubuntu2_armhf.deb ... 2508s Unpacking libevent-2.1-7t64:armhf (2.1.12-stable-9ubuntu2) ... 2508s Selecting previously unselected package libverto1t64:armhf. 2508s Preparing to unpack .../07-libverto1t64_0.3.1-1.2ubuntu3_armhf.deb ... 2508s Unpacking libverto1t64:armhf (0.3.1-1.2ubuntu3) ... 2508s Selecting previously unselected package libverto-libevent1t64:armhf. 2508s Preparing to unpack .../08-libverto-libevent1t64_0.3.1-1.2ubuntu3_armhf.deb ... 2508s Unpacking libverto-libevent1t64:armhf (0.3.1-1.2ubuntu3) ... 2508s Selecting previously unselected package krb5-kdc. 2508s Preparing to unpack .../09-krb5-kdc_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking krb5-kdc (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package krb5-admin-server. 2508s Preparing to unpack .../10-krb5-admin-server_1.20.1-6ubuntu2_armhf.deb ... 2508s Unpacking krb5-admin-server (1.20.1-6ubuntu2) ... 2508s Selecting previously unselected package autopkgtest-satdep. 2508s Preparing to unpack .../11-4-autopkgtest-satdep.deb ... 2508s Unpacking autopkgtest-satdep (0) ... 2508s Setting up libevent-2.1-7t64:armhf (2.1.12-stable-9ubuntu2) ... 2508s Setting up libgssrpc4t64:armhf (1.20.1-6ubuntu2) ... 2508s Setting up krb5-config (2.7) ... 2508s Setting up libkadm5clnt-mit12:armhf (1.20.1-6ubuntu2) ... 2508s Setting up libkdb5-10t64:armhf (1.20.1-6ubuntu2) ... 2508s Setting up libkadm5srv-mit12:armhf (1.20.1-6ubuntu2) ... 2508s Setting up krb5-user (1.20.1-6ubuntu2) ... 2508s update-alternatives: using /usr/bin/kinit.mit to provide /usr/bin/kinit (kinit) in auto mode 2508s update-alternatives: using /usr/bin/klist.mit to provide /usr/bin/klist (klist) in auto mode 2508s update-alternatives: using /usr/bin/kswitch.mit to provide /usr/bin/kswitch (kswitch) in auto mode 2508s update-alternatives: using /usr/bin/ksu.mit to provide /usr/bin/ksu (ksu) in auto mode 2508s update-alternatives: using /usr/bin/kpasswd.mit to provide /usr/bin/kpasswd (kpasswd) in auto mode 2508s update-alternatives: using /usr/bin/kdestroy.mit to provide /usr/bin/kdestroy (kdestroy) in auto mode 2508s update-alternatives: using /usr/bin/kadmin.mit to provide /usr/bin/kadmin (kadmin) in auto mode 2508s update-alternatives: using /usr/bin/ktutil.mit to provide /usr/bin/ktutil (ktutil) in auto mode 2508s Setting up libverto1t64:armhf (0.3.1-1.2ubuntu3) ... 2508s Setting up libverto-libevent1t64:armhf (0.3.1-1.2ubuntu3) ... 2508s Setting up krb5-kdc (1.20.1-6ubuntu2) ... 2509s Created symlink /etc/systemd/system/multi-user.target.wants/krb5-kdc.service → /usr/lib/systemd/system/krb5-kdc.service. 2509s Could not execute systemctl: at /usr/bin/deb-systemd-invoke line 148. 2509s Setting up krb5-admin-server (1.20.1-6ubuntu2) ... 2510s Created symlink /etc/systemd/system/multi-user.target.wants/krb5-admin-server.service → /usr/lib/systemd/system/krb5-admin-server.service. 2510s Setting up autopkgtest-satdep (0) ... 2510s Processing triggers for libc-bin (2.39-0ubuntu8.2) ... 2510s Processing triggers for man-db (2.12.0-4build2) ... 2522s (Reading database ... 58018 files and directories currently installed.) 2522s Removing autopkgtest-satdep (0) ... 2534s autopkgtest [14:26:52]: test ssh-gssapi: [----------------------- 2538s ## Setting up test environment 2538s ## Creating Kerberos realm EXAMPLE.FAKE 2538s Initializing database '/var/lib/krb5kdc/principal' for realm 'EXAMPLE.FAKE', 2538s master key name 'K/M@EXAMPLE.FAKE' 2538s ## Creating principals 2538s Authenticating as principal root/admin@EXAMPLE.FAKE with password. 2538s Principal "testuser1111@EXAMPLE.FAKE" created. 2538s Authenticating as principal root/admin@EXAMPLE.FAKE with password. 2538s Principal "host/sshd-gssapi.example.fake@EXAMPLE.FAKE" created. 2538s ## Extracting service principal host/sshd-gssapi.example.fake 2538s Authenticating as principal root/admin@EXAMPLE.FAKE with password. 2538s Entry for principal host/sshd-gssapi.example.fake with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. 2538s Entry for principal host/sshd-gssapi.example.fake with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. 2538s ## Adjusting /etc/krb5.conf 2538s ## TESTS 2538s 2538s ## TEST test_gssapi_login 2538s ## Configuring sshd for gssapi-with-mic authentication 2538s ## Restarting ssh 2539s ## Obtaining TGT 2539s Password for testuser1111@EXAMPLE.FAKE: 2539s Ticket cache: FILE:/tmp/krb5cc_0 2539s Default principal: testuser1111@EXAMPLE.FAKE 2539s 2539s Valid starting Expires Service principal 2539s 06/17/24 14:26:57 06/18/24 00:26:57 krbtgt/EXAMPLE.FAKE@EXAMPLE.FAKE 2539s renew until 06/18/24 14:26:57 2539s 2539s ## ssh'ing into localhost using gssapi-with-mic auth 2539s Warning: Permanently added 'sshd-gssapi.example.fake' (ED25519) to the list of known hosts. 2539s Mon Jun 17 14:26:57 UTC 2024 2539s 2539s ## checking that we got a service ticket for ssh (host/) 2539s 06/17/24 14:26:57 06/18/24 00:26:57 host/sshd-gssapi.example.fake@ 2539s Ticket server: host/sshd-gssapi.example.fake@EXAMPLE.FAKE 2539s 2539s ## Checking ssh logs to confirm gssapi-with-mic auth was used 2539s Jun 17 14:26:57 sshd-gssapi.example.fake sshd[1181]: Accepted gssapi-with-mic for testuser1111 from 127.0.0.1 port 46100 ssh2: testuser1111@EXAMPLE.FAKE 2539s ## PASS test_gssapi_login 2539s 2539s ## TEST test_gssapi_keyex_login 2539s ## Configuring sshd for gssapi-keyex authentication 2539s ## Restarting ssh 2539s ## Obtaining TGT 2539s Password for testuser1111@EXAMPLE.FAKE: 2539s Ticket cache: FILE:/tmp/krb5cc_0 2539s Default principal: testuser1111@EXAMPLE.FAKE 2539s 2539s Valid starting Expires Service principal 2539s 06/17/24 14:26:57 06/18/24 00:26:57 krbtgt/EXAMPLE.FAKE@EXAMPLE.FAKE 2539s renew until 06/18/24 14:26:57 2539s 2539s ## ssh'ing into localhost using gssapi-keyex auth 2540s Mon Jun 17 14:26:58 UTC 2024 2540s 2540s ## checking that we got a service ticket for ssh (host/) 2540s 06/17/24 14:26:57 06/18/24 00:26:57 host/sshd-gssapi.example.fake@ 2540s Ticket server: host/sshd-gssapi.example.fake@EXAMPLE.FAKE 2540s 2540s ## Checking ssh logs to confirm gssapi-keyex auth was used 2540s Jun 17 14:26:57 sshd-gssapi.example.fake sshd[1227]: Accepted gssapi-keyex for testuser1111 from 127.0.0.1 port 46116 ssh2: testuser1111@EXAMPLE.FAKE 2540s ## PASS test_gssapi_keyex_login 2540s 2540s ## ALL TESTS PASSED 2540s ## Cleaning up 2540s autopkgtest [14:26:58]: test ssh-gssapi: -----------------------] 2544s autopkgtest [14:27:02]: test ssh-gssapi: - - - - - - - - - - results - - - - - - - - - - 2544s ssh-gssapi PASS 2548s autopkgtest [14:27:06]: @@@@@@@@@@@@@@@@@@@@ summary 2548s regress PASS 2548s systemd-socket-activation PASS 2548s sshd-socket-generator PASS 2548s ssh-gssapi PASS