Diff of the two buildlogs:

--
--- b1/build.log	2025-03-21 22:15:30.618881700 +0000
+++ b2/build.log	2025-03-21 22:34:37.727626139 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Fri Mar 21 09:50:32 -12 2025
-I: pbuilder-time-stamp: 1742593832
+I: Current time: Sat Mar 22 12:15:39 +14 2025
+I: pbuilder-time-stamp: 1742595339
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -22,52 +22,84 @@
 dpkg-source: info: unpacking pwdsphinx_2.0.3-1.debian.tar.xz
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/16575/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/D01_modify_environment starting
+debug: Running on virt32b.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Mar 21 22:15 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='armhf'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=5 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='armhf'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=armhf
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=arm
+  HOST_ARCH=armhf
   IFS=' 	
   '
-  INVOCATION_ID='1d583dc76840461bad7c979a050b92a8'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='16575'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=d719ed17612b416f99c2f640902e0ff2
+  LANG=C
+  LANGUAGE=it_CH:it
+  LC_ALL=C
+  MACHTYPE=arm-unknown-linux-gnueabihf
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnueabihf
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=19558
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.RLyFsg9K/pbuilderrc_3F3w --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.RLyFsg9K/b1 --logfile b1/build.log pwdsphinx_2.0.3-1.dsc'
-  SUDO_GID='114'
-  SUDO_UID='109'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://10.0.0.15:3142/'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.RLyFsg9K/pbuilderrc_U9yo --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.RLyFsg9K/b2 --logfile b2/build.log pwdsphinx_2.0.3-1.dsc'
+  SUDO_GID=112
+  SUDO_UID=106
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://10.0.0.15:3142/
 I: uname -a
-  Linux ff64a 6.1.0-32-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-32-armmp-lpae #1 SMP Debian 6.1.129-1 (2025-03-06) armv7l GNU/Linux
 I: ls -l /bin
   lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/16575/tmp/hooks/D02_print_environment finished
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -80,7 +112,7 @@
 Depends: debhelper-compat (= 13), dh-exec, dh-python, python3-setuptools, python3-all, python3-pyoprf (>= 0.6.0), python3-qrcodegen, python3-securestring, python3-pyequihash, pandoc
 dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
 Selecting previously unselected package pbuilder-satisfydepends-dummy.
-(Reading database ... 19530 files and directories currently installed.)
+(Reading database ... 19532 files and directories currently installed.)
 Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
 Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
 dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
@@ -192,15 +224,15 @@
 Get: 69 http://deb.debian.org/debian unstable/main armhf python3-securestring armhf 0.2-3+b2 [4868 B]
 Get: 70 http://deb.debian.org/debian unstable/main armhf python3-pyoprf all 0.7.1-1 [17.9 kB]
 Get: 71 http://deb.debian.org/debian unstable/main armhf python3-qrcodegen all 1.8.0-1.2 [15.6 kB]
-Fetched 61.0 MB in 2s (30.2 MB/s)
+Fetched 61.0 MB in 1s (60.4 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package libsodium23:armhf.
-(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 ... 19530 files and directories currently installed.)
+(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 ... 19532 files and directories currently installed.)
 Preparing to unpack .../libsodium23_1.0.18-1+b2_armhf.deb ...
 Unpacking libsodium23:armhf (1.0.18-1+b2) ...
 Setting up libsodium23:armhf (1.0.18-1+b2) ...
 Selecting previously unselected package libequihash0:armhf.
-(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 ... 19540 files and directories currently installed.)
+(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 ... 19542 files and directories currently installed.)
 Preparing to unpack .../libequihash0_1.0.10-2_armhf.deb ...
 Unpacking libequihash0:armhf (1.0.10-2) ...
 Selecting previously unselected package libpython3.13-minimal:armhf.
@@ -216,7 +248,7 @@
 Setting up libexpat1:armhf (2.7.0-1) ...
 Setting up python3.13-minimal (3.13.2-2) ...
 Selecting previously unselected package python3-minimal.
-(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 ... 19879 files and directories currently installed.)
+(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 ... 19881 files and directories currently installed.)
 Preparing to unpack .../0-python3-minimal_3.13.2-2_armhf.deb ...
 Unpacking python3-minimal (3.13.2-2) ...
 Selecting previously unselected package media-types.
@@ -252,7 +284,7 @@
 Unpacking libpython3-stdlib:armhf (3.13.2-2) ...
 Setting up python3-minimal (3.13.2-2) ...
 Selecting previously unselected package python3.
-(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 ... 20889 files and directories currently installed.)
+(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 ... 20891 files and directories currently installed.)
 Preparing to unpack .../00-python3_3.13.2-2_armhf.deb ...
 Unpacking python3 (3.13.2-2) ...
 Selecting previously unselected package sensible-utils.
@@ -437,8 +469,8 @@
 Setting up tzdata (2025a-2) ...
 
 Current default time zone: 'Etc/UTC'
-Local time is now:      Fri Mar 21 21:52:08 UTC 2025.
-Universal Time is now:  Fri Mar 21 21:52:08 UTC 2025.
+Local time is now:      Fri Mar 21 22:16:22 UTC 2025.
+Universal Time is now:  Fri Mar 21 22:16:22 UTC 2025.
 Run 'dpkg-reconfigure tzdata' if you wish to change it.
 
 Setting up autotools-dev (20220109.1) ...
@@ -504,7 +536,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/pwdsphinx-2.0.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../pwdsphinx_2.0.3-1_source.changes
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/pwdsphinx-2.0.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../pwdsphinx_2.0.3-1_source.changes
 dpkg-buildpackage: info: source package pwdsphinx
 dpkg-buildpackage: info: source version 2.0.3-1
 dpkg-buildpackage: info: source distribution unstable
@@ -568,25 +604,25 @@
 make[1]: Leaving directory '/build/reproducible-path/pwdsphinx-2.0.3/man'
 running build_py
 creating /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/utils.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/converter.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
 copying pwdsphinx/config.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/oracle.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/ostore.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/consts.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
 copying pwdsphinx/ext.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/v1sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/utils.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/consts.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
 copying pwdsphinx/__init__.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/bin2pass.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
-copying pwdsphinx/converter.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
 copying pwdsphinx/websphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/oracle.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/bin2pass.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/v1sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
+copying pwdsphinx/ostore.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx
 creating /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
-copying pwdsphinx/converters/minisig.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
-copying pwdsphinx/converters/raw.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
-copying pwdsphinx/converters/totp.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
-copying pwdsphinx/converters/__init__.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
 copying pwdsphinx/converters/sphage.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
+copying pwdsphinx/converters/__init__.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
+copying pwdsphinx/converters/raw.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
+copying pwdsphinx/converters/minisig.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
 copying pwdsphinx/converters/ssh-ed25519.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
+copying pwdsphinx/converters/totp.py -> /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters
    debian/rules override_dh_auto_test
 make[1]: Entering directory '/build/reproducible-path/pwdsphinx-2.0.3'
 # ignore all errors in tests
@@ -594,815 +630,1062 @@
 	pybuild --test -i python{version} -p 3.13
 I: pybuild pybuild:308: cp tests/cert.pem tests/key.pem tests/sphinx.cfg tests/start-servers.sh /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build; mkdir -p /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data; cp tests/data/masterkey /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data; mkdir -p data
 I: pybuild base:311: cd /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build; python3.13 -m unittest discover -v 
-test_auth (tests.test.TestEndToEnd.test_auth) ... ERROR
-test_change (tests.test.TestEndToEnd.test_change) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf6b49808>
-ERROR
-test_get_nonexistant_record (tests.test.TestEndToEnd.test_get_nonexistant_record) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ceb28>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 51742)>
-  if method() is not None:
-ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 53746)>
-  if method() is not None:
-ResourceWarning: Enable tracemalloc to get the object allocation traceback
+test_auth (tests.test.TestEndToEnd.test_auth) ... ok
+test_main_delete (tests.test.TestEndToEnd.test_main_delete) ... ok
+test_create_user_xormask (tests.test.TestEndToEnd.test_create_user_xormask) ... ok
+test_predefined_pwd (tests.test.TestEndToEnd.test_predefined_pwd) ... ok
+test_corrupted_dkg (tests.test.TestEndToEnd.test_corrupted_dkg) ... ok
+test_ostore_unlock (tests.test.TestEndToEnd.test_ostore_unlock) ... ok
+test_invalid_rules (tests.test.TestEndToEnd.test_invalid_rules) ... ok
+test_main_inv_params (tests.test.TestEndToEnd.test_main_inv_params) ... ok
+test_change (tests.test.TestEndToEnd.test_change) ... ERROR
+test_delete_inv_mpwd (tests.test.TestEndToEnd.test_delete_inv_mpwd) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ca4728>
 ok
-test_change_xormask (tests.test.TestEndToEnd.test_change_xormask) ... ERROR
-test_delete_inv_mpwd (tests.test.TestEndToEnd.test_delete_inv_mpwd) ... ERROR
 test_ostore_changepwd (tests.test.TestEndToEnd.test_ostore_changepwd) ... ok
-test_main_create (tests.test.TestEndToEnd.test_main_create) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56c4568>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56c47a8>
-ok
-test_commit_undo (tests.test.TestEndToEnd.test_commit_undo) ... ok
-test_huge_user (tests.test.TestEndToEnd.test_huge_user) ... ERROR
-test_commit_undo_inv_mpwd (tests.test.TestEndToEnd.test_commit_undo_inv_mpwd) ... ERROR
-test_ostore_replace (tests.test.TestEndToEnd.test_ostore_replace) ... ok
-test_ostore_read_invpwd (tests.test.TestEndToEnd.test_ostore_read_invpwd) ... ok
-test_corrupted_dkg (tests.test.TestEndToEnd.test_corrupted_dkg) ... ok
+test_main_get (tests.test.TestEndToEnd.test_main_get) ... ok
+test_delete (tests.test.TestEndToEnd.test_delete) ... ok
+test_main_create (tests.test.TestEndToEnd.test_main_create) ... ok
+test_predefined_raw (tests.test.TestEndToEnd.test_predefined_raw) ... ERROR
 test_create_user (tests.test.TestEndToEnd.test_create_user) ... ERROR
-test_get_nonexistant_host (tests.test.TestEndToEnd.test_get_nonexistant_host) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56c4e88>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56c4ba8>
-exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf56dda08>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 46144)>
-  if method() is not None:
-ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 48648)>
-  if method() is not None:
-ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_invalid_rules (tests.test.TestEndToEnd.test_invalid_rules) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 57570)>
-  if method() is not None:
+test_userblob_auth_create (tests.test.TestEndToEnd.test_userblob_auth_create) ... ok
+test_rules_u (tests.test.TestEndToEnd.test_rules_u) ... ERROR
+test_ostore_replace_invpwd (tests.test.TestEndToEnd.test_ostore_replace_invpwd) ... ok
+test_ostore_replace (tests.test.TestEndToEnd.test_ostore_replace) ... ok
+test_ostore_recoverytokens (tests.test.TestEndToEnd.test_ostore_recoverytokens) ... ok
+test_v1users (tests.test.TestEndToEnd.test_v1users) ... ERROR
+test_rules_l (tests.test.TestEndToEnd.test_rules_l) ... ERROR
+test_change_xormask (tests.test.TestEndToEnd.test_change_xormask) ... ERROR
+test_get_nonexistant_host (tests.test.TestEndToEnd.test_get_nonexistant_host) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ccf688>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ccf248>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ccf9a8>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ccfd28>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ccfca8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5465028>
+/usr/lib/python3.13/threading.py:869: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 59650)>
+  def __init__(self, group=None, target=None, name=None,
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 46154)>
-  if method() is not None:
+/usr/lib/python3.13/threading.py:869: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 44790)>
+  def __init__(self, group=None, target=None, name=None,
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 48660)>
-  if method() is not None:
+/usr/lib/python3.13/threading.py:869: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=2, type=1, proto=0, laddr=('127.0.0.1', 46760)>
+  def __init__(self, group=None, target=None, name=None,
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_rules_u (tests.test.TestEndToEnd.test_rules_u) ... ERROR
-test_rules_l (tests.test.TestEndToEnd.test_rules_l) ... ERROR
-test_get (tests.test.TestEndToEnd.test_get) ... ERROR
-test_delete (tests.test.TestEndToEnd.test_delete) ... ERROR
-test_v1get (tests.test.TestEndToEnd.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56ddd48>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf56ddfc8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56fd308>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56fd2e8>
-ERROR
-test_double_commit (tests.test.TestEndToEnd.test_double_commit) ... ERROR
-test_rules_d (tests.test.TestEndToEnd.test_rules_d) ... ERROR
-test_ostore_read (tests.test.TestEndToEnd.test_ostore_read) ... ok
-test_main_get (tests.test.TestEndToEnd.test_main_get) ... ERROR
-test_ostore_unlock (tests.test.TestEndToEnd.test_ostore_unlock) ... ok
-test_create_user_xormask (tests.test.TestEndToEnd.test_create_user_xormask) ... /usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 40724)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:869: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 54646)>
+  def __init__(self, group=None, target=None, name=None,
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 37548)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:869: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 35236)>
+  def __init__(self, group=None, target=None, name=None,
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=2, type=1, proto=0, laddr=('127.0.0.1', 60518)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:869: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 60368)>
+  def __init__(self, group=None, target=None, name=None,
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 35062)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/copyreg.py:107: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 59650)>
+  def _slotnames(cls):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 58526)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/copyreg.py:107: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 44790)>
+  def _slotnames(cls):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 54056)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/copyreg.py:107: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=2, type=1, proto=0, laddr=('127.0.0.1', 46760)>
+  def _slotnames(cls):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 34330)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/copyreg.py:107: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 54646)>
+  def _slotnames(cls):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 54080), raddr=('127.0.0.1', 10000)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/copyreg.py:107: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 35236)>
+  def _slotnames(cls):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 34338), raddr=('127.0.0.1', 10001)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/copyreg.py:107: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 60368)>
+  def _slotnames(cls):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 60794), raddr=('127.0.0.1', 10002)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 35286)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 34346)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 54684)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=15, family=2, type=1, proto=0, laddr=('127.0.0.1', 60796)>
-  return compile(source, filename, mode, flags,
+ok
+test_commit_undo (tests.test.TestEndToEnd.test_commit_undo) ... ERROR
+test_commit_undo_inv_mpwd (tests.test.TestEndToEnd.test_commit_undo_inv_mpwd) ... ERROR
+test_huge_user (tests.test.TestEndToEnd.test_huge_user) ... /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py:204: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 32832)>
+  with connect() as s:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 44156)>
-  return compile(source, filename, mode, flags,
+ERROR
+test_get (tests.test.TestEndToEnd.test_get) ... ERROR
+test_double_commit (tests.test.TestEndToEnd.test_double_commit) ... ERROR
+test_list_users_diff_mpwd (tests.test.TestEndToEnd.test_list_users_diff_mpwd) ... ERROR
+test_get_nonexistant_record (tests.test.TestEndToEnd.test_get_nonexistant_record) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ccf348>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ca0de8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ca0d28>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ca08a8>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ca0768>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ca0628>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 37800)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=16, family=2, type=1, proto=0, laddr=('127.0.0.1', 47088)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 55618)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=17, family=2, type=1, proto=0, laddr=('127.0.0.1', 44304)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 44234)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_rules_ulsd (tests.test.TestEndToEnd.test_rules_ulsd) ... ERROR
+test_list_users (tests.test.TestEndToEnd.test_list_users) ... ERROR
+test_main_change_commit_undo (tests.test.TestEndToEnd.test_main_change_commit_undo) ... ERROR
+test_ostore_erase_invpwd (tests.test.TestEndToEnd.test_ostore_erase_invpwd) ... ok
+test_ostore_read (tests.test.TestEndToEnd.test_ostore_read) ... ok
+test_pwd_len (tests.test.TestEndToEnd.test_pwd_len) ... ERROR
+test_rules_d (tests.test.TestEndToEnd.test_rules_d) ... ERROR
+test_ostore_edit (tests.test.TestEndToEnd.test_ostore_edit) ... ok
+test_v1get (tests.test.TestEndToEnd.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ca0608>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5c95fe8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5465588>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5465ee8>
 ERROR
 test_ostore_erase (tests.test.TestEndToEnd.test_ostore_erase) ... ok
-test_ostore_erase_invpwd (tests.test.TestEndToEnd.test_ostore_erase_invpwd) ... ok
-test_ostore_replace_invpwd (tests.test.TestEndToEnd.test_ostore_replace_invpwd) ... ok
+test_ostore_read_invpwd (tests.test.TestEndToEnd.test_ostore_read_invpwd) ... ok
 test_ostore_recoverytokens_invpwd (tests.test.TestEndToEnd.test_ostore_recoverytokens_invpwd) ... ok
-test_v1users (tests.test.TestEndToEnd.test_v1users) ... ERROR
 test_recreate_user (tests.test.TestEndToEnd.test_recreate_user) ... ERROR
-test_list_users (tests.test.TestEndToEnd.test_list_users) ... ERROR
-test_list_users_diff_mpwd (tests.test.TestEndToEnd.test_list_users_diff_mpwd) ... ERROR
-test_main_inv_params (tests.test.TestEndToEnd.test_main_inv_params) ... ok
-test_main_change_commit_undo (tests.test.TestEndToEnd.test_main_change_commit_undo) ... ERROR
-test_predefined_raw (tests.test.TestEndToEnd.test_predefined_raw) ... ERROR
-test_ostore_edit (tests.test.TestEndToEnd.test_ostore_edit) ... ok
-test_main_delete (tests.test.TestEndToEnd.test_main_delete) ... ERROR
-test_predefined_pwd (tests.test.TestEndToEnd.test_predefined_pwd) ... ERROR
-test_pwd_len (tests.test.TestEndToEnd.test_pwd_len) ... ERROR
-test_ostore_recoverytokens (tests.test.TestEndToEnd.test_ostore_recoverytokens) ... ok
-test_rules_ulsd (tests.test.TestEndToEnd.test_rules_ulsd) ... ERROR
 test_ostore_store (tests.test.TestEndToEnd.test_ostore_store) ... ok
-test_userblob_auth_create (tests.test.TestEndToEnd.test_userblob_auth_create) ... ERROR
-test_auth (tests.test.TestEndToEndNoRWD_Keys.test_auth) ... ERROR
+test_commit_undo (tests.test.TestEndToEndNoRWD_Keys.test_commit_undo) ... exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb541a688>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541ab48>
+ERROR
 test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_commit_undo_inv_mpwd) ... ok
-test_change (tests.test.TestEndToEndNoRWD_Keys.test_change) ... ERROR
-test_create_user (tests.test.TestEndToEndNoRWD_Keys.test_create_user) ... ok
-test_delete_inv_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_delete_inv_mpwd) ... ok
-test_change_xormask (tests.test.TestEndToEndNoRWD_Keys.test_change_xormask) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56fdcc8>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf56fdfc8>
-exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf56851a8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5685228>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56fdca8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56fd4c8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56fd268>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56fd308>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56ddd28>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56dda28>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf56ddde8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56c4a08>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56c46a8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ce908>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ced48>
+test_corrupted_dkg (tests.test.TestEndToEndNoRWD_Keys.test_corrupted_dkg) ... ok
+test_get_nonexistant_record (tests.test.TestEndToEndNoRWD_Keys.test_get_nonexistant_record) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e728>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=27, family=2, type=1, proto=0, laddr=('127.0.0.1', 40672)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 44674)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_list_users (tests.test.TestEndToEndNoRWD_Keys.test_list_users) ... ok
+test_change_xormask (tests.test.TestEndToEndNoRWD_Keys.test_change_xormask) ... ERROR
+test_double_commit (tests.test.TestEndToEndNoRWD_Keys.test_double_commit) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541eb28>
 ERROR
-test_ostore_read (tests.test.TestEndToEndNoRWD_Keys.test_ostore_read) ... ok
-test_commit_undo (tests.test.TestEndToEndNoRWD_Keys.test_commit_undo) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68c5288>
+test_change (tests.test.TestEndToEndNoRWD_Keys.test_change) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541efe8>
+ERROR
+test_predefined_raw (tests.test.TestEndToEndNoRWD_Keys.test_predefined_raw) ... ERROR
+test_ostore_erase (tests.test.TestEndToEndNoRWD_Keys.test_ostore_erase) ... ok
+test_rules_ulsd (tests.test.TestEndToEndNoRWD_Keys.test_rules_ulsd) ... ok
+test_main_delete (tests.test.TestEndToEndNoRWD_Keys.test_main_delete) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb54276c8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5427628>
 ok
-test_ostore_unlock (tests.test.TestEndToEndNoRWD_Keys.test_ostore_unlock) ... ok
-test_delete (tests.test.TestEndToEndNoRWD_Keys.test_delete) ... ERROR
-test_list_users_diff_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_list_users_diff_mpwd) ... ERROR
-test_double_commit (tests.test.TestEndToEndNoRWD_Keys.test_double_commit) ... ERROR
-test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_recoverytokens_invpwd) ... ok
-test_corrupted_dkg (tests.test.TestEndToEndNoRWD_Keys.test_corrupted_dkg) ... ok
-test_rules_d (tests.test.TestEndToEndNoRWD_Keys.test_rules_d) ... ok
-test_ostore_changepwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_changepwd) ... ok
+test_auth (tests.test.TestEndToEndNoRWD_Keys.test_auth) ... ERROR
+test_ostore_replace_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_replace_invpwd) ... ok
+test_create_user (tests.test.TestEndToEndNoRWD_Keys.test_create_user) ... ERROR
+test_huge_user (tests.test.TestEndToEndNoRWD_Keys.test_huge_user) ... ERROR
 test_ostore_edit (tests.test.TestEndToEndNoRWD_Keys.test_ostore_edit) ... ok
-test_ostore_recoverytokens (tests.test.TestEndToEndNoRWD_Keys.test_ostore_recoverytokens) ... ok
 test_get (tests.test.TestEndToEndNoRWD_Keys.test_get) ... ERROR
 test_invalid_rules (tests.test.TestEndToEndNoRWD_Keys.test_invalid_rules) ... ok
-test_userblob_auth_create (tests.test.TestEndToEndNoRWD_Keys.test_userblob_auth_create) ... ERROR
-test_huge_user (tests.test.TestEndToEndNoRWD_Keys.test_huge_user) ... ERROR
-test_v1get (tests.test.TestEndToEndNoRWD_Keys.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569ed88>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569ec48>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569e5c8>
-exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf56b1028>
-exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf56b13a8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56b1568>
-ERROR
-test_predefined_raw (tests.test.TestEndToEndNoRWD_Keys.test_predefined_raw) ... ERROR
+test_create_user_xormask (tests.test.TestEndToEndNoRWD_Keys.test_create_user_xormask) ... ERROR
+test_delete (tests.test.TestEndToEndNoRWD_Keys.test_delete) ... ERROR
+test_main_get (tests.test.TestEndToEndNoRWD_Keys.test_main_get) ... ERROR
+test_delete_inv_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_delete_inv_mpwd) ... ok
+test_get_nonexistant_host (tests.test.TestEndToEndNoRWD_Keys.test_get_nonexistant_host) ... exception caught <class 'ValueError'> input msg is invalid size: 482B must be: 723B | tp step 1 <traceback object at 0xb5427d28>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5427e48>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5426248>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5426388>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5426588>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5426888>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 56818)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 52088)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_ostore_read_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_read_invpwd) ... ok
+test_ostore_changepwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_changepwd) ... ok
 test_ostore_replace (tests.test.TestEndToEndNoRWD_Keys.test_ostore_replace) ... ok
-test_list_users (tests.test.TestEndToEndNoRWD_Keys.test_list_users) ... ERROR
-test_pwd_len (tests.test.TestEndToEndNoRWD_Keys.test_pwd_len) ... ERROR
-test_create_user_xormask (tests.test.TestEndToEndNoRWD_Keys.test_create_user_xormask) ... /usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 40838)>
-  def indent(text, prefix, predicate=None):
+test_list_users_diff_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_list_users_diff_mpwd) ... ERROR
+test_main_inv_params (tests.test.TestEndToEndNoRWD_Keys.test_main_inv_params) ... /usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 32826)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=2, type=1, proto=0, laddr=('127.0.0.1', 59730)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 60866)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 53488)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=2, type=1, proto=0, laddr=('127.0.0.1', 44950)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 49244)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 47906)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 41102)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 60688)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 34588)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 59878)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 35674)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 47908)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 35548)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 60698)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 34626)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 59888)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 35700)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 44274)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 46168), raddr=('127.0.0.1', 10000)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 55626)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=15, family=2, type=1, proto=0, laddr=('127.0.0.1', 46476), raddr=('127.0.0.1', 10001)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 37818)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=16, family=2, type=1, proto=0, laddr=('127.0.0.1', 51206), raddr=('127.0.0.1', 10002)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 46192)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=17, family=2, type=1, proto=0, laddr=('127.0.0.1', 46480)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 50884)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/textwrap.py:470: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 51216)>
-  def indent(text, prefix, predicate=None):
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 50332)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ERROR
-test_main_change_commit_undo (tests.test.TestEndToEndNoRWD_Keys.test_main_change_commit_undo) ... ERROR
-test_ostore_erase (tests.test.TestEndToEndNoRWD_Keys.test_ostore_erase) ... ok
-test_predefined_pwd (tests.test.TestEndToEndNoRWD_Keys.test_predefined_pwd) ... ERROR
-test_get_nonexistant_record (tests.test.TestEndToEndNoRWD_Keys.test_get_nonexistant_record) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56b1f48>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf56b5208>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56b5548>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56b5628>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56b5888>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf56b19c8>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 46348)>
-  if method() is not None:
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=21, family=2, type=1, proto=0, laddr=('127.0.0.1', 46204)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 39318)>
-  if method() is not None:
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 50902)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_ostore_store (tests.test.TestEndToEndNoRWD_Keys.test_ostore_store) ... ok
-test_main_delete (tests.test.TestEndToEndNoRWD_Keys.test_main_delete) ... ERROR
-test_rules_l (tests.test.TestEndToEndNoRWD_Keys.test_rules_l) ... ERROR
-test_get_nonexistant_host (tests.test.TestEndToEndNoRWD_Keys.test_get_nonexistant_host) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569e348>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 59826)>
-  if method() is not None:
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 41518)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 39992)>
-  if method() is not None:
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 43146)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 59510)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 59226)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 48718)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 58124)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 38986)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 49716)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 52988)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 58416)>
+  def __exit__(self, exc_type, exc_value, tb):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:253: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 33344)>
+  def __exit__(self, exc_type, exc_value, tb):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
-test_ostore_replace_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_replace_invpwd) ... ok
-test_ostore_erase_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_erase_invpwd) ... ok
+test_main_create (tests.test.TestEndToEndNoRWD_Keys.test_main_create) ... ERROR
+test_rules_d (tests.test.TestEndToEndNoRWD_Keys.test_rules_d) ... ERROR
+test_main_change_commit_undo (tests.test.TestEndToEndNoRWD_Keys.test_main_change_commit_undo) ... ERROR
+test_ostore_store (tests.test.TestEndToEndNoRWD_Keys.test_ostore_store) ... ok
+test_ostore_read (tests.test.TestEndToEndNoRWD_Keys.test_ostore_read) ... ok
+test_predefined_pwd (tests.test.TestEndToEndNoRWD_Keys.test_predefined_pwd) ... ERROR
+test_ostore_recoverytokens (tests.test.TestEndToEndNoRWD_Keys.test_ostore_recoverytokens) ... ok
 test_recreate_user (tests.test.TestEndToEndNoRWD_Keys.test_recreate_user) ... ERROR
-test_rules_ulsd (tests.test.TestEndToEndNoRWD_Keys.test_rules_ulsd) ... ERROR
+test_ostore_unlock (tests.test.TestEndToEndNoRWD_Keys.test_ostore_unlock) ... ok
+test_v1get (tests.test.TestEndToEndNoRWD_Keys.test_v1get) ... exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5426968>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb54265c8>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5427e88>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5427b28>
+ERROR
+test_userblob_auth_create (tests.test.TestEndToEndNoRWD_Keys.test_userblob_auth_create) ... ERROR
+test_pwd_len (tests.test.TestEndToEndNoRWD_Keys.test_pwd_len) ... ERROR
+test_ostore_erase_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_erase_invpwd) ... ok
+test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_recoverytokens_invpwd) ... ok
+test_rules_l (tests.test.TestEndToEndNoRWD_Keys.test_rules_l) ... ERROR
 test_rules_u (tests.test.TestEndToEndNoRWD_Keys.test_rules_u) ... ERROR
-test_main_create (tests.test.TestEndToEndNoRWD_Keys.test_main_create) ... ERROR
-test_main_get (tests.test.TestEndToEndNoRWD_Keys.test_main_get) ... ERROR
-test_main_inv_params (tests.test.TestEndToEndNoRWD_Keys.test_main_inv_params) ... ok
-test_ostore_read_invpwd (tests.test.TestEndToEndNoRWD_Keys.test_ostore_read_invpwd) ... ok
 test_v1users (tests.test.TestEndToEndNoRWD_Keys.test_v1users) ... ERROR
-test_auth (tests.test.TestEndToEndNoUserlist.test_auth) ... ERROR
+test_create_user_xormask (tests.test.TestEndToEndNoUserlist.test_create_user_xormask) ... ok
+test_delete (tests.test.TestEndToEndNoUserlist.test_delete) ... exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb541e7e8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e5a8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e748>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e3c8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e268>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb541e128>
+ok
+test_corrupted_dkg (tests.test.TestEndToEndNoUserlist.test_corrupted_dkg) ... ok
+test_invalid_rules (tests.test.TestEndToEndNoUserlist.test_invalid_rules) ... ok
+test_create_user (tests.test.TestEndToEndNoUserlist.test_create_user) ... ERROR
+test_main_inv_params (tests.test.TestEndToEndNoUserlist.test_main_inv_params) ... ok
+test_ostore_edit (tests.test.TestEndToEndNoUserlist.test_ostore_edit) ... ok
+test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_commit_undo_inv_mpwd) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5465da8>
+ok
 test_list_users_diff_mpwd (tests.test.TestEndToEndNoUserlist.test_list_users_diff_mpwd) ... ok
-test_change (tests.test.TestEndToEndNoUserlist.test_change) ... ERROR
 test_rules_d (tests.test.TestEndToEndNoUserlist.test_rules_d) ... ERROR
+test_predefined_raw (tests.test.TestEndToEndNoUserlist.test_predefined_raw) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ca45e8>
+ok
+test_main_create (tests.test.TestEndToEndNoUserlist.test_main_create) ... ok
+test_main_get (tests.test.TestEndToEndNoUserlist.test_main_get) ... ERROR
+test_auth (tests.test.TestEndToEndNoUserlist.test_auth) ... ok
+test_ostore_erase (tests.test.TestEndToEndNoUserlist.test_ostore_erase) ... ok
+test_change (tests.test.TestEndToEndNoUserlist.test_change) ... ERROR
 test_change_xormask (tests.test.TestEndToEndNoUserlist.test_change_xormask) ... ERROR
-test_rules_ulsd (tests.test.TestEndToEndNoUserlist.test_rules_ulsd) ... ok
-test_recreate_user (tests.test.TestEndToEndNoUserlist.test_recreate_user) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=15, family=2, type=1, proto=0, laddr=('127.0.0.1', 34020)>
-  if method() is not None:
+test_ostore_changepwd (tests.test.TestEndToEndNoUserlist.test_ostore_changepwd) ... ok
+test_ostore_store (tests.test.TestEndToEndNoUserlist.test_ostore_store) ... ok
+test_pwd_len (tests.test.TestEndToEndNoUserlist.test_pwd_len) ... ERROR
+test_rules_ulsd (tests.test.TestEndToEndNoUserlist.test_rules_ulsd) ... ERROR
+test_predefined_pwd (tests.test.TestEndToEndNoUserlist.test_predefined_pwd) ... ERROR
+test_ostore_unlock (tests.test.TestEndToEndNoUserlist.test_ostore_unlock) ... ok
+test_ostore_replace_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_replace_invpwd) ... ok
+test_recreate_user (tests.test.TestEndToEndNoUserlist.test_recreate_user) ... ERROR
+test_v1get (tests.test.TestEndToEndNoUserlist.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb54653a8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ca0468>
+exception caught <class 'ValueError'> input msg is invalid size: 482B must be: 723B | tp step 1 <traceback object at 0xb5ca0748>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb6104f88>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ccf7e8>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ccfe88>
+ERROR
+test_commit_undo (tests.test.TestEndToEndNoUserlist.test_commit_undo) ... ERROR
+test_ostore_erase_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_erase_invpwd) ... ok
+test_get_nonexistant_host (tests.test.TestEndToEndNoUserlist.test_get_nonexistant_host) ... exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5437608>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5437ae8>
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 59860)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 35858)>
-  if method() is not None:
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 34938)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 51438)>
-  if method() is not None:
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 56542)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_corrupted_dkg (tests.test.TestEndToEndNoUserlist.test_corrupted_dkg) ... ok
-test_ostore_erase_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_erase_invpwd) ... ok
-test_rules_l (tests.test.TestEndToEndNoUserlist.test_rules_l) ... ok
-test_ostore_replace (tests.test.TestEndToEndNoUserlist.test_ostore_replace) ... ok
-test_ostore_read_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_read_invpwd) ... ok
-test_commit_undo (tests.test.TestEndToEndNoUserlist.test_commit_undo) ... exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf569e8c8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf569ebc8>
-exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf569e648>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf68ce8c8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ce708>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ce4a8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ce988>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56c4588>
-ok
-test_double_commit (tests.test.TestEndToEndNoUserlist.test_double_commit) ... ERROR
-test_invalid_rules (tests.test.TestEndToEndNoUserlist.test_invalid_rules) ... ok
-test_predefined_raw (tests.test.TestEndToEndNoUserlist.test_predefined_raw) ... ERROR
-test_userblob_auth_create (tests.test.TestEndToEndNoUserlist.test_userblob_auth_create) ... ok
-test_main_get (tests.test.TestEndToEndNoUserlist.test_main_get) ... ERROR
-test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_commit_undo_inv_mpwd) ... ERROR
-test_create_user_xormask (tests.test.TestEndToEndNoUserlist.test_create_user_xormask) ... ERROR
-test_v1get (tests.test.TestEndToEndNoUserlist.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf6b95748>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5685788>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56b53c8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56b5068>
-ERROR
-test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_recoverytokens_invpwd) ... ok
-test_rules_u (tests.test.TestEndToEndNoUserlist.test_rules_u) ... ERROR
-test_get (tests.test.TestEndToEndNoUserlist.test_get) ... ERROR
-test_delete_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_delete_inv_mpwd) ... ERROR
-test_create_user (tests.test.TestEndToEndNoUserlist.test_create_user) ... ERROR
-test_main_delete (tests.test.TestEndToEndNoUserlist.test_main_delete) ... /usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 52008)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 59862)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 35866)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 34952)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 39468)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 56546)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 59210)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 60096)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 51936)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 51672)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 41684)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 53944)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 45512)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=21, family=2, type=1, proto=0, laddr=('127.0.0.1', 60124)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=16, family=2, type=1, proto=0, laddr=('127.0.0.1', 41712)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 51676)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=17, family=2, type=1, proto=0, laddr=('127.0.0.1', 45516)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 53954)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 54620)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 39904)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 36934)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 33036)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 49262)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 43438)>
+  def _make_invoke_excepthook():
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ERROR
-test_ostore_edit (tests.test.TestEndToEndNoUserlist.test_ostore_edit) ... ok
-test_main_create (tests.test.TestEndToEndNoUserlist.test_main_create) ... ERROR
-test_ostore_changepwd (tests.test.TestEndToEndNoUserlist.test_ostore_changepwd) ... ok
-test_ostore_erase (tests.test.TestEndToEndNoUserlist.test_ostore_erase) ... ok
-test_ostore_recoverytokens (tests.test.TestEndToEndNoUserlist.test_ostore_recoverytokens) ... ok
-test_delete (tests.test.TestEndToEndNoUserlist.test_delete) ... ERROR
-test_ostore_read (tests.test.TestEndToEndNoUserlist.test_ostore_read) ... ok
-test_get_nonexistant_host (tests.test.TestEndToEndNoUserlist.test_get_nonexistant_host) ... exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf564f668>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf564f988>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf564f868>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf564fca8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf5658048>
-exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf564f8a8>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 47708)>
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 49850)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 57858)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 58772)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 49862)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 53576)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 57712)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 37084)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 55676)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 46904)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 39242)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=40, family=2, type=1, proto=0, laddr=('127.0.0.1', 55696)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=41, family=2, type=1, proto=0, laddr=('127.0.0.1', 46922)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=43, family=2, type=1, proto=0, laddr=('127.0.0.1', 55708)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/threading.py:1265: ResourceWarning: unclosed <ssl.SSLSocket fd=44, family=2, type=1, proto=0, laddr=('127.0.0.1', 46936)>
+  def _make_invoke_excepthook():
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 59860)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 34938)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 56542)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 59862)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 34952)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 56546)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 60096)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 51672)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 53944)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=21, family=2, type=1, proto=0, laddr=('127.0.0.1', 60124)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 51676)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 53954)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 39904)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 33036)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 43438)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 49850)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 57858)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 58772)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 49862)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 53576)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 57712)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 37084)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 55676)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 46904)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 39242)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=40, family=2, type=1, proto=0, laddr=('127.0.0.1', 55696)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=41, family=2, type=1, proto=0, laddr=('127.0.0.1', 46922)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=43, family=2, type=1, proto=0, laddr=('127.0.0.1', 55708)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=44, family=2, type=1, proto=0, laddr=('127.0.0.1', 46936)>
+  yield k, v
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 41808)>
   if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 41574)>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 48992)>
   if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
+test_ostore_replace (tests.test.TestEndToEndNoUserlist.test_ostore_replace) ... ok
+test_delete_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_delete_inv_mpwd) ... ERROR
 test_list_users (tests.test.TestEndToEndNoUserlist.test_list_users) ... ok
-test_ostore_replace_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_replace_invpwd) ... ok
+test_huge_user (tests.test.TestEndToEndNoUserlist.test_huge_user) ... ok
 test_main_change_commit_undo (tests.test.TestEndToEndNoUserlist.test_main_change_commit_undo) ... ERROR
-test_get_nonexistant_record (tests.test.TestEndToEndNoUserlist.test_get_nonexistant_record) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 52822)>
+test_double_commit (tests.test.TestEndToEndNoUserlist.test_double_commit) ... ERROR
+test_ostore_read (tests.test.TestEndToEndNoUserlist.test_ostore_read) ... ok
+test_ostore_read_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_read_invpwd) ... ok
+test_get (tests.test.TestEndToEndNoUserlist.test_get) ... ERROR
+test_get_nonexistant_record (tests.test.TestEndToEndNoUserlist.test_get_nonexistant_record) ... exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5ca0788>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb54651a8>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5465d28>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=21, family=2, type=1, proto=0, laddr=('127.0.0.1', 44030)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 39988)>
   if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 60630)>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 39452)>
   if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
-test_huge_user (tests.test.TestEndToEndNoUserlist.test_huge_user) ... ok
-test_main_inv_params (tests.test.TestEndToEndNoUserlist.test_main_inv_params) ... ok
-test_ostore_store (tests.test.TestEndToEndNoUserlist.test_ostore_store) ... ok
-test_ostore_unlock (tests.test.TestEndToEndNoUserlist.test_ostore_unlock) ... ok
-test_predefined_pwd (tests.test.TestEndToEndNoUserlist.test_predefined_pwd) ... ERROR
+test_ostore_recoverytokens (tests.test.TestEndToEndNoUserlist.test_ostore_recoverytokens) ... ok
+test_main_delete (tests.test.TestEndToEndNoUserlist.test_main_delete) ... ERROR
+test_rules_l (tests.test.TestEndToEndNoUserlist.test_rules_l) ... ERROR
+test_userblob_auth_create (tests.test.TestEndToEndNoUserlist.test_userblob_auth_create) ... ok
+test_rules_u (tests.test.TestEndToEndNoUserlist.test_rules_u) ... ERROR
+test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoUserlist.test_ostore_recoverytokens_invpwd) ... ok
 test_v1users (tests.test.TestEndToEndNoUserlist.test_v1users) ... ok
-test_pwd_len (tests.test.TestEndToEndNoUserlist.test_pwd_len) ... ERROR
-test_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_commit_undo) ... exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xf564f4c8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56b5188>
-ERROR
-test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoValidatePassword.test_commit_undo_inv_mpwd) ... ERROR
-test_main_get (tests.test.TestEndToEndNoValidatePassword.test_main_get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5685668>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56dda28>
-ok
-test_change (tests.test.TestEndToEndNoValidatePassword.test_change) ... ERROR
-test_rules_d (tests.test.TestEndToEndNoValidatePassword.test_rules_d) ... ok
-test_double_commit (tests.test.TestEndToEndNoValidatePassword.test_double_commit) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56ddda8>
-ok
 test_create_user_xormask (tests.test.TestEndToEndNoValidatePassword.test_create_user_xormask) ... ERROR
-test_change_xormask (tests.test.TestEndToEndNoValidatePassword.test_change_xormask) ... ERROR
-test_delete (tests.test.TestEndToEndNoValidatePassword.test_delete) ... ERROR
-test_ostore_store (tests.test.TestEndToEndNoValidatePassword.test_ostore_store) ... ok
+test_create_user (tests.test.TestEndToEndNoValidatePassword.test_create_user) ... ok
+test_get_nonexistant_host (tests.test.TestEndToEndNoValidatePassword.test_get_nonexistant_host) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5ccf268>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5ccfda8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541ab08>
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 44594)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 55136)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 49818)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_predefined_pwd (tests.test.TestEndToEndNoValidatePassword.test_predefined_pwd) ... ok
+test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoValidatePassword.test_commit_undo_inv_mpwd) ... ERROR
+test_huge_user (tests.test.TestEndToEndNoValidatePassword.test_huge_user) ... ok
+test_corrupted_dkg (tests.test.TestEndToEndNoValidatePassword.test_corrupted_dkg) ... ok
 test_ostore_erase_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_erase_invpwd) ... ok
+test_ostore_recoverytokens (tests.test.TestEndToEndNoValidatePassword.test_ostore_recoverytokens) ... ok
 test_ostore_erase (tests.test.TestEndToEndNoValidatePassword.test_ostore_erase) ... ok
-test_huge_user (tests.test.TestEndToEndNoValidatePassword.test_huge_user) ... ok
-test_predefined_raw (tests.test.TestEndToEndNoValidatePassword.test_predefined_raw) ... ERROR
-test_main_create (tests.test.TestEndToEndNoValidatePassword.test_main_create) ... ERROR
+test_main_get (tests.test.TestEndToEndNoValidatePassword.test_main_get) ... ERROR
+test_invalid_rules (tests.test.TestEndToEndNoValidatePassword.test_invalid_rules) ... ok
+test_rules_ulsd (tests.test.TestEndToEndNoValidatePassword.test_rules_ulsd) ... ok
+test_ostore_changepwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_changepwd) ... ok
+test_change_xormask (tests.test.TestEndToEndNoValidatePassword.test_change_xormask) ... ERROR
+test_recreate_user (tests.test.TestEndToEndNoValidatePassword.test_recreate_user) ... ERROR
+test_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_commit_undo) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e3a8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e9e8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5427ca8>
+ERROR
+test_main_change_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_main_change_commit_undo) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb54272a8>
+ok
 test_ostore_unlock (tests.test.TestEndToEndNoValidatePassword.test_ostore_unlock) ... ok
+test_change (tests.test.TestEndToEndNoValidatePassword.test_change) ... ERROR
+test_ostore_replace_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_replace_invpwd) ... ok
+test_rules_l (tests.test.TestEndToEndNoValidatePassword.test_rules_l) ... ERROR
+test_main_create (tests.test.TestEndToEndNoValidatePassword.test_main_create) ... ERROR
 test_auth (tests.test.TestEndToEndNoValidatePassword.test_auth) ... ERROR
-test_ostore_changepwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_changepwd) ... ok
-test_rules_u (tests.test.TestEndToEndNoValidatePassword.test_rules_u) ... ERROR
-test_invalid_rules (tests.test.TestEndToEndNoValidatePassword.test_invalid_rules) ... ok
-test_corrupted_dkg (tests.test.TestEndToEndNoValidatePassword.test_corrupted_dkg) ... ok
-test_list_users_diff_mpwd (tests.test.TestEndToEndNoValidatePassword.test_list_users_diff_mpwd) ... ERROR
 test_main_inv_params (tests.test.TestEndToEndNoValidatePassword.test_main_inv_params) ... ok
-test_ostore_read_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_read_invpwd) ... ok
-test_predefined_pwd (tests.test.TestEndToEndNoValidatePassword.test_predefined_pwd) ... ERROR
-test_main_delete (tests.test.TestEndToEndNoValidatePassword.test_main_delete) ... ERROR
-test_ostore_replace_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_replace_invpwd) ... ok
-test_create_user (tests.test.TestEndToEndNoValidatePassword.test_create_user) ... ERROR
-test_pwd_len (tests.test.TestEndToEndNoValidatePassword.test_pwd_len) ... ERROR
-test_rules_ulsd (tests.test.TestEndToEndNoValidatePassword.test_rules_ulsd) ... ERROR
+test_get (tests.test.TestEndToEndNoValidatePassword.test_get) ... ERROR
+test_double_commit (tests.test.TestEndToEndNoValidatePassword.test_double_commit) ... ERROR
 test_ostore_read (tests.test.TestEndToEndNoValidatePassword.test_ostore_read) ... ok
-test_v1users (tests.test.TestEndToEndNoValidatePassword.test_v1users) ... /usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 47688)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+test_ostore_edit (tests.test.TestEndToEndNoValidatePassword.test_ostore_edit) ... ok
+test_delete (tests.test.TestEndToEndNoValidatePassword.test_delete) ... ERROR
+test_rules_d (tests.test.TestEndToEndNoValidatePassword.test_rules_d) ... ERROR
+test_v1get (tests.test.TestEndToEndNoValidatePassword.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5427cc8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb54277a8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5437808>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5437c28>
+exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xb54377c8>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb4ac7708>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb4ac7ae8>
+ERROR
+test_ostore_read_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_read_invpwd) ... ok
+test_ostore_replace (tests.test.TestEndToEndNoValidatePassword.test_ostore_replace) ... ok
+test_delete_inv_mpwd (tests.test.TestEndToEndNoValidatePassword.test_delete_inv_mpwd) ... ERROR
+test_list_users_diff_mpwd (tests.test.TestEndToEndNoValidatePassword.test_list_users_diff_mpwd) ... ERROR
+test_predefined_raw (tests.test.TestEndToEndNoValidatePassword.test_predefined_raw) ... ERROR
+test_ostore_store (tests.test.TestEndToEndNoValidatePassword.test_ostore_store) ... ok
+test_v1users (tests.test.TestEndToEndNoValidatePassword.test_v1users) ... ERROR
+test_get_nonexistant_record (tests.test.TestEndToEndNoValidatePassword.test_get_nonexistant_record) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ae0108>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ae0248>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb4ae0468>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ae09e8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ae0a48>
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 53776)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 37460)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 41854)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 59970)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 42158)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 57752)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 53852)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 48462)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 39430)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 37292)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 39972)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/traceback.py:522: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 56532)>
-  def format_frame_summary(self, frame_summary, **kwargs):
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 44012)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ERROR
-test_ostore_edit (tests.test.TestEndToEndNoValidatePassword.test_ostore_edit) ... ok
-test_rules_l (tests.test.TestEndToEndNoValidatePassword.test_rules_l) ... ERROR
-test_delete_inv_mpwd (tests.test.TestEndToEndNoValidatePassword.test_delete_inv_mpwd) ... ERROR
-test_get (tests.test.TestEndToEndNoValidatePassword.test_get) ... ERROR
-test_list_users (tests.test.TestEndToEndNoValidatePassword.test_list_users) ... ERROR
-test_get_nonexistant_host (tests.test.TestEndToEndNoValidatePassword.test_get_nonexistant_host) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56ddf48>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ce7c8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf68ce168>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf6b2aba8>
-exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xf569e588>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56b1328>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56b18c8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56580c8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf5658848>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5658b68>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5658ca8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5658ec8>
-exception caught <class 'BrokenPipeError'> [Errno 32] Broken pipe <traceback object at 0xf56b1b48>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569ecc8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569e8c8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf569ec68>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 60662)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 45364)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 54310)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 46110)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_recreate_user (tests.test.TestEndToEndNoValidatePassword.test_recreate_user) ... ERROR
-test_main_change_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_main_change_commit_undo) ... ERROR
-test_get_nonexistant_record (tests.test.TestEndToEndNoValidatePassword.test_get_nonexistant_record) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf6b2ac08>
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 34400)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 40616)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 42276)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 34166)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_ostore_recoverytokens (tests.test.TestEndToEndNoValidatePassword.test_ostore_recoverytokens) ... ok
-test_ostore_replace (tests.test.TestEndToEndNoValidatePassword.test_ostore_replace) ... ok
-test_userblob_auth_create (tests.test.TestEndToEndNoValidatePassword.test_userblob_auth_create) ... ERROR
-test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_recoverytokens_invpwd) ... ok
-test_v1get (tests.test.TestEndToEndNoValidatePassword.test_v1get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56ddfc8>
-ERROR
-test_change_xormask (tests.test.TestEndToEndNoneEither.test_change_xormask) ... ERROR
-test_change (tests.test.TestEndToEndNoneEither.test_change) ... ERROR
-test_get (tests.test.TestEndToEndNoneEither.test_get) ... ERROR
-test_auth (tests.test.TestEndToEndNoneEither.test_auth) ... ERROR
-test_main_change_commit_undo (tests.test.TestEndToEndNoneEither.test_main_change_commit_undo) ... ERROR
-test_huge_user (tests.test.TestEndToEndNoneEither.test_huge_user) ... ok
-test_ostore_erase_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_erase_invpwd) ... ok
-test_delete_inv_mpwd (tests.test.TestEndToEndNoneEither.test_delete_inv_mpwd) ... ok
-test_ostore_unlock (tests.test.TestEndToEndNoneEither.test_ostore_unlock) ... ok
-test_commit_undo (tests.test.TestEndToEndNoneEither.test_commit_undo) ... ERROR
-test_delete (tests.test.TestEndToEndNoneEither.test_delete) ... ERROR
-test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoneEither.test_commit_undo_inv_mpwd) ... ok
-test_double_commit (tests.test.TestEndToEndNoneEither.test_double_commit) ... ERROR
-test_ostore_store (tests.test.TestEndToEndNoneEither.test_ostore_store) ... ok
-test_corrupted_dkg (tests.test.TestEndToEndNoneEither.test_corrupted_dkg) ... ok
-test_create_user (tests.test.TestEndToEndNoneEither.test_create_user) ... ERROR
-test_create_user_xormask (tests.test.TestEndToEndNoneEither.test_create_user_xormask) ... ERROR
-test_get_nonexistant_host (tests.test.TestEndToEndNoneEither.test_get_nonexistant_host) ... /usr/lib/python3.13/traceback.py:269: ResourceWarning: unclosed <ssl.SSLSocket fd=46, family=2, type=1, proto=0, laddr=('127.0.0.1', 48510)>
-  tb.tb_frame.clear()
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 60682)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ERROR
-test_main_delete (tests.test.TestEndToEndNoneEither.test_main_delete) ... ERROR
-test_get_nonexistant_record (tests.test.TestEndToEndNoneEither.test_get_nonexistant_record) ... /usr/lib/python3.13/traceback.py:269: ResourceWarning: unclosed <ssl.SSLSocket fd=52, family=2, type=1, proto=0, laddr=('127.0.0.1', 53164)>
-  tb.tb_frame.clear()
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 40618)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ERROR
-test_invalid_rules (tests.test.TestEndToEndNoneEither.test_invalid_rules) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=54, family=2, type=1, proto=0, laddr=('127.0.0.1', 58812)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 34176)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=53, family=2, type=1, proto=0, laddr=('127.0.0.1', 51422)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 60684)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=52, family=2, type=1, proto=0, laddr=('127.0.0.1', 53168)>
-  if method() is not None:
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 52814)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ok
-test_list_users (tests.test.TestEndToEndNoneEither.test_list_users) ... ok
-test_list_users_diff_mpwd (tests.test.TestEndToEndNoneEither.test_list_users_diff_mpwd) ... ok
-test_predefined_pwd (tests.test.TestEndToEndNoneEither.test_predefined_pwd) ... ERROR
-test_main_create (tests.test.TestEndToEndNoneEither.test_main_create) ... ERROR
-test_main_get (tests.test.TestEndToEndNoneEither.test_main_get) ... ERROR
-test_userblob_auth_create (tests.test.TestEndToEndNoneEither.test_userblob_auth_create) ... ok
-test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_recoverytokens_invpwd) ... ok
-test_ostore_replace (tests.test.TestEndToEndNoneEither.test_ostore_replace) ... ok
-test_main_inv_params (tests.test.TestEndToEndNoneEither.test_main_inv_params) ... ok
-test_ostore_read_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_read_invpwd) ... ok
-test_ostore_changepwd (tests.test.TestEndToEndNoneEither.test_ostore_changepwd) ... ok
-test_ostore_read (tests.test.TestEndToEndNoneEither.test_ostore_read) ... ok
-test_ostore_edit (tests.test.TestEndToEndNoneEither.test_ostore_edit) ... ok
-test_ostore_erase (tests.test.TestEndToEndNoneEither.test_ostore_erase) ... ok
-test_rules_d (tests.test.TestEndToEndNoneEither.test_rules_d) ... ERROR
-test_v1get (tests.test.TestEndToEndNoneEither.test_v1get) ... ERROR
-test_rules_ulsd (tests.test.TestEndToEndNoneEither.test_rules_ulsd) ... ERROR
-test_predefined_raw (tests.test.TestEndToEndNoneEither.test_predefined_raw) ... ERROR
-test_recreate_user (tests.test.TestEndToEndNoneEither.test_recreate_user) ... ERROR
-test_ostore_replace_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_replace_invpwd) ... ok
-test_rules_u (tests.test.TestEndToEndNoneEither.test_rules_u) ... /usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 35572)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 53776)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 51048)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 46564)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 35604), raddr=('127.0.0.1', 10000)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 41854)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 51058), raddr=('127.0.0.1', 10001)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 42158)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 37610), raddr=('127.0.0.1', 10002)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 52846), raddr=('127.0.0.1', 10000)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 58060)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 53852)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 42060)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 46566), raddr=('127.0.0.1', 10001)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=15, family=2, type=1, proto=0, laddr=('127.0.0.1', 45826)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 39430)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=16, family=2, type=1, proto=0, laddr=('127.0.0.1', 34290)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 39972)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=17, family=2, type=1, proto=0, laddr=('127.0.0.1', 42068)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 53776)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 45836)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 44012)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 42706)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 45364)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 38750)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 41854)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=21, family=2, type=1, proto=0, laddr=('127.0.0.1', 54944)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 46110)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 42720)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 42158)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 38760)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 40616)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 54956)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 34166)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 50086)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 53852)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 36474)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 60682)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 57942)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 39430)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 50098)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 40618)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=32, family=2, type=1, proto=0, laddr=('127.0.0.1', 36490)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 39972)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=33, family=2, type=1, proto=0, laddr=('127.0.0.1', 57946)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 34176)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 37982)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 60684)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 49502)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 44012)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 41090)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 52814)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 48478)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 45364)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 53536)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 46564)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 47004)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 46110)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=40, family=2, type=1, proto=0, laddr=('127.0.0.1', 48486)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 52846), raddr=('127.0.0.1', 10000)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=41, family=2, type=1, proto=0, laddr=('127.0.0.1', 53552)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 40616)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=42, family=2, type=1, proto=0, laddr=('127.0.0.1', 47006)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 46566), raddr=('127.0.0.1', 10001)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=43, family=2, type=1, proto=0, laddr=('127.0.0.1', 48494)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 35610), raddr=('127.0.0.1', 10002)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=44, family=2, type=1, proto=0, laddr=('127.0.0.1', 53566)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 34166)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=45, family=2, type=1, proto=0, laddr=('127.0.0.1', 47022)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 58272)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=49, family=2, type=1, proto=0, laddr=('127.0.0.1', 53148)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 60682)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=50, family=2, type=1, proto=0, laddr=('127.0.0.1', 51410)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 38312)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=51, family=2, type=1, proto=0, laddr=('127.0.0.1', 58806)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 35610), raddr=('127.0.0.1', 10002)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=52, family=2, type=1, proto=0, laddr=('127.0.0.1', 54564)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 40618)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=53, family=2, type=1, proto=0, laddr=('127.0.0.1', 53426)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/threading.py:1578: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 42196)>
+  threads = set(_enumerate())
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=54, family=2, type=1, proto=0, laddr=('127.0.0.1', 43938)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 34176)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=61, family=2, type=1, proto=0, laddr=('127.0.0.1', 59976)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 58272)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=62, family=2, type=1, proto=0, laddr=('127.0.0.1', 40944)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 60684)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=63, family=2, type=1, proto=0, laddr=('127.0.0.1', 44554)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 38312)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=64, family=2, type=1, proto=0, laddr=('127.0.0.1', 59978)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 52814)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=65, family=2, type=1, proto=0, laddr=('127.0.0.1', 40948)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/multiprocessing/process.py:92: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 42196)>
+  self._kwargs = dict(kwargs)
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=66, family=2, type=1, proto=0, laddr=('127.0.0.1', 44562)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 46564)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=67, family=2, type=1, proto=0, laddr=('127.0.0.1', 59994)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 52846), raddr=('127.0.0.1', 10000)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=68, family=2, type=1, proto=0, laddr=('127.0.0.1', 60008)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 46566), raddr=('127.0.0.1', 10001)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=69, family=2, type=1, proto=0, laddr=('127.0.0.1', 40950)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 35610), raddr=('127.0.0.1', 10002)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=70, family=2, type=1, proto=0, laddr=('127.0.0.1', 44566)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 58272)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=71, family=2, type=1, proto=0, laddr=('127.0.0.1', 41700)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 38312)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=72, family=2, type=1, proto=0, laddr=('127.0.0.1', 58474)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/weakref.py:216: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 42196)>
+  yield k, v
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=73, family=2, type=1, proto=0, laddr=('127.0.0.1', 43926)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 59986)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 51678)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_list_users (tests.test.TestEndToEndNoValidatePassword.test_list_users) ... ERROR
+test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoValidatePassword.test_ostore_recoverytokens_invpwd) ... ok
+test_main_delete (tests.test.TestEndToEndNoValidatePassword.test_main_delete) ... ERROR
+test_pwd_len (tests.test.TestEndToEndNoValidatePassword.test_pwd_len) ... ERROR
+test_userblob_auth_create (tests.test.TestEndToEndNoValidatePassword.test_userblob_auth_create) ... ERROR
+test_rules_u (tests.test.TestEndToEndNoValidatePassword.test_rules_u) ... ERROR
+test_auth (tests.test.TestEndToEndNoneEither.test_auth) ... ERROR
+test_ostore_read (tests.test.TestEndToEndNoneEither.test_ostore_read) ... ok
+test_change (tests.test.TestEndToEndNoneEither.test_change) ... ERROR
+test_double_commit (tests.test.TestEndToEndNoneEither.test_double_commit) ... exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb4ac7808>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5437608>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5437028>
+exception caught <class 'ValueError'> input msg is invalid size: 482B must be: 723B | tp step 1 <traceback object at 0xb54263a8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb54276e8>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb5427c28>
+ERROR
+test_main_change_commit_undo (tests.test.TestEndToEndNoneEither.test_main_change_commit_undo) ... ERROR
+test_predefined_pwd (tests.test.TestEndToEndNoneEither.test_predefined_pwd) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541e8e8>
+ok
+test_get_nonexistant_record (tests.test.TestEndToEndNoneEither.test_get_nonexistant_record) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 40900)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=74, family=2, type=1, proto=0, laddr=('127.0.0.1', 41708)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 34766)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=75, family=2, type=1, proto=0, laddr=('127.0.0.1', 58490)>
-  return compile(source, filename, mode, flags,
+ok
+test_main_get (tests.test.TestEndToEndNoneEither.test_main_get) ... ok
+test_ostore_read_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_read_invpwd) ... ok
+test_recreate_user (tests.test.TestEndToEndNoneEither.test_recreate_user) ... ok
+test_ostore_erase (tests.test.TestEndToEndNoneEither.test_ostore_erase) ... ok
+test_get_nonexistant_host (tests.test.TestEndToEndNoneEither.test_get_nonexistant_host) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 48202)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-/usr/lib/python3.13/ast.py:54: ResourceWarning: unclosed <ssl.SSLSocket fd=76, family=2, type=1, proto=0, laddr=('127.0.0.1', 43942)>
-  return compile(source, filename, mode, flags,
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 59080)>
+  if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
-ERROR
-test_rules_l (tests.test.TestEndToEndNoneEither.test_rules_l) ... ERROR
-test_pwd_len (tests.test.TestEndToEndNoneEither.test_pwd_len) ... ERROR
+ok
+test_change_xormask (tests.test.TestEndToEndNoneEither.test_change_xormask) ... ERROR
+test_huge_user (tests.test.TestEndToEndNoneEither.test_huge_user) ... ok
+test_ostore_replace_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_replace_invpwd) ... ok
+test_commit_undo (tests.test.TestEndToEndNoneEither.test_commit_undo) ... ERROR
+test_ostore_changepwd (tests.test.TestEndToEndNoneEither.test_ostore_changepwd) ... ok
+test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoneEither.test_commit_undo_inv_mpwd) ... ok
+test_ostore_erase_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_erase_invpwd) ... ok
+test_corrupted_dkg (tests.test.TestEndToEndNoneEither.test_corrupted_dkg) ... ok
+test_rules_u (tests.test.TestEndToEndNoneEither.test_rules_u) ... ok
+test_get (tests.test.TestEndToEndNoneEither.test_get) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ac7c68>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb541ab08>
+ok
+test_v1get (tests.test.TestEndToEndNoneEither.test_v1get) ... ERROR
+test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndNoneEither.test_ostore_recoverytokens_invpwd) ... ok
 test_ostore_recoverytokens (tests.test.TestEndToEndNoneEither.test_ostore_recoverytokens) ... ok
 test_v1users (tests.test.TestEndToEndNoneEither.test_v1users) ... ok
-test_auth (tests.test.TestEndToEndSingleMode.test_auth) ... exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf6bba088>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf6b3c1a8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf6b3c348>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf564f4c8>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf564fa08>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf564fbc8>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf56b50a8>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56b5d88>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf56857c8>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf56587c8>
-exception caught <class 'ConnectionRefusedError'> [Errno 111] Connection refused <traceback object at 0xf56587a8>
-exception caught <class 'ConnectionRefusedError'> [Errno 111] Connection refused <traceback object at 0xf5672908>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf5672c08>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf54d5368>
-exception caught <class 'ConnectionRefusedError'> [Errno 111] Connection refused <traceback object at 0xf54d56c8>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf54d5a48>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf54d5ae8>
-exception caught <class 'ValueError'> not enough peers left to get enough results <traceback object at 0xf54d5e68>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf54e6028>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf54d5d28>
-exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xf54d5988>
+test_create_user (tests.test.TestEndToEndNoneEither.test_create_user) ... ERROR
+test_ostore_replace (tests.test.TestEndToEndNoneEither.test_ostore_replace) ... ok
+test_create_user_xormask (tests.test.TestEndToEndNoneEither.test_create_user_xormask) ... ERROR
+test_predefined_raw (tests.test.TestEndToEndNoneEither.test_predefined_raw) ... ERROR
+test_main_create (tests.test.TestEndToEndNoneEither.test_main_create) ... ERROR
+test_list_users (tests.test.TestEndToEndNoneEither.test_list_users) ... ok
+test_rules_d (tests.test.TestEndToEndNoneEither.test_rules_d) ... ERROR
+test_ostore_unlock (tests.test.TestEndToEndNoneEither.test_ostore_unlock) ... ok
+test_delete (tests.test.TestEndToEndNoneEither.test_delete) ... ERROR
+test_list_users_diff_mpwd (tests.test.TestEndToEndNoneEither.test_list_users_diff_mpwd) ... ok
+test_ostore_store (tests.test.TestEndToEndNoneEither.test_ostore_store) ... ok
+test_delete_inv_mpwd (tests.test.TestEndToEndNoneEither.test_delete_inv_mpwd) ... ok
+test_main_delete (tests.test.TestEndToEndNoneEither.test_main_delete) ... ERROR
+test_invalid_rules (tests.test.TestEndToEndNoneEither.test_invalid_rules) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=43, family=2, type=1, proto=0, laddr=('127.0.0.1', 40796)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=42, family=2, type=1, proto=0, laddr=('127.0.0.1', 42662)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=40, family=2, type=1, proto=0, laddr=('127.0.0.1', 49284)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_userblob_auth_create (tests.test.TestEndToEndNoneEither.test_userblob_auth_create) ... ok
+test_main_inv_params (tests.test.TestEndToEndNoneEither.test_main_inv_params) ... ok
+test_ostore_edit (tests.test.TestEndToEndNoneEither.test_ostore_edit) ... ok
+test_pwd_len (tests.test.TestEndToEndNoneEither.test_pwd_len) ... ERROR
+test_rules_l (tests.test.TestEndToEndNoneEither.test_rules_l) ... ERROR
+test_rules_ulsd (tests.test.TestEndToEndNoneEither.test_rules_ulsd) ... ERROR
+test_create_user_xormask (tests.test.TestEndToEndSingleMode.test_create_user_xormask) ... ok
+test_create_user (tests.test.TestEndToEndSingleMode.test_create_user) ... ok
+test_commit_undo (tests.test.TestEndToEndSingleMode.test_commit_undo) ... exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb6069888>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5465668>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5f9eb08>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb5f9e088>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb5ca0728>
+exception caught <class 'ValueError'> input msg is invalid size: 241B must be: 723B | tp step 1 <traceback object at 0xb4ae0a68>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ae0548>
+exception caught <class 'ValueError'> cannot align at 32bytes the TP_DKG_PeerState struct <traceback object at 0xb4ae0428>
+exception caught <class 'ValueError'> input msg is invalid size: 0B must be: 723B | tp step 1 <traceback object at 0xb4ae90a8>
 ok
-test_commit_undo (tests.test.TestEndToEndSingleMode.test_commit_undo) ... ok
-test_ostore_changepwd (tests.test.TestEndToEndSingleMode.test_ostore_changepwd) ... ok
 test_commit_undo_inv_mpwd (tests.test.TestEndToEndSingleMode.test_commit_undo_inv_mpwd) ... ok
-test_get (tests.test.TestEndToEndSingleMode.test_get) ... ok
-test_double_commit (tests.test.TestEndToEndSingleMode.test_double_commit) ... ok
-test_main_delete (tests.test.TestEndToEndSingleMode.test_main_delete) ... ok
-test_change (tests.test.TestEndToEndSingleMode.test_change) ... ok
-test_userblob_auth_create (tests.test.TestEndToEndSingleMode.test_userblob_auth_create) ... ok
-test_change_xormask (tests.test.TestEndToEndSingleMode.test_change_xormask) ... ok
-test_recreate_user (tests.test.TestEndToEndSingleMode.test_recreate_user) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 52992)>
+test_get_nonexistant_host (tests.test.TestEndToEndSingleMode.test_get_nonexistant_host) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=44, family=2, type=1, proto=0, laddr=('127.0.0.1', 48450)>
   if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
-test_invalid_rules (tests.test.TestEndToEndSingleMode.test_invalid_rules) ... ok
-test_create_user (tests.test.TestEndToEndSingleMode.test_create_user) ... ok
-test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_recoverytokens_invpwd) ... ok
-test_create_user_xormask (tests.test.TestEndToEndSingleMode.test_create_user_xormask) ... ok
-test_main_inv_params (tests.test.TestEndToEndSingleMode.test_main_inv_params) ... ok
-test_ostore_unlock (tests.test.TestEndToEndSingleMode.test_ostore_unlock) ... ok
-test_pwd_len (tests.test.TestEndToEndSingleMode.test_pwd_len) ... ok
-test_delete_inv_mpwd (tests.test.TestEndToEndSingleMode.test_delete_inv_mpwd) ... ok
-test_list_users (tests.test.TestEndToEndSingleMode.test_list_users) ... ok
-test_ostore_edit (tests.test.TestEndToEndSingleMode.test_ostore_edit) ... ok
 test_corrupted_dkg (tests.test.TestEndToEndSingleMode.test_corrupted_dkg) ... ok
-test_v1users (tests.test.TestEndToEndSingleMode.test_v1users) ... ok
-test_huge_user (tests.test.TestEndToEndSingleMode.test_huge_user) ... ok
-test_main_change_commit_undo (tests.test.TestEndToEndSingleMode.test_main_change_commit_undo) ... ok
-test_predefined_pwd (tests.test.TestEndToEndSingleMode.test_predefined_pwd) ... ok
-test_ostore_erase_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_erase_invpwd) ... ok
-test_delete (tests.test.TestEndToEndSingleMode.test_delete) ... ok
-test_list_users_diff_mpwd (tests.test.TestEndToEndSingleMode.test_list_users_diff_mpwd) ... ok
-test_main_create (tests.test.TestEndToEndSingleMode.test_main_create) ... ok
-test_ostore_read_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_read_invpwd) ... ok
 test_ostore_erase (tests.test.TestEndToEndSingleMode.test_ostore_erase) ... ok
-test_rules_l (tests.test.TestEndToEndSingleMode.test_rules_l) ... ok
-test_ostore_replace (tests.test.TestEndToEndSingleMode.test_ostore_replace) ... ok
-test_ostore_read (tests.test.TestEndToEndSingleMode.test_ostore_read) ... ok
-test_get_nonexistant_record (tests.test.TestEndToEndSingleMode.test_get_nonexistant_record) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 42940)>
+test_rules_u (tests.test.TestEndToEndSingleMode.test_rules_u) ... ok
+test_change_xormask (tests.test.TestEndToEndSingleMode.test_change_xormask) ... ok
+test_ostore_erase_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_erase_invpwd) ... ok
+test_get_nonexistant_record (tests.test.TestEndToEndSingleMode.test_get_nonexistant_record) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=44, family=2, type=1, proto=0, laddr=('127.0.0.1', 46502)>
   if method() is not None:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
-test_main_get (tests.test.TestEndToEndSingleMode.test_main_get) ... ok
-test_get_nonexistant_host (tests.test.TestEndToEndSingleMode.test_get_nonexistant_host) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 48446)>
-  if method() is not None:
+test_main_inv_params (tests.test.TestEndToEndSingleMode.test_main_inv_params) ... /usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 51712)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=10, family=2, type=1, proto=0, laddr=('127.0.0.1', 59998)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=11, family=2, type=1, proto=0, laddr=('127.0.0.1', 34894)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=12, family=2, type=1, proto=0, laddr=('127.0.0.1', 42456)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=13, family=2, type=1, proto=0, laddr=('127.0.0.1', 33546)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 39252)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=19, family=2, type=1, proto=0, laddr=('127.0.0.1', 33586)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=22, family=2, type=1, proto=0, laddr=('127.0.0.1', 39254)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=0, laddr=('127.0.0.1', 43380)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0, laddr=('127.0.0.1', 35790)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=24, family=2, type=1, proto=0, laddr=('127.0.0.1', 49466)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=25, family=2, type=1, proto=0, laddr=('127.0.0.1', 52266)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=26, family=2, type=1, proto=0, laddr=('127.0.0.1', 35794)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=28, family=2, type=1, proto=0, laddr=('127.0.0.1', 49482)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=29, family=2, type=1, proto=0, laddr=('127.0.0.1', 52274)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=30, family=2, type=1, proto=0, laddr=('127.0.0.1', 34772)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=31, family=2, type=1, proto=0, laddr=('127.0.0.1', 50900)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=34, family=2, type=1, proto=0, laddr=('127.0.0.1', 34790)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=37, family=2, type=1, proto=0, laddr=('127.0.0.1', 50912)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=38, family=2, type=1, proto=0, laddr=('127.0.0.1', 42508)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=39, family=2, type=1, proto=0, laddr=('127.0.0.1', 45858)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=41, family=2, type=1, proto=0, laddr=('127.0.0.1', 49718)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=40, family=2, type=1, proto=0, laddr=('127.0.0.1', 57190)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=42, family=2, type=1, proto=0, laddr=('127.0.0.1', 52406)>
+  def _execute_mock_call(self, /, *args, **kwargs):
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+/usr/lib/python3.13/unittest/mock.py:1221: ResourceWarning: unclosed <ssl.SSLSocket fd=43, family=2, type=1, proto=0, laddr=('127.0.0.1', 49308)>
+  def _execute_mock_call(self, /, *args, **kwargs):
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
-test_rules_u (tests.test.TestEndToEndSingleMode.test_rules_u) ... ok
-test_ostore_recoverytokens (tests.test.TestEndToEndSingleMode.test_ostore_recoverytokens) ... ok
-test_ostore_replace_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_replace_invpwd) ... ok
+test_ostore_edit (tests.test.TestEndToEndSingleMode.test_ostore_edit) ... ok
+test_auth (tests.test.TestEndToEndSingleMode.test_auth) ... ok
+test_change (tests.test.TestEndToEndSingleMode.test_change) ... ok
+test_delete (tests.test.TestEndToEndSingleMode.test_delete) ... ok
+test_get (tests.test.TestEndToEndSingleMode.test_get) ... ok
+test_delete_inv_mpwd (tests.test.TestEndToEndSingleMode.test_delete_inv_mpwd) ... ok
+test_pwd_len (tests.test.TestEndToEndSingleMode.test_pwd_len) ... ok
 test_rules_d (tests.test.TestEndToEndSingleMode.test_rules_d) ... ok
+test_ostore_recoverytokens (tests.test.TestEndToEndSingleMode.test_ostore_recoverytokens) ... ok
+test_ostore_read (tests.test.TestEndToEndSingleMode.test_ostore_read) ... ok
+test_double_commit (tests.test.TestEndToEndSingleMode.test_double_commit) ... ok
 test_predefined_raw (tests.test.TestEndToEndSingleMode.test_predefined_raw) ... ok
-test_ostore_store (tests.test.TestEndToEndSingleMode.test_ostore_store) ... ok
-test_rules_ulsd (tests.test.TestEndToEndSingleMode.test_rules_ulsd) ... ok
-test_v1get (tests.test.TestEndToEndSingleMode.test_v1get) ... /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py:338: ResourceWarning: unclosed <ssl.SSLSocket fd=14, family=2, type=1, proto=0, laddr=('127.0.0.1', 37220)>
+test_predefined_pwd (tests.test.TestEndToEndSingleMode.test_predefined_pwd) ... ok
+test_invalid_rules (tests.test.TestEndToEndSingleMode.test_invalid_rules) ... ok
+test_list_users (tests.test.TestEndToEndSingleMode.test_list_users) ... ok
+test_huge_user (tests.test.TestEndToEndSingleMode.test_huge_user) ... ok
+test_ostore_recoverytokens_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_recoverytokens_invpwd) ... ok
+test_v1get (tests.test.TestEndToEndSingleMode.test_v1get) ... /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py:338: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 59424)>
   with connect() as s:
 ResourceWarning: Enable tracemalloc to get the object allocation traceback
 ok
-test_raw (tests.test_conv.TestConverters.test_raw) ... ok
-test_otp (tests.test_conv.TestConverters.test_otp) ... ok
+test_main_change_commit_undo (tests.test.TestEndToEndSingleMode.test_main_change_commit_undo) ... ok
+test_userblob_auth_create (tests.test.TestEndToEndSingleMode.test_userblob_auth_create) ... ok
+test_recreate_user (tests.test.TestEndToEndSingleMode.test_recreate_user) ... /usr/lib/python3.13/unittest/case.py:606: ResourceWarning: unclosed <ssl.SSLSocket fd=9, family=2, type=1, proto=0, laddr=('127.0.0.1', 46802)>
+  if method() is not None:
+ResourceWarning: Enable tracemalloc to get the object allocation traceback
+ok
+test_rules_l (tests.test.TestEndToEndSingleMode.test_rules_l) ... ok
+test_ostore_replace_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_replace_invpwd) ... ok
+test_main_create (tests.test.TestEndToEndSingleMode.test_main_create) ... ok
+test_main_delete (tests.test.TestEndToEndSingleMode.test_main_delete) ... ok
+test_v1users (tests.test.TestEndToEndSingleMode.test_v1users) ... ok
+test_ostore_replace (tests.test.TestEndToEndSingleMode.test_ostore_replace) ... ok
+test_list_users_diff_mpwd (tests.test.TestEndToEndSingleMode.test_list_users_diff_mpwd) ... ok
+test_main_get (tests.test.TestEndToEndSingleMode.test_main_get) ... ok
+test_ostore_changepwd (tests.test.TestEndToEndSingleMode.test_ostore_changepwd) ... ok
+test_ostore_read_invpwd (tests.test.TestEndToEndSingleMode.test_ostore_read_invpwd) ... ok
+test_ostore_store (tests.test.TestEndToEndSingleMode.test_ostore_store) ... ok
+test_ostore_unlock (tests.test.TestEndToEndSingleMode.test_ostore_unlock) ... ok
+test_rules_ulsd (tests.test.TestEndToEndSingleMode.test_rules_ulsd) ... ok
 test_age (tests.test_conv.TestConverters.test_age) ... ok
 test_bin2pass (tests.test_conv.TestConverters.test_bin2pass) ... ok
 test_bin2pass_8char (tests.test_conv.TestConverters.test_bin2pass_8char) ... ok
+test_otp (tests.test_conv.TestConverters.test_otp) ... ok
+test_raw (tests.test_conv.TestConverters.test_raw) ... ok
+test_invert_simple (tests.test_pass2bin.TestRules.test_invert_simple) ... ok
 test_invert_too_long (tests.test_pass2bin.TestRules.test_invert_too_long) ... ok
-test_short_zeroes (tests.test_pass2bin.TestRules.test_short_zeroes) ... ok
 test_all_zeroes (tests.test_pass2bin.TestRules.test_all_zeroes) ... ok
 test_invert_iter (tests.test_pass2bin.TestRules.test_invert_iter) ... ok
 test_invert_random (tests.test_pass2bin.TestRules.test_invert_random) ... ok
 test_invert_reviter (tests.test_pass2bin.TestRules.test_invert_reviter) ... ok
-test_invert_simple (tests.test_pass2bin.TestRules.test_invert_simple) ... ok
+test_short_zeroes (tests.test_pass2bin.TestRules.test_short_zeroes) ... ok
 test_rules (tests.test_rules.TestRules.test_rules) ... ok
 
 ======================================================================
-ERROR: test_auth (tests.test.TestEndToEnd.test_auth)
+ERROR: test_change (tests.test.TestEndToEnd.test_change)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1413,26 +1696,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change (tests.test.TestEndToEnd.test_change)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 429, in test_change
-    pwd2 = sphinx.change(s, pwd, pwd.upper(), user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
-    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
-
-======================================================================
-ERROR: test_change_xormask (tests.test.TestEndToEnd.test_change_xormask)
+ERROR: test_predefined_raw (tests.test.TestEndToEnd.test_predefined_raw)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
+    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1443,10 +1711,10 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_delete_inv_mpwd (tests.test.TestEndToEnd.test_delete_inv_mpwd)
+ERROR: test_create_user (tests.test.TestEndToEnd.test_create_user)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 410, in test_delete_inv_mpwd
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
@@ -1459,45 +1727,29 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_huge_user (tests.test.TestEndToEnd.test_huge_user)
+ERROR: test_rules_u (tests.test.TestEndToEnd.test_rules_u)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 205, in test_huge_user
-    rwd=sphinx.create(s, pwd, 'a'*(2**16 - 42), host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_commit_undo_inv_mpwd (tests.test.TestEndToEnd.test_commit_undo_inv_mpwd)
-----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 478, in test_commit_undo_inv_mpwd
-    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
+    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_create_user (tests.test.TestEndToEnd.test_create_user)
+ERROR: test_v1users (tests.test.TestEndToEnd.test_v1users)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -1510,7 +1762,7 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 348, in test_v1users
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
@@ -1520,11 +1772,11 @@
 ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_rules_u (tests.test.TestEndToEnd.test_rules_u)
+ERROR: test_rules_l (tests.test.TestEndToEnd.test_rules_l)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
-    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
+    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1535,33 +1787,26 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_rules_l (tests.test.TestEndToEnd.test_rules_l)
+ERROR: test_change_xormask (tests.test.TestEndToEnd.test_change_xormask)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
-    out = pyoprf.tpdkg_tp_next(tp, msgs)
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
-    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
-                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 241B must be: 723B
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
-    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
-    raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
+    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
+ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_get (tests.test.TestEndToEnd.test_get)
+ERROR: test_commit_undo (tests.test.TestEndToEnd.test_commit_undo)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 437, in test_commit_undo
+    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1572,12 +1817,33 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_delete (tests.test.TestEndToEnd.test_delete)
+ERROR: test_commit_undo_inv_mpwd (tests.test.TestEndToEnd.test_commit_undo_inv_mpwd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 478, in test_commit_undo_inv_mpwd
+    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+
+======================================================================
+ERROR: test_huge_user (tests.test.TestEndToEnd.test_huge_user)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 205, in test_huge_user
+    rwd=sphinx.create(s, pwd, 'a'*(2**16 - 42), host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1588,25 +1854,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_v1get (tests.test.TestEndToEnd.test_v1get)
+ERROR: test_get (tests.test.TestEndToEnd.test_get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
-    resps = m.gather(33+RULE_SIZE, threshold)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
-    raise ValueError("oracles failed")
-ValueError: oracles failed
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
-    rwd = sphinx.get(s, pwd, user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
-    if v1sphinx.enabled: return try_v1get(pwd, host, user)
-                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
-    cret = create(m, pwd, user, host, target=target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1625,7 +1877,7 @@
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
     if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 241B must be: 723B
+ValueError: input msg is invalid size: 0B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
@@ -1636,10 +1888,10 @@
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
     raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_rules_d (tests.test.TestEndToEnd.test_rules_d)
+ERROR: test_list_users_diff_mpwd (tests.test.TestEndToEnd.test_list_users_diff_mpwd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -1652,8 +1904,9 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
-    rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 529, in test_list_users_diff_mpwd
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
@@ -1661,23 +1914,11 @@
 ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_get (tests.test.TestEndToEnd.test_main_get)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 624, in test_main_get
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
-
-======================================================================
-ERROR: test_create_user_xormask (tests.test.TestEndToEnd.test_create_user_xormask)
+ERROR: test_rules_ulsd (tests.test.TestEndToEnd.test_rules_ulsd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
-    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1688,76 +1929,27 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_v1users (tests.test.TestEndToEnd.test_v1users)
+ERROR: test_list_users (tests.test.TestEndToEnd.test_list_users)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 348, in test_v1users
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
 
-======================================================================
-ERROR: test_recreate_user (tests.test.TestEndToEnd.test_recreate_user)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_list_users (tests.test.TestEndToEnd.test_list_users)
-----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 518, in test_list_users
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
-
-======================================================================
-ERROR: test_list_users_diff_mpwd (tests.test.TestEndToEnd.test_list_users_diff_mpwd)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 529, in test_list_users_diff_mpwd
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
 ERROR: test_main_change_commit_undo (tests.test.TestEndToEnd.test_main_change_commit_undo)
@@ -1772,38 +1964,11 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_predefined_raw (tests.test.TestEndToEnd.test_predefined_raw)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
-    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
-
-======================================================================
-ERROR: test_main_delete (tests.test.TestEndToEnd.test_main_delete)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
-
-======================================================================
-ERROR: test_predefined_pwd (tests.test.TestEndToEnd.test_predefined_pwd)
+ERROR: test_pwd_len (tests.test.TestEndToEnd.test_pwd_len)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 650, in test_predefined_pwd
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size, target = pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1814,7 +1979,7 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_pwd_len (tests.test.TestEndToEnd.test_pwd_len)
+ERROR: test_rules_d (tests.test.TestEndToEnd.test_rules_d)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -1827,8 +1992,8 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
+    rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
@@ -1836,41 +2001,48 @@
 ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_rules_ulsd (tests.test.TestEndToEnd.test_rules_ulsd)
+ERROR: test_v1get (tests.test.TestEndToEnd.test_v1get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
+    resps = m.gather(33+RULE_SIZE, threshold)
+  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
+    raise ValueError("oracles failed")
+ValueError: oracles failed
+
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_userblob_auth_create (tests.test.TestEndToEnd.test_userblob_auth_create)
-----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 575, in test_userblob_auth_create
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
+    rwd = sphinx.get(s, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
+    if v1sphinx.enabled: return try_v1get(pwd, host, user)
+                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
+    cret = create(m, pwd, user, host, target=target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_auth (tests.test.TestEndToEndNoRWD_Keys.test_auth)
+ERROR: test_recreate_user (tests.test.TestEndToEnd.test_recreate_user)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1881,16 +2053,15 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change (tests.test.TestEndToEndNoRWD_Keys.test_change)
+ERROR: test_commit_undo (tests.test.TestEndToEndNoRWD_Keys.test_commit_undo)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 448, in test_commit_undo
+    pwd2 = sphinx.change(s, pwd, pwd.upper(), user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
@@ -1912,43 +2083,41 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_delete (tests.test.TestEndToEndNoRWD_Keys.test_delete)
+ERROR: test_double_commit (tests.test.TestEndToEndNoRWD_Keys.test_double_commit)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 545, in test_double_commit
+    pwd2 = sphinx.change(s, pwd, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_list_users_diff_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_list_users_diff_mpwd)
+ERROR: test_change (tests.test.TestEndToEndNoRWD_Keys.test_change)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 531, in test_list_users_diff_mpwd
-    self.assertIsInstance(sphinx.create(s, 'zxcv', user2, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 429, in test_change
+    pwd2 = sphinx.change(s, pwd, pwd.upper(), user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_double_commit (tests.test.TestEndToEndNoRWD_Keys.test_double_commit)
+ERROR: test_predefined_raw (tests.test.TestEndToEndNoRWD_Keys.test_predefined_raw)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 540, in test_double_commit
-    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
+    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -1959,7 +2128,7 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_get (tests.test.TestEndToEndNoRWD_Keys.test_get)
+ERROR: test_auth (tests.test.TestEndToEndNoRWD_Keys.test_auth)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -1967,21 +2136,37 @@
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
     if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 0B must be: 723B
+ValueError: input msg is invalid size: 482B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
     raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+ValueError: input msg is invalid size: 482B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_userblob_auth_create (tests.test.TestEndToEndNoRWD_Keys.test_userblob_auth_create)
+ERROR: test_create_user (tests.test.TestEndToEndNoRWD_Keys.test_create_user)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
+    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
+ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+
+======================================================================
+ERROR: test_huge_user (tests.test.TestEndToEndNoRWD_Keys.test_huge_user)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -1989,62 +2174,40 @@
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
     if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 0B must be: 723B
+ValueError: input msg is invalid size: 241B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 575, in test_userblob_auth_create
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 205, in test_huge_user
+    rwd=sphinx.create(s, pwd, 'a'*(2**16 - 42), host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
     raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_huge_user (tests.test.TestEndToEndNoRWD_Keys.test_huge_user)
+ERROR: test_get (tests.test.TestEndToEndNoRWD_Keys.test_get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 205, in test_huge_user
-    rwd=sphinx.create(s, pwd, 'a'*(2**16 - 42), host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
+    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
+ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_v1get (tests.test.TestEndToEndNoRWD_Keys.test_v1get)
+ERROR: test_create_user_xormask (tests.test.TestEndToEndNoRWD_Keys.test_create_user_xormask)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
-    resps = m.gather(33+RULE_SIZE, threshold)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
-    raise ValueError("oracles failed")
-ValueError: oracles failed
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
-    rwd = sphinx.get(s, pwd, user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
-    if v1sphinx.enabled: return try_v1get(pwd, host, user)
-                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
-    cret = create(m, pwd, user, host, target=target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
+    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2055,7 +2218,7 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_predefined_raw (tests.test.TestEndToEndNoRWD_Keys.test_predefined_raw)
+ERROR: test_delete (tests.test.TestEndToEndNoRWD_Keys.test_delete)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -2068,8 +2231,9 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
-    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
@@ -2077,58 +2241,58 @@
 ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_list_users (tests.test.TestEndToEndNoRWD_Keys.test_list_users)
+ERROR: test_main_get (tests.test.TestEndToEndNoRWD_Keys.test_main_get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 518, in test_list_users
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 624, in test_main_get
+    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
+                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
+    sys.exit(1) # generic errors
+    ~~~~~~~~^^^
+SystemExit: 1
+
+======================================================================
+ERROR: test_list_users_diff_mpwd (tests.test.TestEndToEndNoRWD_Keys.test_list_users_diff_mpwd)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 529, in test_list_users_diff_mpwd
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_pwd_len (tests.test.TestEndToEndNoRWD_Keys.test_pwd_len)
+ERROR: test_main_create (tests.test.TestEndToEndNoRWD_Keys.test_main_create)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 620, in test_main_create
+    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
+                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
+    sys.exit(1) # generic errors
+    ~~~~~~~~^^^
+SystemExit: 1
 
 ======================================================================
-ERROR: test_create_user_xormask (tests.test.TestEndToEndNoRWD_Keys.test_create_user_xormask)
+ERROR: test_rules_d (tests.test.TestEndToEndNoRWD_Keys.test_rules_d)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
-    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
+    rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2159,7 +2323,7 @@
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
     if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 241B must be: 723B
+ValueError: input msg is invalid size: 0B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
@@ -2170,85 +2334,43 @@
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
     raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_delete (tests.test.TestEndToEndNoRWD_Keys.test_main_delete)
+ERROR: test_recreate_user (tests.test.TestEndToEndNoRWD_Keys.test_recreate_user)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
 
-======================================================================
-ERROR: test_rules_l (tests.test.TestEndToEndNoRWD_Keys.test_rules_l)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
-    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_recreate_user (tests.test.TestEndToEndNoRWD_Keys.test_recreate_user)
-----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_rules_ulsd (tests.test.TestEndToEndNoRWD_Keys.test_rules_ulsd)
+ERROR: test_v1get (tests.test.TestEndToEndNoRWD_Keys.test_v1get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
+    resps = m.gather(33+RULE_SIZE, threshold)
+  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
+    raise ValueError("oracles failed")
+ValueError: oracles failed
+
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_rules_u (tests.test.TestEndToEndNoRWD_Keys.test_rules_u)
-----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
     out = pyoprf.tpdkg_tp_next(tp, msgs)
@@ -2260,8 +2382,13 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
-    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
+    rwd = sphinx.get(s, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
+    if v1sphinx.enabled: return try_v1get(pwd, host, user)
+                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
+    cret = create(m, pwd, user, host, target=target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
@@ -2269,58 +2396,10 @@
 ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_create (tests.test.TestEndToEndNoRWD_Keys.test_main_create)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 620, in test_main_create
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
-
-======================================================================
-ERROR: test_main_get (tests.test.TestEndToEndNoRWD_Keys.test_main_get)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 624, in test_main_get
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
-
-======================================================================
-ERROR: test_v1users (tests.test.TestEndToEndNoRWD_Keys.test_v1users)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 348, in test_v1users
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
-
-======================================================================
-ERROR: test_auth (tests.test.TestEndToEndNoUserlist.test_auth)
+ERROR: test_userblob_auth_create (tests.test.TestEndToEndNoRWD_Keys.test_userblob_auth_create)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 575, in test_userblob_auth_create
     rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
@@ -2332,12 +2411,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change (tests.test.TestEndToEndNoUserlist.test_change)
+ERROR: test_pwd_len (tests.test.TestEndToEndNoRWD_Keys.test_pwd_len)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2348,11 +2426,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_rules_d (tests.test.TestEndToEndNoUserlist.test_rules_d)
+ERROR: test_rules_l (tests.test.TestEndToEndNoRWD_Keys.test_rules_l)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
-    rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
+    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2363,11 +2441,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change_xormask (tests.test.TestEndToEndNoUserlist.test_change_xormask)
+ERROR: test_rules_u (tests.test.TestEndToEndNoRWD_Keys.test_rules_u)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
+    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2378,26 +2456,50 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_double_commit (tests.test.TestEndToEndNoUserlist.test_double_commit)
+ERROR: test_v1users (tests.test.TestEndToEndNoRWD_Keys.test_v1users)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 545, in test_double_commit
-    pwd2 = sphinx.change(s, pwd, pwd, user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
-    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 348, in test_v1users
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+
+======================================================================
+ERROR: test_create_user (tests.test.TestEndToEndNoUserlist.test_create_user)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_predefined_raw (tests.test.TestEndToEndNoUserlist.test_predefined_raw)
+ERROR: test_rules_d (tests.test.TestEndToEndNoUserlist.test_rules_d)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
-    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
+    rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2420,26 +2522,26 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_commit_undo_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_commit_undo_inv_mpwd)
+ERROR: test_change (tests.test.TestEndToEndNoUserlist.test_change)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 478, in test_commit_undo_inv_mpwd
-    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 424, in test_change
+    pwd1 = sphinx.change(s, pwd, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_create_user_xormask (tests.test.TestEndToEndNoUserlist.test_create_user_xormask)
+ERROR: test_change_xormask (tests.test.TestEndToEndNoUserlist.test_change_xormask)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
-    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2450,6 +2552,95 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
+ERROR: test_pwd_len (tests.test.TestEndToEndNoUserlist.test_pwd_len)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 482B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 482B must be: 723B | tp step 1
+
+======================================================================
+ERROR: test_rules_ulsd (tests.test.TestEndToEndNoUserlist.test_rules_ulsd)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+
+======================================================================
+ERROR: test_predefined_pwd (tests.test.TestEndToEndNoUserlist.test_predefined_pwd)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 650, in test_predefined_pwd
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size, target = pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+
+======================================================================
+ERROR: test_recreate_user (tests.test.TestEndToEndNoUserlist.test_recreate_user)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+
+======================================================================
 ERROR: test_v1get (tests.test.TestEndToEndNoUserlist.test_v1get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
@@ -2467,7 +2658,7 @@
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
     if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 0B must be: 723B
+ValueError: input msg is invalid size: 241B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
@@ -2483,14 +2674,14 @@
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
     raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
+ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_rules_u (tests.test.TestEndToEndNoUserlist.test_rules_u)
+ERROR: test_commit_undo (tests.test.TestEndToEndNoUserlist.test_commit_undo)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
-    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 437, in test_commit_undo
+    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2501,7 +2692,7 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_get (tests.test.TestEndToEndNoUserlist.test_get)
+ERROR: test_delete_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_delete_inv_mpwd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -2514,67 +2705,20 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
-    raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
-
-======================================================================
-ERROR: test_delete_inv_mpwd (tests.test.TestEndToEndNoUserlist.test_delete_inv_mpwd)
-----------------------------------------------------------------------
-Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 410, in test_delete_inv_mpwd
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
-
-======================================================================
-ERROR: test_create_user (tests.test.TestEndToEndNoUserlist.test_create_user)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_delete (tests.test.TestEndToEndNoUserlist.test_main_delete)
+ERROR: test_main_change_commit_undo (tests.test.TestEndToEndNoUserlist.test_main_change_commit_undo)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 636, in test_main_change_commit_undo
     self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
                       ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
@@ -2583,19 +2727,29 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_main_create (tests.test.TestEndToEndNoUserlist.test_main_create)
+ERROR: test_double_commit (tests.test.TestEndToEndNoUserlist.test_double_commit)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 620, in test_main_create
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 241B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 540, in test_double_commit
+    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_delete (tests.test.TestEndToEndNoUserlist.test_delete)
+ERROR: test_get (tests.test.TestEndToEndNoUserlist.test_get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -2603,25 +2757,24 @@
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
     if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 241B must be: 723B
+ValueError: input msg is invalid size: 0B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
     raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_change_commit_undo (tests.test.TestEndToEndNoUserlist.test_main_change_commit_undo)
+ERROR: test_main_delete (tests.test.TestEndToEndNoUserlist.test_main_delete)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 636, in test_main_change_commit_undo
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
     self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
                       ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
@@ -2630,7 +2783,22 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_predefined_pwd (tests.test.TestEndToEndNoUserlist.test_predefined_pwd)
+ERROR: test_rules_l (tests.test.TestEndToEndNoUserlist.test_rules_l)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
+    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
+    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
+ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+
+======================================================================
+ERROR: test_rules_u (tests.test.TestEndToEndNoUserlist.test_rules_u)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
@@ -2643,8 +2811,8 @@
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 650, in test_predefined_pwd
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size, target = pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
+    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
@@ -2652,38 +2820,15 @@
 ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_pwd_len (tests.test.TestEndToEndNoUserlist.test_pwd_len)
+ERROR: test_create_user_xormask (tests.test.TestEndToEndNoValidatePassword.test_create_user_xormask)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
+    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
-
-======================================================================
-ERROR: test_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_commit_undo)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 448, in test_commit_undo
-    pwd2 = sphinx.change(s, pwd, pwd.upper(), user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
-    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
@@ -2705,12 +2850,23 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change (tests.test.TestEndToEndNoValidatePassword.test_change)
+ERROR: test_main_get (tests.test.TestEndToEndNoValidatePassword.test_main_get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 624, in test_main_get
+    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
+                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
+    sys.exit(1) # generic errors
+    ~~~~~~~~^^^
+SystemExit: 1
+
+======================================================================
+ERROR: test_change_xormask (tests.test.TestEndToEndNoValidatePassword.test_change_xormask)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2721,11 +2877,12 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_create_user_xormask (tests.test.TestEndToEndNoValidatePassword.test_create_user_xormask)
+ERROR: test_recreate_user (tests.test.TestEndToEndNoValidatePassword.test_recreate_user)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
-    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2736,25 +2893,25 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change_xormask (tests.test.TestEndToEndNoValidatePassword.test_change_xormask)
+ERROR: test_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_commit_undo)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 448, in test_commit_undo
+    pwd2 = sphinx.change(s, pwd, pwd.upper(), user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_delete (tests.test.TestEndToEndNoValidatePassword.test_delete)
+ERROR: test_change (tests.test.TestEndToEndNoValidatePassword.test_change)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
@@ -2767,11 +2924,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_predefined_raw (tests.test.TestEndToEndNoValidatePassword.test_predefined_raw)
+ERROR: test_rules_l (tests.test.TestEndToEndNoValidatePassword.test_rules_l)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
-    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
+    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2797,54 +2954,23 @@
 ERROR: test_auth (tests.test.TestEndToEndNoValidatePassword.test_auth)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
-    out = pyoprf.tpdkg_tp_next(tp, msgs)
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
-    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
-                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: input msg is invalid size: 0B must be: 723B
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
     rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
-    raise ValueError(f"{e} | tp step {cur_step}")
-ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
-
-======================================================================
-ERROR: test_rules_u (tests.test.TestEndToEndNoValidatePassword.test_rules_u)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
-    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
+    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
+ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_list_users_diff_mpwd (tests.test.TestEndToEndNoValidatePassword.test_list_users_diff_mpwd)
+ERROR: test_get (tests.test.TestEndToEndNoValidatePassword.test_get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 529, in test_list_users_diff_mpwd
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
+    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2855,11 +2981,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_predefined_pwd (tests.test.TestEndToEndNoValidatePassword.test_predefined_pwd)
+ERROR: test_double_commit (tests.test.TestEndToEndNoValidatePassword.test_double_commit)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 650, in test_predefined_pwd
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size, target = pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 540, in test_double_commit
+    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
@@ -2878,62 +3004,70 @@
 BrokenPipeError: [Errno 32] Broken pipe
 
 ======================================================================
-ERROR: test_main_delete (tests.test.TestEndToEndNoValidatePassword.test_main_delete)
+ERROR: test_delete (tests.test.TestEndToEndNoValidatePassword.test_delete)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_create_user (tests.test.TestEndToEndNoValidatePassword.test_create_user)
-----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_pwd_len (tests.test.TestEndToEndNoValidatePassword.test_pwd_len)
+ERROR: test_rules_d (tests.test.TestEndToEndNoValidatePassword.test_rules_d)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
+    rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_rules_ulsd (tests.test.TestEndToEndNoValidatePassword.test_rules_ulsd)
+ERROR: test_v1get (tests.test.TestEndToEndNoValidatePassword.test_v1get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
+    resps = m.gather(33+RULE_SIZE, threshold)
+  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
+    raise ValueError("oracles failed")
+ValueError: oracles failed
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
+    rwd = sphinx.get(s, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
+    if v1sphinx.enabled: return try_v1get(pwd, host, user)
+                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
+    cret = create(m, pwd, user, host, target=target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -2944,10 +3078,10 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_v1users (tests.test.TestEndToEndNoValidatePassword.test_v1users)
+ERROR: test_delete_inv_mpwd (tests.test.TestEndToEndNoValidatePassword.test_delete_inv_mpwd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 348, in test_v1users
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 410, in test_delete_inv_mpwd
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
@@ -2960,50 +3094,34 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_rules_l (tests.test.TestEndToEndNoValidatePassword.test_rules_l)
+ERROR: test_list_users_diff_mpwd (tests.test.TestEndToEndNoValidatePassword.test_list_users_diff_mpwd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 218, in test_rules_l
-    rwd = sphinx.create(s, pwd, user, host, "l", '', 0)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 155, in gather
-    pkt = fds[fd][1].read(expectedmsglen)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 57, in read
-    res.append(self.fd.recv(size-read))
-               ~~~~~~~~~~~~^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1285, in recv
-    return self.read(buflen)
-           ~~~~~~~~~^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1140, in read
-    return self._sslobj.read(len)
-           ~~~~~~~~~~~~~~~~~^^^^^
-BrokenPipeError: [Errno 32] Broken pipe
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_delete_inv_mpwd (tests.test.TestEndToEndNoValidatePassword.test_delete_inv_mpwd)
-----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 410, in test_delete_inv_mpwd
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 529, in test_list_users_diff_mpwd
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_get (tests.test.TestEndToEndNoValidatePassword.test_get)
+ERROR: test_predefined_raw (tests.test.TestEndToEndNoValidatePassword.test_predefined_raw)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
+    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3014,10 +3132,10 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_list_users (tests.test.TestEndToEndNoValidatePassword.test_list_users)
+ERROR: test_v1users (tests.test.TestEndToEndNoValidatePassword.test_v1users)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 518, in test_list_users
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 348, in test_v1users
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
@@ -3030,26 +3148,33 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_recreate_user (tests.test.TestEndToEndNoValidatePassword.test_recreate_user)
+ERROR: test_list_users (tests.test.TestEndToEndNoValidatePassword.test_list_users)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 518, in test_list_users
     self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_change_commit_undo (tests.test.TestEndToEndNoValidatePassword.test_main_change_commit_undo)
+ERROR: test_main_delete (tests.test.TestEndToEndNoValidatePassword.test_main_delete)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 636, in test_main_change_commit_undo
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
     self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
                       ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
@@ -3058,11 +3183,11 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_userblob_auth_create (tests.test.TestEndToEndNoValidatePassword.test_userblob_auth_create)
+ERROR: test_pwd_len (tests.test.TestEndToEndNoValidatePassword.test_pwd_len)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 575, in test_userblob_auth_create
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3073,25 +3198,11 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_v1get (tests.test.TestEndToEndNoValidatePassword.test_v1get)
+ERROR: test_userblob_auth_create (tests.test.TestEndToEndNoValidatePassword.test_userblob_auth_create)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
-    resps = m.gather(33+RULE_SIZE, threshold)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
-    raise ValueError("oracles failed")
-ValueError: oracles failed
-
-During handling of the above exception, another exception occurred:
-
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
-    rwd = sphinx.get(s, pwd, user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
-    if v1sphinx.enabled: return try_v1get(pwd, host, user)
-                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
-    cret = create(m, pwd, user, host, target=target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 575, in test_userblob_auth_create
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3102,27 +3213,33 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_change_xormask (tests.test.TestEndToEndNoneEither.test_change_xormask)
+ERROR: test_rules_u (tests.test.TestEndToEndNoValidatePassword.test_rules_u)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 590, in test_change_xormask
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 482B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
+    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 482B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_change (tests.test.TestEndToEndNoneEither.test_change)
+ERROR: test_auth (tests.test.TestEndToEndNoneEither.test_auth)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3133,11 +3250,12 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_get (tests.test.TestEndToEndNoneEither.test_get)
+ERROR: test_change (tests.test.TestEndToEndNoneEither.test_change)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 267, in test_get
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 417, in test_change
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3148,19 +3266,19 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_auth (tests.test.TestEndToEndNoneEither.test_auth)
+ERROR: test_double_commit (tests.test.TestEndToEndNoneEither.test_double_commit)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 564, in test_auth
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 545, in test_double_commit
+    pwd2 = sphinx.change(s, pwd, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
+               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
+    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
+ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
 ERROR: test_main_change_commit_undo (tests.test.TestEndToEndNoneEither.test_main_change_commit_undo)
@@ -3175,58 +3293,26 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_commit_undo (tests.test.TestEndToEndNoneEither.test_commit_undo)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 437, in test_commit_undo
-    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
-
-======================================================================
-ERROR: test_delete (tests.test.TestEndToEndNoneEither.test_delete)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
-
-======================================================================
-ERROR: test_double_commit (tests.test.TestEndToEndNoneEither.test_double_commit)
+ERROR: test_change_xormask (tests.test.TestEndToEndNoneEither.test_change_xormask)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 540, in test_double_commit
-    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 599, in test_change_xormask
+    rwd2 = sphinx.change(s, pwd, pwd, user, host, '', '', 0, pwd+pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 792, in change
+    beta = dkg(m, CHANGE_DKG, threshold, None, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 465, in dkg
+    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg change k", peer_lt_pks)
                ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
     raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_create_user (tests.test.TestEndToEndNoneEither.test_create_user)
+ERROR: test_commit_undo (tests.test.TestEndToEndNoneEither.test_commit_undo)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 437, in test_commit_undo
+    pwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3237,138 +3323,107 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_create_user_xormask (tests.test.TestEndToEndNoneEither.test_create_user_xormask)
+ERROR: test_v1get (tests.test.TestEndToEndNoneEither.test_v1get)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
-    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
-
-======================================================================
-ERROR: test_get_nonexistant_host (tests.test.TestEndToEndNoneEither.test_get_nonexistant_host)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 660, in get
-    m = ratelimit(m, msgs, threshold)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 406, in ratelimit
-    challenges  = ratelimit_step1(m, reqs, min_conns)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 398, in ratelimit_step1
-    challenges = m.gather(1+1+8+32, n=min_conns) # n,k,ts,sig
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 671, in get
+    resps = m.gather(33+RULE_SIZE, threshold)
+  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 164, in gather
+    raise ValueError("oracles failed")
+ValueError: oracles failed
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 398, in test_get_nonexistant_host
-    self.assertRaises(ValueError, sphinx.get, s, pwd, user, host)
-    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/unittest/case.py", line 795, in assertRaises
-    return context.handle('assertRaises', args, kwargs)
-           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/unittest/case.py", line 238, in handle
-    callable_obj(*args, **kwargs)
-    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 662, in get
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
+    rwd = sphinx.get(s, pwd, user, host)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 673, in get
     if v1sphinx.enabled: return try_v1get(pwd, host, user)
                                 ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 632, in try_v1get
-    rwd, classes, size, symbols = v1sphinx.get(pwd, user, host)
-                                  ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py", line 251, in get
-    s = connect()
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py", line 88, in connect
-    s.connect((address, port))
-    ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1405, in connect
-    self._real_connect(addr, False)
-    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1392, in _real_connect
-    super().connect(addr)
-    ~~~~~~~~~~~~~~~^^^^^^
-ConnectionRefusedError: [Errno 111] Connection refused
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 642, in try_v1get
+    cret = create(m, pwd, user, host, target=target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_main_delete (tests.test.TestEndToEndNoneEither.test_main_delete)
+ERROR: test_create_user (tests.test.TestEndToEndNoneEither.test_create_user)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 198, in test_create_user
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_get_nonexistant_record (tests.test.TestEndToEndNoneEither.test_get_nonexistant_record)
+ERROR: test_create_user_xormask (tests.test.TestEndToEndNoneEither.test_create_user_xormask)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 660, in get
-    m = ratelimit(m, msgs, threshold)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 406, in ratelimit
-    challenges  = ratelimit_step1(m, reqs, min_conns)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 398, in ratelimit_step1
-    challenges = m.gather(1+1+8+32, n=min_conns) # n,k,ts,sig
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 263, in test_get_nonexistant_record
-    self.assertRaises(ValueError, sphinx.get, s, pwd, user, host)
-    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/unittest/case.py", line 795, in assertRaises
-    return context.handle('assertRaises', args, kwargs)
-           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/unittest/case.py", line 238, in handle
-    callable_obj(*args, **kwargs)
-    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 662, in get
-    if v1sphinx.enabled: return try_v1get(pwd, host, user)
-                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 632, in try_v1get
-    rwd, classes, size, symbols = v1sphinx.get(pwd, user, host)
-                                  ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py", line 251, in get
-    s = connect()
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py", line 88, in connect
-    s.connect((address, port))
-    ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1405, in connect
-    self._real_connect(addr, False)
-    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1392, in _real_connect
-    super().connect(addr)
-    ~~~~~~~~~~~~~~~^^^^^^
-ConnectionRefusedError: [Errno 111] Connection refused
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 584, in test_create_user_xormask
+    rwd = sphinx.create(s, pwd, user, host, '', '', 0, pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
+    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_predefined_pwd (tests.test.TestEndToEndNoneEither.test_predefined_pwd)
+ERROR: test_predefined_raw (tests.test.TestEndToEndNoneEither.test_predefined_raw)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 650, in test_predefined_pwd
-    rwd0 = sphinx.create(s, pwd, user, host, char_classes, syms, size, target = pwd)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 241B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
+    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
 ERROR: test_main_create (tests.test.TestEndToEndNoneEither.test_main_create)
@@ -3383,123 +3438,68 @@
 SystemExit: 1
 
 ======================================================================
-ERROR: test_main_get (tests.test.TestEndToEndNoneEither.test_main_get)
+ERROR: test_rules_d (tests.test.TestEndToEndNoneEither.test_rules_d)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 624, in test_main_get
-    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
-                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
-    sys.exit(1) # generic errors
-    ~~~~~~~~^^^
-SystemExit: 1
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
 
-======================================================================
-ERROR: test_rules_d (tests.test.TestEndToEndNoneEither.test_rules_d)
-----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 224, in test_rules_d
     rwd = sphinx.create(s, pwd, user, host, "d", '', 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_v1get (tests.test.TestEndToEndNoneEither.test_v1get)
+ERROR: test_delete (tests.test.TestEndToEndNoneEither.test_delete)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 660, in get
-    m = ratelimit(m, msgs, threshold)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 406, in ratelimit
-    challenges  = ratelimit_step1(m, reqs, min_conns)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 398, in ratelimit_step1
-    challenges = m.gather(1+1+8+32, n=min_conns) # n,k,ts,sig
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 241B must be: 723B
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 330, in test_v1get
-    rwd = sphinx.get(s, pwd, user, host)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 662, in get
-    if v1sphinx.enabled: return try_v1get(pwd, host, user)
-                                ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 632, in try_v1get
-    rwd, classes, size, symbols = v1sphinx.get(pwd, user, host)
-                                  ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py", line 251, in get
-    s = connect()
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py", line 88, in connect
-    s.connect((address, port))
-    ~~~~~~~~~^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1405, in connect
-    self._real_connect(addr, False)
-    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
-  File "/usr/lib/python3.13/ssl.py", line 1392, in _real_connect
-    super().connect(addr)
-    ~~~~~~~~~~~~~~~^^^^^^
-ConnectionRefusedError: [Errno 111] Connection refused
-
-======================================================================
-ERROR: test_rules_ulsd (tests.test.TestEndToEndNoneEither.test_rules_ulsd)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
-
-======================================================================
-ERROR: test_predefined_raw (tests.test.TestEndToEndNoneEither.test_predefined_raw)
-----------------------------------------------------------------------
-Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 663, in test_predefined_raw
-    rwd0 = sphinx.create(s, pwd, 'raw://'+user, host, '', '', 0, target = target)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 402, in test_delete
+    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
+                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 241B must be: 723B | tp step 1
 
 ======================================================================
-ERROR: test_recreate_user (tests.test.TestEndToEndNoneEither.test_recreate_user)
+ERROR: test_main_delete (tests.test.TestEndToEndNoneEither.test_main_delete)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 252, in test_recreate_user
-    self.assertIsInstance(sphinx.create(s, pwd, user, host, char_classes, syms, size), str)
-                          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
-    beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 475, in dkg
-    peer_msgs = m.gather(sizes[0],n) #,debug=True)
-  File "/usr/lib/python3/dist-packages/pyoprf/multiplexer.py", line 144, in gather
-    if not fds: raise ValueError("not enough peers left to get enough results")
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-ValueError: not enough peers left to get enough results
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 630, in test_main_delete
+    self.assertIsNone(sphinx.main(('sphinx.py', 'create', user, host, char_classes, syms, str(size))))
+                      ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 1197, in main
+    sys.exit(1) # generic errors
+    ~~~~~~~~^^^
+SystemExit: 1
 
 ======================================================================
-ERROR: test_rules_u (tests.test.TestEndToEndNoneEither.test_rules_u)
+ERROR: test_pwd_len (tests.test.TestEndToEndNoneEither.test_pwd_len)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 212, in test_rules_u
-    rwd = sphinx.create(s, pwd, user, host, "u", '', 0)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
@@ -3525,26 +3525,49 @@
 ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
 
 ======================================================================
-ERROR: test_pwd_len (tests.test.TestEndToEndNoneEither.test_pwd_len)
+ERROR: test_rules_ulsd (tests.test.TestEndToEndNoneEither.test_rules_ulsd)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 240, in test_pwd_len
-    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, i)
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 482, in dkg
+    out = pyoprf.tpdkg_tp_next(tp, msgs)
+  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 538, in tpdkg_tp_next
+    if len(msg) != input_len: raise ValueError(f"input msg is invalid size: {len(msg)}B must be: {input_len}B")
+                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ValueError: input msg is invalid size: 0B must be: 723B
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/tests/test.py", line 230, in test_rules_ulsd
+    rwd = sphinx.create(s, pwd, user, host, char_classes, syms, 0)
   File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 547, in create
     beta = dkg(m, CREATE_DKG, threshold, ids, alpha)
-  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 460, in dkg
-    tp, msg0 = pyoprf.tpdkg_start_tp(n, threshold, ts_epsilon, "threshold sphinx dkg create k", peer_lt_pks)
-               ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  File "/usr/lib/python3/dist-packages/pyoprf/__init__.py", line 492, in tpdkg_start_tp
-    raise ValueError("cannot align at 32bytes the TP_DKG_PeerState struct")
-ValueError: cannot align at 32bytes the TP_DKG_PeerState struct
+  File "/build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py", line 493, in dkg
+    raise ValueError(f"{e} | tp step {cur_step}")
+ValueError: input msg is invalid size: 0B must be: 723B | tp step 1
 
 ----------------------------------------------------------------------
-Ran 289 tests in 1310.090s
+Ran 289 tests in 1045.551s
 
-FAILED (errors=120)
+FAILED (errors=103)
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=21, family=2, type=1, proto=0, laddr=('127.0.0.1', 37158)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=20, family=2, type=1, proto=0, laddr=('127.0.0.1', 45910)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=8, family=2, type=1, proto=0, laddr=('127.0.0.1', 59640)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=7, family=2, type=1, proto=0, laddr=('127.0.0.1', 33998)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=6, family=2, type=1, proto=0, laddr=('127.0.0.1', 35342)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=5, family=2, type=1, proto=0, laddr=('127.0.0.1', 52622)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=4, family=2, type=1, proto=0, laddr=('127.0.0.1', 41504)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=3, family=2, type=1, proto=0, laddr=('127.0.0.1', 35144)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=33, family=2, type=1, proto=0, laddr=('127.0.0.1', 32972)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=32, family=2, type=1, proto=0, laddr=('127.0.0.1', 56808)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=27, family=2, type=1, proto=0, laddr=('127.0.0.1', 52074)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=17, family=2, type=1, proto=0, laddr=('127.0.0.1', 45968)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=16, family=2, type=1, proto=0, laddr=('127.0.0.1', 51762)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=15, family=2, type=1, proto=0, laddr=('127.0.0.1', 44572)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=36, family=2, type=1, proto=0, laddr=('127.0.0.1', 42492)>
+<sys>:0: ResourceWarning: unclosed <ssl.SSLSocket fd=35, family=2, type=1, proto=0, laddr=('127.0.0.1', 50910)>
 E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build; python3.13 -m unittest discover -v 
-	rm -fr -- /tmp/dh-xdg-rundir-dlJ7yexE
+	rm -fr -- /tmp/dh-xdg-rundir-I6Ah8q_w
 dh_auto_test: error: pybuild --test -i python{version} -p 3.13 returned exit code 13
 make[1]: [debian/rules:22: override_dh_auto_test] Error 25 (ignored)
 make[1]: Leaving directory '/build/reproducible-path/pwdsphinx-2.0.3'
@@ -3580,73 +3603,73 @@
 running build_py
 running install_lib
 creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
-creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/masterkey -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/eris.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/one.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/zero.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/drei.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/two.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/cert.pem -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
 creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/utils.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/config.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/oracle.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/ostore.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/consts.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/config.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/bin2pass.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/ostore.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/utils.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/consts.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/sphinx.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/converter.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/ext.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/v1sphinx.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converter.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
 creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/minisig.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/raw.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
 creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/ssh-ed25519.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/minisig.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/totp.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/sphage.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/raw.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/totp.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/minisig.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__pycache__/ssh-ed25519.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__pycache__
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/totp.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__init__.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/sphage.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/__init__.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/raw.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/minisig.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/ssh-ed25519.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converters/totp.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/config.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/ext.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/utils.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/consts.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/v1sphinx.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/consts.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/bin2pass.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/utils.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/ext.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/__init__.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/sphinx.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/converter.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/config.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__pycache__/ostore.cpython-313.pyc -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__pycache__
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/__init__.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/bin2pass.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/converter.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/websphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/oracle.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/bin2pass.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/v1sphinx.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/pwdsphinx/ostore.py -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx
+creating /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/zero.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/eris.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/drei.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/one.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/two.pub -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/data/masterkey -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/data
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/start-servers.sh -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
-copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/sphinx.cfg -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/cert.pem -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
 copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/key.pem -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/utils.py to utils.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/config.py to config.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/oracle.py to oracle.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/ostore.py to ostore.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/consts.py to consts.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/minisig.py to minisig.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/raw.py to raw.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/totp.py to totp.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__init__.py to __init__.cpython-313.pyc
+copying /build/reproducible-path/pwdsphinx-2.0.3/.pybuild/cpython3_3.13/build/sphinx.cfg -> /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converter.py to converter.cpython-313.pyc
 byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/sphage.py to sphage.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/__init__.py to __init__.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/raw.py to raw.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/minisig.py to minisig.cpython-313.pyc
 byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/ssh-ed25519.py to ssh-ed25519.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/sphinx.py to sphinx.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converters/totp.py to totp.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/config.py to config.cpython-313.pyc
 byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/ext.py to ext.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/v1sphinx.py to v1sphinx.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/utils.py to utils.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/consts.py to consts.cpython-313.pyc
 byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/__init__.py to __init__.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/bin2pass.py to bin2pass.cpython-313.pyc
-byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/converter.py to converter.cpython-313.pyc
 byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/websphinx.py to websphinx.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/oracle.py to oracle.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/bin2pass.py to bin2pass.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/sphinx.py to sphinx.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/v1sphinx.py to v1sphinx.cpython-313.pyc
+byte-compiling /build/reproducible-path/pwdsphinx-2.0.3/debian/tmp/usr/lib/python3.13/dist-packages/pwdsphinx/ostore.py to ostore.cpython-313.pyc
 running install_egg_info
 running egg_info
 creating pwdsphinx.egg-info
@@ -3704,7 +3727,7 @@
 	install -m0755 -d debian/pwdsphinx-tools//usr/bin
 	cp --reflink=auto -a debian/tmp/usr/bin/dmenu-sphinx debian/tmp/usr/bin/exec-on-click debian/tmp/usr/bin/getpwd debian/tmp/usr/bin/pipe2tmpfile debian/tmp/usr/bin/sphage debian/tmp/usr/bin/sphinx-x11 debian/tmp/usr/bin/type-pwd debian/pwdsphinx-tools//usr/bin/
 	install -m0755 -d debian/pwdsphinx-tools/usr/bin/
-	cp --reflink=auto -a ./debian/tmp/dh-exec.mdlMaQNF/usr/bin/sx11-getacc-user-pass ./debian/tmp/dh-exec.mdlMaQNF/usr/bin/sx11-otp ./debian/tmp/dh-exec.mdlMaQNF/usr/bin/sx11-pass ./debian/tmp/dh-exec.mdlMaQNF/usr/bin/sx11-user-pass ./debian/tmp/dh-exec.mdlMaQNF/usr/bin/sx11-user-pass-otp debian/pwdsphinx-tools/usr/bin//
+	cp --reflink=auto -a ./debian/tmp/dh-exec.BdrH5lWh/usr/bin/sx11-getacc-user-pass ./debian/tmp/dh-exec.BdrH5lWh/usr/bin/sx11-otp ./debian/tmp/dh-exec.BdrH5lWh/usr/bin/sx11-pass ./debian/tmp/dh-exec.BdrH5lWh/usr/bin/sx11-user-pass ./debian/tmp/dh-exec.BdrH5lWh/usr/bin/sx11-user-pass-otp debian/pwdsphinx-tools/usr/bin//
    dh_installdocs -O--buildsystem=pybuild
 	install -m0755 -d debian/pwdsphinx/usr/share/doc/pwdsphinx
 	install -m0755 -d debian/pwdsphinx/usr/share/doc/pwdsphinx
@@ -3752,29 +3775,24 @@
 	install -m0755 -d debian/pwdsphinx-tools/usr/share/man/man1/
 	install -p -m0644 man/type-pwd.1 debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1
 	install -m0755 -d debian/pwdsphinx-tools/usr/share/man/man1/
-	install -p -m0644 debian/tmp/dh-exec.9kG7xkjG/man/sx11-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1
+	install -p -m0644 debian/tmp/dh-exec.D_0uM7lS/man/sx11-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1
 	install -m0755 -d debian/pwdsphinx-tools/usr/share/man/man1/
-	install -p -m0644 debian/tmp/dh-exec.9kG7xkjG/man/man/sx11-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1
+	install -p -m0644 debian/tmp/dh-exec.D_0uM7lS/man/man/sx11-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1
 	install -m0755 -d debian/pwdsphinx-tools/usr/share/man/man1/
-	install -p -m0644 debian/tmp/dh-exec.9kG7xkjG/man/man/sx11-user-pass-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1
+	install -p -m0644 debian/tmp/dh-exec.D_0uM7lS/man/man/sx11-user-pass-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1
 	install -m0755 -d debian/pwdsphinx-tools/usr/share/man/man1/
-	install -p -m0644 debian/tmp/dh-exec.9kG7xkjG/man/man/sx11-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1
+	install -p -m0644 debian/tmp/dh-exec.D_0uM7lS/man/man/sx11-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1
 	install -m0755 -d debian/pwdsphinx-tools/usr/share/man/man1/
-	install -p -m0644 debian/tmp/dh-exec.9kG7xkjG/man/man/sx11-getacc-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1
+	install -p -m0644 debian/tmp/dh-exec.D_0uM7lS/man/man/sx11-getacc-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1
 	man-recode --to-code UTF-8 --suffix .dh-new debian/pwdsphinx/usr/share/man/man1/bin2pass.1 debian/pwdsphinx/usr/share/man/man1/oracle.1 debian/pwdsphinx/usr/share/man/man1/sphinx.1 debian/pwdsphinx/usr/share/man/man1/websphinx.1
 	man-recode --to-code UTF-8 --suffix .dh-new debian/pwdsphinx-tools/usr/share/man/man1/dmenu-sphinx.1 debian/pwdsphinx-tools/usr/share/man/man1/exec-on-click.1 debian/pwdsphinx-tools/usr/share/man/man1/getpwd.1 debian/pwdsphinx-tools/usr/share/man/man1/pipe2tmpfile.1
-	man-recode --to-code UTF-8 --suffix .dh-new debian/pwdsphinx-tools/usr/share/man/man1/sphage.1 debian/pwdsphinx-tools/usr/share/man/man1/sphinx-x11.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1
 	man-recode --to-code UTF-8 --suffix .dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1
+	man-recode --to-code UTF-8 --suffix .dh-new debian/pwdsphinx-tools/usr/share/man/man1/sphage.1 debian/pwdsphinx-tools/usr/share/man/man1/sphinx-x11.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1
 	mv debian/pwdsphinx-tools/usr/share/man/man1/dmenu-sphinx.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/dmenu-sphinx.1
 	mv debian/pwdsphinx-tools/usr/share/man/man1/exec-on-click.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/exec-on-click.1
 	mv debian/pwdsphinx-tools/usr/share/man/man1/getpwd.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/getpwd.1
 	mv debian/pwdsphinx-tools/usr/share/man/man1/pipe2tmpfile.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/pipe2tmpfile.1
 	chmod 0644 -- debian/pwdsphinx-tools/usr/share/man/man1/dmenu-sphinx.1 debian/pwdsphinx-tools/usr/share/man/man1/exec-on-click.1 debian/pwdsphinx-tools/usr/share/man/man1/getpwd.1 debian/pwdsphinx-tools/usr/share/man/man1/pipe2tmpfile.1
-	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1
-	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1
-	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1
-	mv debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1
-	chmod 0644 -- debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1
 	mv debian/pwdsphinx/usr/share/man/man1/bin2pass.1.dh-new debian/pwdsphinx/usr/share/man/man1/bin2pass.1
 	mv debian/pwdsphinx/usr/share/man/man1/oracle.1.dh-new debian/pwdsphinx/usr/share/man/man1/oracle.1
 	mv debian/pwdsphinx/usr/share/man/man1/sphinx.1.dh-new debian/pwdsphinx/usr/share/man/man1/sphinx.1
@@ -3785,6 +3803,11 @@
 	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1
 	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1
 	chmod 0644 -- debian/pwdsphinx-tools/usr/share/man/man1/sphage.1 debian/pwdsphinx-tools/usr/share/man/man1/sphinx-x11.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-getacc-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-otp.1
+	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1
+	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1
+	mv debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1
+	mv debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1.dh-new debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1
+	chmod 0644 -- debian/pwdsphinx-tools/usr/share/man/man1/sx11-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass-otp.1 debian/pwdsphinx-tools/usr/share/man/man1/sx11-user-pass.1 debian/pwdsphinx-tools/usr/share/man/man1/type-pwd.1
    dh_python3 -O--buildsystem=pybuild
 D: dh_python3 dh_python3:180: version: 6.20250308
 D: dh_python3 dh_python3:181: argv: ['/usr/bin/dh_python3', '-O--buildsystem=pybuild']
@@ -3808,18 +3831,18 @@
 	cd '/build/reproducible-path/pwdsphinx-2.0.3'
 	cd '/build/reproducible-path/pwdsphinx-2.0.3'
    dh_fixperms -O--buildsystem=pybuild
-	find debian/pwdsphinx ! -type l -a -true -a -true -print0 2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s
 	find debian/pwdsphinx-tools ! -type l -a -true -a -true -print0 2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s
-	find debian/pwdsphinx-tools/usr/share/doc -type f -a -true -a ! -regex 'debian/pwdsphinx-tools/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null | xargs -0r chmod 0644
+	find debian/pwdsphinx ! -type l -a -true -a -true -print0 2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s
 	find debian/pwdsphinx/usr/share/doc -type f -a -true -a ! -regex 'debian/pwdsphinx/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null | xargs -0r chmod 0644
-	find debian/pwdsphinx-tools/usr/share/doc -type d -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0755
+	find debian/pwdsphinx-tools/usr/share/doc -type f -a -true -a ! -regex 'debian/pwdsphinx-tools/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null | xargs -0r chmod 0644
 	find debian/pwdsphinx/usr/share/doc -type d -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0755
-	find debian/pwdsphinx-tools/usr/share/man -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
+	find debian/pwdsphinx-tools/usr/share/doc -type d -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0755
 	find debian/pwdsphinx/usr/share/man -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
-	find debian/pwdsphinx-tools -type f \( -name '*.so.*' -o -name '*.so' -o -name '*.la' -o -name '*.a' -o -name '*.js' -o -name '*.css' -o -name '*.scss' -o -name '*.sass' -o -name '*.jpeg' -o -name '*.jpg' -o -name '*.png' -o -name '*.gif' -o -name '*.cmxs' -o -name '*.node' \) -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
+	find debian/pwdsphinx-tools/usr/share/man -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
 	find debian/pwdsphinx -type f \( -name '*.so.*' -o -name '*.so' -o -name '*.la' -o -name '*.a' -o -name '*.js' -o -name '*.css' -o -name '*.scss' -o -name '*.sass' -o -name '*.jpeg' -o -name '*.jpg' -o -name '*.png' -o -name '*.gif' -o -name '*.cmxs' -o -name '*.node' \) -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
-	find debian/pwdsphinx-tools/usr/bin -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod a+x
+	find debian/pwdsphinx-tools -type f \( -name '*.so.*' -o -name '*.so' -o -name '*.la' -o -name '*.a' -o -name '*.js' -o -name '*.css' -o -name '*.scss' -o -name '*.sass' -o -name '*.jpeg' -o -name '*.jpg' -o -name '*.png' -o -name '*.gif' -o -name '*.cmxs' -o -name '*.node' \) -a -true -a -true -print0 2>/dev/null | xargs -0r chmod 0644
 	find debian/pwdsphinx/usr/bin -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod a+x
+	find debian/pwdsphinx-tools/usr/bin -type f -a -true -a -true -print0 2>/dev/null | xargs -0r chmod a+x
 	find debian/pwdsphinx/usr/lib -type f -name '*.ali' -a -true -a -true -print0 2>/dev/null | xargs -0r chmod uga-w
    dh_missing -O--buildsystem=pybuild
    dh_installdeb -O--buildsystem=pybuild
@@ -3829,28 +3852,28 @@
 	chmod 0644 -- debian/pwdsphinx/DEBIAN/conffiles
 	install -m0755 -d debian/pwdsphinx-tools/DEBIAN
    dh_gencontrol -O--buildsystem=pybuild
-	install -m0755 -d debian/pwdsphinx-tools/DEBIAN
-	echo misc:Depends= >> debian/pwdsphinx-tools.substvars
-	echo misc:Pre-Depends= >> debian/pwdsphinx-tools.substvars
-	dpkg-gencontrol -ppwdsphinx-tools -ldebian/changelog -Tdebian/pwdsphinx-tools.substvars -cdebian/control -Pdebian/pwdsphinx-tools
 	install -m0755 -d debian/pwdsphinx/DEBIAN
 	echo misc:Depends= >> debian/pwdsphinx.substvars
 	echo misc:Pre-Depends= >> debian/pwdsphinx.substvars
 	dpkg-gencontrol -ppwdsphinx -ldebian/changelog -Tdebian/pwdsphinx.substvars -cdebian/control -Pdebian/pwdsphinx
-	chmod 0644 -- debian/pwdsphinx-tools/DEBIAN/control
+	install -m0755 -d debian/pwdsphinx-tools/DEBIAN
+	echo misc:Depends= >> debian/pwdsphinx-tools.substvars
+	echo misc:Pre-Depends= >> debian/pwdsphinx-tools.substvars
+	dpkg-gencontrol -ppwdsphinx-tools -ldebian/changelog -Tdebian/pwdsphinx-tools.substvars -cdebian/control -Pdebian/pwdsphinx-tools
 	chmod 0644 -- debian/pwdsphinx/DEBIAN/control
+	chmod 0644 -- debian/pwdsphinx-tools/DEBIAN/control
    dh_md5sums -O--buildsystem=pybuild
-	install -m0755 -d debian/pwdsphinx/DEBIAN
 	install -m0755 -d debian/pwdsphinx-tools/DEBIAN
+	install -m0755 -d debian/pwdsphinx/DEBIAN
 	cd debian/pwdsphinx >/dev/null && xargs -r0 md5sum | perl -pe 'if (s@^\\@@) { s/\\\\/\\/g; }' > DEBIAN/md5sums
 	cd debian/pwdsphinx-tools >/dev/null && xargs -r0 md5sum | perl -pe 'if (s@^\\@@) { s/\\\\/\\/g; }' > DEBIAN/md5sums
 	chmod 0644 -- debian/pwdsphinx/DEBIAN/md5sums
 	chmod 0644 -- debian/pwdsphinx-tools/DEBIAN/md5sums
    dh_builddeb -O--buildsystem=pybuild
-	dpkg-deb --root-owner-group --build debian/pwdsphinx ..
 	dpkg-deb --root-owner-group --build debian/pwdsphinx-tools ..
-dpkg-deb: building package 'pwdsphinx-tools' in '../pwdsphinx-tools_2.0.3-1_all.deb'.
+	dpkg-deb --root-owner-group --build debian/pwdsphinx ..
 dpkg-deb: building package 'pwdsphinx' in '../pwdsphinx_2.0.3-1_all.deb'.
+dpkg-deb: building package 'pwdsphinx-tools' in '../pwdsphinx-tools_2.0.3-1_all.deb'.
  dpkg-genbuildinfo --build=binary -O../pwdsphinx_2.0.3-1_armhf.buildinfo
  dpkg-genchanges --build=binary -O../pwdsphinx_2.0.3-1_armhf.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -3858,12 +3881,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: including full source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/19558/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/16575 and its subdirectories
-I: Current time: Fri Mar 21 10:15:26 -12 2025
-I: pbuilder-time-stamp: 1742595326
+I: removing directory /srv/workspace/pbuilder/19558 and its subdirectories
+I: Current time: Sat Mar 22 12:34:32 +14 2025
+I: pbuilder-time-stamp: 1742596472