« get me outta code hell

update tap because glob is grouchy. Awww. Outdated versions of glob have known vulnerabilities. Well not any THAT ARE REPORTED YOU FOOL - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-04-11 09:57:07 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-04-11 09:57:07 -0300
commit6c234fbebc746edae29dfe6f17c30167717aa58b (patch)
tree7b6797519ddf5e4a03d7746120de754506b4481e
parentcc635018fd28fc0edf95c100fcdc28292dc77384 (diff)
update tap because glob is grouchy. Awww. Outdated versions of glob have known vulnerabilities. Well not any THAT ARE REPORTED YOU FOOL
-rw-r--r--package-lock.json1191
-rw-r--r--package.json2
2 files changed, 516 insertions, 677 deletions
diff --git a/package-lock.json b/package-lock.json
index c884f9b0..65e12bd7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -30,7 +30,7 @@
                 "hsmusic": "src/upd8.js"
             },
             "devDependencies": {
-                "tap": "21.6.2"
+                "tap": "21.6.3"
             },
             "engines": {
                 "node": ">= 22.13.0"
@@ -54,7 +54,8 @@
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz",
             "integrity": "sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==",
-            "dev": true
+            "dev": true,
+            "license": "BSD-2-Clause"
         },
         "node_modules/@bcoe/v8-coverage": {
             "version": "1.0.2",
@@ -710,9 +711,9 @@
             }
         },
         "node_modules/@sigstore/protobuf-specs": {
-            "version": "0.5.0",
-            "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz",
-            "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==",
+            "version": "0.5.1",
+            "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz",
+            "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==",
             "dev": true,
             "license": "Apache-2.0",
             "engines": {
@@ -767,9 +768,9 @@
             }
         },
         "node_modules/@tapjs/after": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-3.3.4.tgz",
-            "integrity": "sha512-Y8DL0F9Ux6Swe7b5g4qLFgJUEFrVr5fhmVOENw4D/x7rDRyx/3c86Ya1p9iJrpkE2RnvdGq9AxR/rTM137Y7Lg==",
+            "version": "3.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-3.3.5.tgz",
+            "integrity": "sha512-6TVAGHKIdP+MrKQmHQDCS/O/vvUy6eIQDR/RNaU/v0H/zz9v/jkykxSMt/exsWjswDdX9+5mXyOgiA2bvGwMfQ==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -779,13 +780,13 @@
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/after-each": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-4.3.4.tgz",
-            "integrity": "sha512-TM1OWz7Ht3aimbT/MLYnoywI9SBGsTus6TQ+94n1yjr1izO3K21PP5Q9UYdqZ2Qq1WiZmGa+CZKUZANUn1ZcvQ==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-4.3.5.tgz",
+            "integrity": "sha512-rbZQv6tcCiLmDAM6Xq73m8mFXvnMUVNqoiQnkKMlEM2Rh2l8nw0JLsuFNbk4EPYwCCLvIMyK0g6LZm0feqJXBg==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -795,19 +796,19 @@
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/asserts": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-4.3.4.tgz",
-            "integrity": "sha512-1kf2q0oQ7LCZKy5l4Oe7/ZVijhJ9YxbS4qmqGtj7cYwOw4Q78KNLwthh14c9EBbI2QHKUDS2LaLM8a1qMLmPiA==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-4.3.5.tgz",
+            "integrity": "sha512-INThO34um7OgcM9aqhrq+EMVhlo59DfFDev0QPQeqJIV3AGVksX89IROqc9rFKJ4dSerUijzBHEsXfcg2n+tzQ==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/stack": "4.3.0",
+                "@tapjs/stack": "4.3.1",
                 "is-actual-promise": "^1.0.1",
-                "tcompare": "9.3.0",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
             },
             "engines": {
@@ -817,37 +818,13 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
-            }
-        },
-        "node_modules/@tapjs/asserts/node_modules/diff": {
-            "version": "8.0.4",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-            "dev": true,
-            "license": "BSD-3-Clause",
-            "engines": {
-                "node": ">=0.3.1"
-            }
-        },
-        "node_modules/@tapjs/asserts/node_modules/tcompare": {
-            "version": "9.3.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-            "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-            "dev": true,
-            "license": "BlueOak-1.0.0",
-            "dependencies": {
-                "diff": "^8.0.2",
-                "react-element-to-jsx-string": "^15.0.0"
-            },
-            "engines": {
-                "node": "20 || >=22"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/before": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-4.3.4.tgz",
-            "integrity": "sha512-53n/8/RktPkbCuZveDTYiplbrzWjFkYAnmYCrFixESsFoUrkfTCPjeCRmojBS14zuRdVe4kLsX6XWYkaUpLdZA==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-4.3.5.tgz",
+            "integrity": "sha512-TvjahSNUcEvzoq24bqyJ6ohzoOO/HnTUu1JHRsReQMK3XP7ARtz47Iv4wBEMeh/WrN4xMY9kc3wGxlT9tLpfrg==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -857,13 +834,13 @@
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/before-each": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-4.3.4.tgz",
-            "integrity": "sha512-WkLsDvCjBrxrRkyhEBpfmGObUsf8Eb+tsqlxnGUG67XbPMkwkP/AoUPonc/g1Nv+pwtR+t5j6maNblrubWuG3A==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-4.3.5.tgz",
+            "integrity": "sha512-V8QOTj9bXJjv5ujrHAd9BjzZ9aD04PGy8toTS88gqS0MvCOtlAgOqq8m3P8j3kjwnMO7x3KbtLzB7Rem3F+/ag==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -873,35 +850,35 @@
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/chdir": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/chdir/-/chdir-3.3.4.tgz",
-            "integrity": "sha512-B37eGrs47xseJ7dm9ikhStX7KNqflvZViT2lMqVACeNvoxSpRgy1pu7cPix4wKvBlZCtNYaOD8iDNm+5nDfvSQ==",
+            "version": "3.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/chdir/-/chdir-3.3.5.tgz",
+            "integrity": "sha512-AwPCOvyAKZOB04CejLqBvsMNPep9SFjl5UEwawPwd0WFU8dsNp1zuTdVOf63zw9cm2FtVZIbETyzf+j6Vdyb8g==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "engines": {
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/config": {
-            "version": "5.5.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-5.5.2.tgz",
-            "integrity": "sha512-GQyKl40fGamoSvT4SsfQfZyaHT8fboNW5OhrA1hhMc34di5j/efiD15VlNVbPGE51BZSs5M3Jw7YukF2/Cg8CA==",
+            "version": "5.5.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-5.5.3.tgz",
+            "integrity": "sha512-tUbGIQIlRXYI7AJk2ziYbEJVeDRRNfuuN2V+FpxVrWCPyHnAGuPudaXzGecJxvKSo/IsZnrNMxs7raqIvN3a1Q==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/core": "4.5.2",
-                "@tapjs/test": "4.4.2",
+                "@tapjs/core": "4.5.3",
+                "@tapjs/test": "4.4.3",
                 "chalk": "^5.6.2",
                 "jackspeak": "^4.2.3",
                 "polite-json": "^5.0.0",
-                "tap-yaml": "4.3.0",
+                "tap-yaml": "4.3.1",
                 "walk-up-path": "^4.0.0"
             },
             "engines": {
@@ -911,62 +888,38 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2",
-                "@tapjs/test": "4.4.2"
+                "@tapjs/core": "4.5.3",
+                "@tapjs/test": "4.4.3"
             }
         },
         "node_modules/@tapjs/core": {
-            "version": "4.5.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-4.5.2.tgz",
-            "integrity": "sha512-0KKabYyBN4W2CRgnD0rOhDvexbMLMPuT0OElQTz5ezCsx1QGtuUHP9TmRXEGCJAoeL44Us0L2DxPpS4BUW1KEQ==",
+            "version": "4.5.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-4.5.3.tgz",
+            "integrity": "sha512-W1efzx7AEJwT1Wq3A3KBtihe0zBrnP6aTPrYPVow8YFKKOd8m1kfQ0LT+wWWmEVBwUPw5dNe2AFJWyMRlNwMHg==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
                 "@tapjs/processinfo": "^3.1.9",
-                "@tapjs/stack": "4.3.0",
-                "@tapjs/test": "4.4.2",
+                "@tapjs/stack": "4.3.1",
+                "@tapjs/test": "4.4.3",
                 "async-hook-domain": "^4.0.1",
                 "diff": "^8.0.2",
                 "is-actual-promise": "^1.0.1",
                 "minipass": "^7.0.4",
                 "signal-exit": "4.1",
-                "tap-parser": "18.3.0",
-                "tap-yaml": "4.3.0",
-                "tcompare": "9.3.0",
+                "tap-parser": "18.3.1",
+                "tap-yaml": "4.3.1",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
             },
             "engines": {
                 "node": "20 || >=22"
             }
         },
-        "node_modules/@tapjs/core/node_modules/diff": {
-            "version": "8.0.4",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-            "dev": true,
-            "license": "BSD-3-Clause",
-            "engines": {
-                "node": ">=0.3.1"
-            }
-        },
-        "node_modules/@tapjs/core/node_modules/tcompare": {
-            "version": "9.3.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-            "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-            "dev": true,
-            "license": "BlueOak-1.0.0",
-            "dependencies": {
-                "diff": "^8.0.2",
-                "react-element-to-jsx-string": "^15.0.0"
-            },
-            "engines": {
-                "node": "20 || >=22"
-            }
-        },
         "node_modules/@tapjs/error-serdes": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-4.3.0.tgz",
-            "integrity": "sha512-qP266uvPm2G95ClPFpqAN6n4nicLbHrZYbZWl0UO+biOdmvjSSuxeY5f7YFygTl+UuzlyxjlRgHTq8qifnqTcw==",
+            "version": "4.3.1",
+            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-4.3.1.tgz",
+            "integrity": "sha512-/zfBC+rM9kQouYpF+/jiPxRxH5ZufXMJbLX6jYCSRKrHv366SIxMNxv1+l3gCY/7ZwPSO8W/0gp7BbdJuHuMGw==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -980,9 +933,9 @@
             }
         },
         "node_modules/@tapjs/filter": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-4.3.4.tgz",
-            "integrity": "sha512-Bpbahk/Bv30ZfGoDpZVjGhvg8Cq2yqCZcawd+4qtTTSDY+V7GEpdJGu2/2EvwXP+s4PklPx2kFry8X9m6OtAog==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-4.3.5.tgz",
+            "integrity": "sha512-ozMAGkQ4raq1LLMeU40P52UKjYUYjwUeG0i0CgVdJ1CD3AxoYqb/t3WQOkg62ZVRXVxdazveHB2wpJPZtBmPqA==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "engines": {
@@ -992,13 +945,13 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/fixture": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-4.3.4.tgz",
-            "integrity": "sha512-zRv1vD2H/2abt0S5Yr5ICV/ZaIqXmusBZ6H4Qbih9oE2jvbs6AVDz5Td0adZbWurtHrPLuOFTIz2UsbJfhCCcw==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-4.3.5.tgz",
+            "integrity": "sha512-Qf+rFVFtYAah0Wuelah0Qrq6YwstGnl44Bb8tZ5OE3TCXEkJ2aUtn+4YV3RAzVh9kgSGzcR0ac0Q+lp1VfX3zQ==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -1012,35 +965,35 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/intercept": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-4.3.4.tgz",
-            "integrity": "sha512-7ifEMPmp4yKHQ7PqdPwCetipFLvCegbIyKigEDds/p03ZNFJjgF06D9T4vc/m0sA5SKkPrHVTOU0UzaSrliP7w==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-4.3.5.tgz",
+            "integrity": "sha512-0TGdDHrEITJeYG/zk4PMu9mZJ7voQgg8A75w/6LuEWBN9S5Lz4walTSWwpwgPOgrTO9dhzfAT8lduuo+8ApnsA==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/after": "3.3.4",
-                "@tapjs/stack": "4.3.0"
+                "@tapjs/after": "3.3.5",
+                "@tapjs/stack": "4.3.1"
             },
             "engines": {
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/mock": {
-            "version": "4.4.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-4.4.2.tgz",
-            "integrity": "sha512-B6SfNWjWCPvjN9CaHe45lEcl2ZFDkQIUoF5jPthwi2mYxHLfyFFEqorZJhguoTs7ToeXvIqquqE/Luk9IeuKBQ==",
+            "version": "4.4.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-4.4.3.tgz",
+            "integrity": "sha512-tfWZrp9CZPW4sMief6XgNKV158Sj5Uoddk0ABijNfCxEERdHUV5cjgW/GEqbaQtnr/4T3voDgdUGIyuDNGxrrw==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/after": "3.3.4",
-                "@tapjs/stack": "4.3.0",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/stack": "4.3.1",
                 "resolve-import": "^2.4.0",
                 "walk-up-path": "^4.0.0"
             },
@@ -1051,19 +1004,19 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/node-serialize": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-4.3.4.tgz",
-            "integrity": "sha512-SECDvjBS7NVCiCZ6vEtMwtxxSuR61NHBva+PlIQ1mU0asoTYxV9lpRNEAb9UHFKpquEDlk+bLg2iN01a2nfMuw==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-4.3.5.tgz",
+            "integrity": "sha512-++Z+Jbn4TehFfZiyAh3c4GcRY388Zb7VcnjFpsrPsJgEzZNYAi21xTRobisZ4esGFnrmnmFJQ1qMmv7JOsVuxw==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/error-serdes": "4.3.0",
-                "@tapjs/stack": "4.3.0",
-                "tap-parser": "18.3.0"
+                "@tapjs/error-serdes": "4.3.1",
+                "@tapjs/stack": "4.3.1",
+                "tap-parser": "18.3.1"
             },
             "engines": {
                 "node": "20 || >=22"
@@ -1072,7 +1025,7 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/processinfo": {
@@ -1093,14 +1046,14 @@
             }
         },
         "node_modules/@tapjs/reporter": {
-            "version": "4.4.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-4.4.4.tgz",
-            "integrity": "sha512-svWmpJgMQxe4iiKOVr/Hi5kGHJNBDp2Nr8gD0aQuAQ4fp9gOh2LFQXa2Jv7LBKhMjC7UaiW/X7k1qEVk2nOfvg==",
+            "version": "4.4.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-4.4.5.tgz",
+            "integrity": "sha512-Z0lBFH2LpOAqTg3kcFtpl/Yxn1cNQ3N648lW4cb4xuI1+dgEv41wHrO6lLXYcVgFKEViqSG/8eCljT9tPxIAAQ==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/config": "5.5.2",
-                "@tapjs/stack": "4.3.0",
+                "@tapjs/config": "5.5.3",
+                "@tapjs/stack": "4.3.1",
                 "chalk": "^5.6.2",
                 "ink": "^5.2.1",
                 "minipass": "^7.0.4",
@@ -1109,9 +1062,9 @@
                 "prismjs-terminal": "^1.2.3",
                 "react": "^18.2.0",
                 "string-length": "^6.0.0",
-                "tap-parser": "18.3.0",
-                "tap-yaml": "4.3.0",
-                "tcompare": "9.3.0"
+                "tap-parser": "18.3.1",
+                "tap-yaml": "4.3.1",
+                "tcompare": "9.3.1"
             },
             "engines": {
                 "node": "20 || >=22"
@@ -1120,49 +1073,25 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
-            }
-        },
-        "node_modules/@tapjs/reporter/node_modules/diff": {
-            "version": "8.0.4",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-            "dev": true,
-            "license": "BSD-3-Clause",
-            "engines": {
-                "node": ">=0.3.1"
-            }
-        },
-        "node_modules/@tapjs/reporter/node_modules/tcompare": {
-            "version": "9.3.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-            "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-            "dev": true,
-            "license": "BlueOak-1.0.0",
-            "dependencies": {
-                "diff": "^8.0.2",
-                "react-element-to-jsx-string": "^15.0.0"
-            },
-            "engines": {
-                "node": "20 || >=22"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/run": {
-            "version": "4.5.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-4.5.2.tgz",
-            "integrity": "sha512-Oq5YZvoGxEohRWK8P1wHPIAnudEOHPd/bIWawFtRn0ZGvF7bRduZlHpf4eEIrRHKY84G/I3fmC354604cejxiQ==",
+            "version": "4.5.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-4.5.3.tgz",
+            "integrity": "sha512-2e12E/ANnlsbO8wtYZ6JoxqLHHUEpOl7evLVmkcs3e9c1bC2Gkps9YpjSQEAu/sc+gHMliW+qbTR3zvQRk0j5w==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
                 "@isaacs/which": "^7.0.4",
-                "@tapjs/after": "3.3.4",
-                "@tapjs/before": "4.3.4",
-                "@tapjs/config": "5.5.2",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/before": "4.3.5",
+                "@tapjs/config": "5.5.3",
                 "@tapjs/processinfo": "^3.1.9",
-                "@tapjs/reporter": "4.4.4",
-                "@tapjs/spawn": "4.3.4",
-                "@tapjs/stdin": "4.3.4",
-                "@tapjs/test": "4.4.2",
+                "@tapjs/reporter": "4.4.5",
+                "@tapjs/spawn": "4.3.5",
+                "@tapjs/stdin": "4.3.5",
+                "@tapjs/test": "4.4.3",
                 "c8": "^10.1.3",
                 "chalk": "^5.6.2",
                 "chokidar": "^4.0.2",
@@ -1178,9 +1107,9 @@
                 "rimraf": "^6.0.0",
                 "semver": "^7.7.2",
                 "signal-exit": "^4.1.0",
-                "tap-parser": "18.3.0",
-                "tap-yaml": "4.3.0",
-                "tcompare": "9.3.0",
+                "tap-parser": "18.3.1",
+                "tap-yaml": "4.3.1",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
             },
             "bin": {
@@ -1193,7 +1122,7 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/run/node_modules/chokidar": {
@@ -1212,16 +1141,6 @@
                 "url": "https://paulmillr.com/funding/"
             }
         },
-        "node_modules/@tapjs/run/node_modules/diff": {
-            "version": "8.0.4",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-            "dev": true,
-            "license": "BSD-3-Clause",
-            "engines": {
-                "node": ">=0.3.1"
-            }
-        },
         "node_modules/@tapjs/run/node_modules/readdirp": {
             "version": "4.1.2",
             "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
@@ -1236,29 +1155,15 @@
                 "url": "https://paulmillr.com/funding/"
             }
         },
-        "node_modules/@tapjs/run/node_modules/tcompare": {
-            "version": "9.3.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-            "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-            "dev": true,
-            "license": "BlueOak-1.0.0",
-            "dependencies": {
-                "diff": "^8.0.2",
-                "react-element-to-jsx-string": "^15.0.0"
-            },
-            "engines": {
-                "node": "20 || >=22"
-            }
-        },
         "node_modules/@tapjs/snapshot": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-4.3.4.tgz",
-            "integrity": "sha512-2sJXaGLJUMakkdJd5iDWRucgyHX7f5eP05m4weqWq9dLzX7p1JFOrWXUwns8RCIY7VX9Vx+4jENlxJOywYjyqg==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-4.3.5.tgz",
+            "integrity": "sha512-a7qux8CKJDzmojZ07xoeunyCBtxyAcdl2N6JaEVYrcxouKNpSQuv0ATqyrqXUigp2OslwxW3NmC1iDYN0LxUxA==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
                 "is-actual-promise": "^1.0.1",
-                "tcompare": "9.3.0",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
             },
             "engines": {
@@ -1268,50 +1173,26 @@
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
-            }
-        },
-        "node_modules/@tapjs/snapshot/node_modules/diff": {
-            "version": "8.0.4",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-            "dev": true,
-            "license": "BSD-3-Clause",
-            "engines": {
-                "node": ">=0.3.1"
-            }
-        },
-        "node_modules/@tapjs/snapshot/node_modules/tcompare": {
-            "version": "9.3.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-            "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-            "dev": true,
-            "license": "BlueOak-1.0.0",
-            "dependencies": {
-                "diff": "^8.0.2",
-                "react-element-to-jsx-string": "^15.0.0"
-            },
-            "engines": {
-                "node": "20 || >=22"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/spawn": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-4.3.4.tgz",
-            "integrity": "sha512-qQY2SSLkXknpL1kndLS1bCPo9vYKV8Ka93UPIllvDEwaY3oUMghh++EOE4dyUxQPgMFpmoUoj8kSbm2hotevbQ==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-4.3.5.tgz",
+            "integrity": "sha512-VEkaMrtsE8emHKl+jrnzK9Rmddmf+NkxzByN8t7+AII7z1SvGyxdFCH4nE+BlWjRMf7aaOiyZd2cJjmHVkwqHw==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "engines": {
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/stack": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-4.3.0.tgz",
-            "integrity": "sha512-SFASe4YaVBzMr/FXTm/QsSzbzXZOmgDNpmY3EU0JNiDCN4izHMUnoXY+Kh0EY35hx9C4JDvRjgv2MSIM7bBygg==",
+            "version": "4.3.1",
+            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-4.3.1.tgz",
+            "integrity": "sha512-6WDTgt81c3Rfunsu14hGHRQP9GBDaclpkF9K7BC7UfycBG508Obcx/oDuJ2WwZtPY/8qxLAhf9eRWoY8qpmwzw==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "engines": {
@@ -1322,42 +1203,42 @@
             }
         },
         "node_modules/@tapjs/stdin": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-4.3.4.tgz",
-            "integrity": "sha512-0kFeaPEGwNWx8R0z9Uq93/CNhAg+9NbTPZW+GXsjuHQSG125g7VZBNBAg2IMeQmVQ9bUWa3+f5TNp/JnLVvJmg==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-4.3.5.tgz",
+            "integrity": "sha512-LibE3HrJrqySLcxi/qV4DsfC8hF0UO4qVuLVAqv1d73t3xxrmhqgdCIPZPmWYhSCcg+z/mjCwxpCAswGGgoWnw==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "engines": {
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/test": {
-            "version": "4.4.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-4.4.2.tgz",
-            "integrity": "sha512-YuUgTffPNGzodjeHOsaF/j0/5B/bAqtfgwqUkqa3mWdwqzlmB2AcIA6lBtLaQfbjG8wgGNwYfs3McgxkGRqxfA==",
+            "version": "4.4.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-4.4.3.tgz",
+            "integrity": "sha512-MoJEkXNsve46xgqNtRA7zJcnm91w3oVRMdZImUMcjZnkW1u06TVsdJPJKRTRtdS6agQbWd8EsEVoYrVqWQrQUQ==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
                 "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.7",
-                "@tapjs/after": "3.3.4",
-                "@tapjs/after-each": "4.3.4",
-                "@tapjs/asserts": "4.3.4",
-                "@tapjs/before": "4.3.4",
-                "@tapjs/before-each": "4.3.4",
-                "@tapjs/chdir": "3.3.4",
-                "@tapjs/filter": "4.3.4",
-                "@tapjs/fixture": "4.3.4",
-                "@tapjs/intercept": "4.3.4",
-                "@tapjs/mock": "4.4.2",
-                "@tapjs/node-serialize": "4.3.4",
-                "@tapjs/snapshot": "4.3.4",
-                "@tapjs/spawn": "4.3.4",
-                "@tapjs/stdin": "4.3.4",
-                "@tapjs/typescript": "3.5.4",
-                "@tapjs/worker": "4.3.4",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/after-each": "4.3.5",
+                "@tapjs/asserts": "4.3.5",
+                "@tapjs/before": "4.3.5",
+                "@tapjs/before-each": "4.3.5",
+                "@tapjs/chdir": "3.3.5",
+                "@tapjs/filter": "4.3.5",
+                "@tapjs/fixture": "4.3.5",
+                "@tapjs/intercept": "4.3.5",
+                "@tapjs/mock": "4.4.3",
+                "@tapjs/node-serialize": "4.3.5",
+                "@tapjs/snapshot": "4.3.5",
+                "@tapjs/spawn": "4.3.5",
+                "@tapjs/stdin": "4.3.5",
+                "@tapjs/typescript": "3.5.5",
+                "@tapjs/worker": "4.3.5",
                 "glob": "^13.0.2",
                 "jackspeak": "^4.2.3",
                 "mkdirp": "^3.0.0",
@@ -1365,7 +1246,7 @@
                 "resolve-import": "^2.4.0",
                 "rimraf": "^6.0.0",
                 "sync-content": "^2.0.4",
-                "tap-parser": "18.3.0",
+                "tap-parser": "18.3.1",
                 "tshy": "^3.3.2",
                 "typescript": "5.9",
                 "walk-up-path": "^4.0.0"
@@ -1377,13 +1258,13 @@
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/typescript": {
-            "version": "3.5.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-3.5.4.tgz",
-            "integrity": "sha512-z8O10CpbPYoHA876Dlg40qXtM058akP76HNQy+EdNE+AhFo7kold4YBgyjYRU7WDWNlp2B/MPgsy/OZ4PRXQWw==",
+            "version": "3.5.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-3.5.5.tgz",
+            "integrity": "sha512-IY5TKQp5c7aikkpq55YnYvvLG65VrZDcop3El6snKGB2IUGFI2JxAnSarSiRyFzSMHbDLYoXzwu82/SuW3+S8A==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -1393,20 +1274,20 @@
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tapjs/worker": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-4.3.4.tgz",
-            "integrity": "sha512-AvmfwMgJXB/eOwIti/rOvw1l1eHsxUex3lyrhiC6uK5iOmbHWBOFsGHwEfc7Z4eertPM6FUqnZxkxkTEVGueig==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-4.3.5.tgz",
+            "integrity": "sha512-r9teLfW75ZuZplJ8uGtVvPO1CxLjJefNQ1eNH4BHbdxsQw9ywDo/lG56V8TPR7B9XJidS15ZJ4Y5cLxI9Qba1Q==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "engines": {
                 "node": "20 || >=22"
             },
             "peerDependencies": {
-                "@tapjs/core": "4.5.2"
+                "@tapjs/core": "4.5.3"
             }
         },
         "node_modules/@tsconfig/node14": {
@@ -1487,39 +1368,39 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "25.5.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
-            "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
+            "version": "25.6.0",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
+            "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
             "dev": true,
             "license": "MIT",
             "peer": true,
             "dependencies": {
-                "undici-types": "~7.18.0"
+                "undici-types": "~7.19.0"
             }
         },
         "node_modules/@typescript/native-preview": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-Gfy2J/LhydkOHOw+ZWRw0M8Xl3O2bzQXLXIYITdMz2N4GpMm8misAvvCzhqMacOGvazKr1FsL9LIIW2kxk6kzw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-cBk+dPa5x5r9wnh5lz3zSnj7YJM1s/tSCf5owex+OkjJLji3iJu7J9kTH1SvvxA5kmkY76qFYw3vFN9h8W3gBA==",
             "dev": true,
             "license": "Apache-2.0",
             "bin": {
                 "tsgo": "bin/tsgo.js"
             },
             "optionalDependencies": {
-                "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-linux-arm": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-linux-x64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-win32-x64": "7.0.0-dev.20260331.1"
+                "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-linux-arm": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-linux-x64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-win32-x64": "7.0.0-dev.20260411.1"
             }
         },
         "node_modules/@typescript/native-preview-darwin-arm64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-1PRnBCN2csiCzj76YaSBtP4jPLEGBUmVhXHplC+yHOKaxx9nf3HFiFCg/19raInvN/lJ8+Bp1fZ/qIsWAAHiBw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-qdSDz0o4l4cEZhAn92ayzf7cKiMLrzSp9Xdk5mfaXpiahvxT39fNj5jiwDnRO+kHkHMMIYYL1nQbslSadargyg==",
             "cpu": [
                 "arm64"
             ],
@@ -1531,9 +1412,9 @@
             ]
         },
         "node_modules/@typescript/native-preview-darwin-x64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-llXnfLGjl+gXsANLD7UI/gSb3lj7aZW13Rf8sVXQnHJ3/dkJRAm/MgLqdjuuyvYq3pFaleiep+zoLd96rLRqUw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-2Nea85rMeBZe2UV6V8vBVJ3mSFHn4XZ+ceXGFpnfsU2nay0l1ncoYw91JA/yPwM5ui3+pxAYwl8PWLCxlZCB3Q==",
             "cpu": [
                 "x64"
             ],
@@ -1545,9 +1426,9 @@
             ]
         },
         "node_modules/@typescript/native-preview-linux-arm": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-+8AZzA0BRjMkLDvdQKZOMuheRxNGpSWn7sOtoKqo70R915D0TyEynEXX6B7/aw3+Jfn1H5hLRiBjxoVsmdKENw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-8/LqqQDp73kvT7aWh3sAFglGaSxtjxHIhEgqZ7XWG7+1aHHJeL1bcmRnk7JyP3BE5SPzs3bQhFC6Cvj6WQwTqQ==",
             "cpu": [
                 "arm"
             ],
@@ -1559,9 +1440,9 @@
             ]
         },
         "node_modules/@typescript/native-preview-linux-arm64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-sH5gALi89jl5ZjAL/UsLDPsjT/nCLRfHl/pw86ablRX10tYsJhJ/RD6J/cl3g39kJ18tIISSbsuIBn+ncanfSA==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-5QRz/eMIb1JtojvB0oeBbIc6ZNqZiiMUSRDsyp1qMJacdrs+1fbQ8MYFft5ceJe94mcolGHnbcozwPg8hf5fDg==",
             "cpu": [
                 "arm64"
             ],
@@ -1573,9 +1454,9 @@
             ]
         },
         "node_modules/@typescript/native-preview-linux-x64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-Yic6MYfX7Uit5jLLENzWFIi6tjp4LTLF37KBiVaHZSvEFyX1kqVwu4j9WNeaz81O6fcB/1dZ1MrILgfcqalNBg==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-H5NWP+ot/L+Tn9ds4W/t4Xx/CuxZF4iHDdRx2hCr/O0l8pBBq8C/MBJ/eUgVZXO4lD+8J6eQ7nOlGtJ0SS8Sbg==",
             "cpu": [
                 "x64"
             ],
@@ -1587,9 +1468,9 @@
             ]
         },
         "node_modules/@typescript/native-preview-win32-arm64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-vGxK6gtGF97zSx9wOpiVME3h9v0tbZbrHHdKA+fLFNvDV0Df8ud89DEePL7l2yKnVVmf0OnjJy6sYoVyj+LIPA==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-/Zc1rotE/NS72xNc4UjaEKCBanBsQ/0/fS2sYLcN9yd6p6AYFYzmTWfbGy5qvv1ckXOI0dkOolLzK8nYbrJzbA==",
             "cpu": [
                 "arm64"
             ],
@@ -1601,9 +1482,9 @@
             ]
         },
         "node_modules/@typescript/native-preview-win32-x64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-oJnNiU9UTDPJp6dOmOUW+/Wzt3MQZXIHsDaU4qM0RiAjFE6S+PIX8s5z/ID0orr4MMroUMiLdolL4OVZolNDSw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-PhFL0w2Uz9jKdTtm7uy2PPl3nJiacX24jxzDD0R0eBHOY/49L3V5iD7eyBACPSzyWp0/dD7pPdKSnRbS3nVRng==",
             "cpu": [
                 "x64"
             ],
@@ -2171,6 +2052,16 @@
             "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
             "license": "MIT"
         },
+        "node_modules/diff": {
+            "version": "8.0.4",
+            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
+            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
+            "dev": true,
+            "license": "BSD-3-Clause",
+            "engines": {
+                "node": ">=0.3.1"
+            }
+        },
         "node_modules/eastasianwidth": {
             "version": "0.2.0",
             "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -2419,6 +2310,24 @@
             "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
             "license": "MIT"
         },
+        "node_modules/fdir": {
+            "version": "6.5.0",
+            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+            "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+            "dev": true,
+            "license": "MIT",
+            "engines": {
+                "node": ">=12.0.0"
+            },
+            "peerDependencies": {
+                "picomatch": "^3 || ^4"
+            },
+            "peerDependenciesMeta": {
+                "picomatch": {
+                    "optional": true
+                }
+            }
+        },
         "node_modules/file-entry-cache": {
             "version": "8.0.0",
             "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -2859,6 +2768,7 @@
             "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
             "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
             "dev": true,
+            "license": "MIT",
             "engines": {
                 "node": ">=0.10.0"
             }
@@ -2927,7 +2837,8 @@
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
             "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-            "dev": true
+            "dev": true,
+            "license": "MIT"
         },
         "node_modules/js-yaml": {
             "version": "4.1.1",
@@ -3033,6 +2944,7 @@
             "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
             "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
             "dev": true,
+            "license": "MIT",
             "dependencies": {
                 "js-tokens": "^3.0.0 || ^4.0.0"
             },
@@ -3683,6 +3595,19 @@
                 "url": "https://github.com/sponsors/isaacs"
             }
         },
+        "node_modules/picomatch": {
+            "version": "4.0.4",
+            "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+            "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+            "dev": true,
+            "license": "MIT",
+            "engines": {
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/jonschlinkert"
+            }
+        },
         "node_modules/pirates": {
             "version": "4.0.7",
             "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
@@ -3780,6 +3705,7 @@
             "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
             "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
             "dev": true,
+            "license": "MIT",
             "dependencies": {
                 "loose-envify": "^1.1.0"
             },
@@ -3788,17 +3714,18 @@
             }
         },
         "node_modules/react-dom": {
-            "version": "18.2.0",
-            "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
-            "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+            "version": "18.3.1",
+            "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+            "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
             "dev": true,
+            "license": "MIT",
             "peer": true,
             "dependencies": {
                 "loose-envify": "^1.1.0",
-                "scheduler": "^0.23.0"
+                "scheduler": "^0.23.2"
             },
             "peerDependencies": {
-                "react": "^18.2.0"
+                "react": "^18.3.1"
             }
         },
         "node_modules/react-element-to-jsx-string": {
@@ -3806,6 +3733,7 @@
             "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz",
             "integrity": "sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==",
             "dev": true,
+            "license": "MIT",
             "dependencies": {
                 "@base2/pretty-print-object": "1.0.1",
                 "is-plain-object": "5.0.0",
@@ -3820,7 +3748,8 @@
             "version": "18.1.0",
             "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz",
             "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==",
-            "dev": true
+            "dev": true,
+            "license": "MIT"
         },
         "node_modules/react-reconciler": {
             "version": "0.29.2",
@@ -3942,6 +3871,7 @@
             "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
             "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
             "dev": true,
+            "license": "MIT",
             "dependencies": {
                 "loose-envify": "^1.1.0"
             }
@@ -4315,31 +4245,31 @@
             }
         },
         "node_modules/tap": {
-            "version": "21.6.2",
-            "resolved": "https://registry.npmjs.org/tap/-/tap-21.6.2.tgz",
-            "integrity": "sha512-rEuxX+EVGQ6JOEyRnLQ80fa7v5s8yutpRA11LAjP6t/B6I0/mTWkaW0NfVoX5XDX3z5x9HVEt2dojSrJLcyp9A==",
+            "version": "21.6.3",
+            "resolved": "https://registry.npmjs.org/tap/-/tap-21.6.3.tgz",
+            "integrity": "sha512-govkq0d6NC0FLGWzkZV+9ZZscq6unogMhSJAR8nXjFLZWR19H/ncQLsfpMsLG3INhdlsXAM+2qmb0dvtclqQkA==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
-                "@tapjs/after": "3.3.4",
-                "@tapjs/after-each": "4.3.4",
-                "@tapjs/asserts": "4.3.4",
-                "@tapjs/before": "4.3.4",
-                "@tapjs/before-each": "4.3.4",
-                "@tapjs/chdir": "3.3.4",
-                "@tapjs/core": "4.5.2",
-                "@tapjs/filter": "4.3.4",
-                "@tapjs/fixture": "4.3.4",
-                "@tapjs/intercept": "4.3.4",
-                "@tapjs/mock": "4.4.2",
-                "@tapjs/node-serialize": "4.3.4",
-                "@tapjs/run": "4.5.2",
-                "@tapjs/snapshot": "4.3.4",
-                "@tapjs/spawn": "4.3.4",
-                "@tapjs/stdin": "4.3.4",
-                "@tapjs/test": "4.4.2",
-                "@tapjs/typescript": "3.5.4",
-                "@tapjs/worker": "4.3.4",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/after-each": "4.3.5",
+                "@tapjs/asserts": "4.3.5",
+                "@tapjs/before": "4.3.5",
+                "@tapjs/before-each": "4.3.5",
+                "@tapjs/chdir": "3.3.5",
+                "@tapjs/core": "4.5.3",
+                "@tapjs/filter": "4.3.5",
+                "@tapjs/fixture": "4.3.5",
+                "@tapjs/intercept": "4.3.5",
+                "@tapjs/mock": "4.4.3",
+                "@tapjs/node-serialize": "4.3.5",
+                "@tapjs/run": "4.5.3",
+                "@tapjs/snapshot": "4.3.5",
+                "@tapjs/spawn": "4.3.5",
+                "@tapjs/stdin": "4.3.5",
+                "@tapjs/test": "4.4.3",
+                "@tapjs/typescript": "3.5.5",
+                "@tapjs/worker": "4.3.5",
                 "resolve-import": "^2.4.0"
             },
             "bin": {
@@ -4353,14 +4283,14 @@
             }
         },
         "node_modules/tap-parser": {
-            "version": "18.3.0",
-            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-18.3.0.tgz",
-            "integrity": "sha512-sa0M18e6RARfO0Lrm1zbQvb+7G4G/ThkFIJFvjeH1DKenl4xwyUgpRUCb5Jq64Xe086p4auiLvRzfpRjGd3Zow==",
+            "version": "18.3.1",
+            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-18.3.1.tgz",
+            "integrity": "sha512-4mlzCiUQUpi8yHvqNHrwCW1OvIa6kMftozxXlJic0YsuqgcvldtyfytoG5g7Wivpu3eNo5abUXiaeqYNjyOHag==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
                 "events-to-array": "^2.0.3",
-                "tap-yaml": "4.3.0"
+                "tap-yaml": "4.3.1"
             },
             "bin": {
                 "tap-parser": "bin/cmd.cjs"
@@ -4370,9 +4300,9 @@
             }
         },
         "node_modules/tap-yaml": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-4.3.0.tgz",
-            "integrity": "sha512-48BiwXj3cUa1Lt6BLzfawJGZVihfRCY19gyjaHftQpe8ulEmB9gZW9kChQkdb0+L4YUlGWUJMpWRAJ/9bPSgVA==",
+            "version": "4.3.1",
+            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-4.3.1.tgz",
+            "integrity": "sha512-jt4okvL5wnJKp3lDHkNlrq829+pvK94LdZPWPZlxs6nw2h8utYLVJ0CdtQl1hY1IQamKSzLQdf+bFXUlvPqqtQ==",
             "dev": true,
             "license": "BlueOak-1.0.0",
             "dependencies": {
@@ -4400,6 +4330,20 @@
                 "node": ">=18"
             }
         },
+        "node_modules/tcompare": {
+            "version": "9.3.1",
+            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.1.tgz",
+            "integrity": "sha512-FtGhC5MfbMIZzn1SBg8UlveJGpCFdota5QJ3vPzroc1RPeUOSn3XOfTzkJuo+mwdVMqNQrd2hY4OLjNI5r/cTQ==",
+            "dev": true,
+            "license": "BlueOak-1.0.0",
+            "dependencies": {
+                "diff": "^8.0.2",
+                "react-element-to-jsx-string": "^15.0.0"
+            },
+            "engines": {
+                "node": "20 || >=22"
+            }
+        },
         "node_modules/test-exclude": {
             "version": "7.0.2",
             "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.2.tgz",
@@ -4582,14 +4526,14 @@
             }
         },
         "node_modules/tinyglobby": {
-            "version": "0.2.15",
-            "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
-            "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+            "version": "0.2.16",
+            "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
+            "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "fdir": "^6.5.0",
-                "picomatch": "^4.0.3"
+                "picomatch": "^4.0.4"
             },
             "engines": {
                 "node": ">=12.0.0"
@@ -4598,37 +4542,6 @@
                 "url": "https://github.com/sponsors/SuperchupuDev"
             }
         },
-        "node_modules/tinyglobby/node_modules/fdir": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
-            "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=12.0.0"
-            },
-            "peerDependencies": {
-                "picomatch": "^3 || ^4"
-            },
-            "peerDependenciesMeta": {
-                "picomatch": {
-                    "optional": true
-                }
-            }
-        },
-        "node_modules/tinyglobby/node_modules/picomatch": {
-            "version": "4.0.4",
-            "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
-            "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
-            "dev": true,
-            "license": "MIT",
-            "engines": {
-                "node": ">=12"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/jonschlinkert"
-            }
-        },
         "node_modules/trivial-deferred": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-2.0.0.tgz",
@@ -4757,9 +4670,9 @@
             }
         },
         "node_modules/undici-types": {
-            "version": "7.18.2",
-            "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
-            "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
+            "version": "7.19.2",
+            "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
+            "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
             "dev": true,
             "license": "MIT",
             "peer": true
@@ -5584,9 +5497,9 @@
             "dev": true
         },
         "@sigstore/protobuf-specs": {
-            "version": "0.5.0",
-            "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz",
-            "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==",
+            "version": "0.5.1",
+            "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz",
+            "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==",
             "dev": true
         },
         "@sigstore/sign": {
@@ -5625,151 +5538,115 @@
             }
         },
         "@tapjs/after": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-3.3.4.tgz",
-            "integrity": "sha512-Y8DL0F9Ux6Swe7b5g4qLFgJUEFrVr5fhmVOENw4D/x7rDRyx/3c86Ya1p9iJrpkE2RnvdGq9AxR/rTM137Y7Lg==",
+            "version": "3.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-3.3.5.tgz",
+            "integrity": "sha512-6TVAGHKIdP+MrKQmHQDCS/O/vvUy6eIQDR/RNaU/v0H/zz9v/jkykxSMt/exsWjswDdX9+5mXyOgiA2bvGwMfQ==",
             "dev": true,
             "requires": {
                 "is-actual-promise": "^1.0.1"
             }
         },
         "@tapjs/after-each": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-4.3.4.tgz",
-            "integrity": "sha512-TM1OWz7Ht3aimbT/MLYnoywI9SBGsTus6TQ+94n1yjr1izO3K21PP5Q9UYdqZ2Qq1WiZmGa+CZKUZANUn1ZcvQ==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-4.3.5.tgz",
+            "integrity": "sha512-rbZQv6tcCiLmDAM6Xq73m8mFXvnMUVNqoiQnkKMlEM2Rh2l8nw0JLsuFNbk4EPYwCCLvIMyK0g6LZm0feqJXBg==",
             "dev": true,
             "requires": {
                 "function-loop": "^4.0.0"
             }
         },
         "@tapjs/asserts": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-4.3.4.tgz",
-            "integrity": "sha512-1kf2q0oQ7LCZKy5l4Oe7/ZVijhJ9YxbS4qmqGtj7cYwOw4Q78KNLwthh14c9EBbI2QHKUDS2LaLM8a1qMLmPiA==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-4.3.5.tgz",
+            "integrity": "sha512-INThO34um7OgcM9aqhrq+EMVhlo59DfFDev0QPQeqJIV3AGVksX89IROqc9rFKJ4dSerUijzBHEsXfcg2n+tzQ==",
             "dev": true,
             "requires": {
-                "@tapjs/stack": "4.3.0",
+                "@tapjs/stack": "4.3.1",
                 "is-actual-promise": "^1.0.1",
-                "tcompare": "9.3.0",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
-            },
-            "dependencies": {
-                "diff": {
-                    "version": "8.0.4",
-                    "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-                    "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-                    "dev": true
-                },
-                "tcompare": {
-                    "version": "9.3.0",
-                    "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-                    "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-                    "dev": true,
-                    "requires": {
-                        "diff": "^8.0.2",
-                        "react-element-to-jsx-string": "^15.0.0"
-                    }
-                }
             }
         },
         "@tapjs/before": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-4.3.4.tgz",
-            "integrity": "sha512-53n/8/RktPkbCuZveDTYiplbrzWjFkYAnmYCrFixESsFoUrkfTCPjeCRmojBS14zuRdVe4kLsX6XWYkaUpLdZA==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-4.3.5.tgz",
+            "integrity": "sha512-TvjahSNUcEvzoq24bqyJ6ohzoOO/HnTUu1JHRsReQMK3XP7ARtz47Iv4wBEMeh/WrN4xMY9kc3wGxlT9tLpfrg==",
             "dev": true,
             "requires": {
                 "is-actual-promise": "^1.0.1"
             }
         },
         "@tapjs/before-each": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-4.3.4.tgz",
-            "integrity": "sha512-WkLsDvCjBrxrRkyhEBpfmGObUsf8Eb+tsqlxnGUG67XbPMkwkP/AoUPonc/g1Nv+pwtR+t5j6maNblrubWuG3A==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-4.3.5.tgz",
+            "integrity": "sha512-V8QOTj9bXJjv5ujrHAd9BjzZ9aD04PGy8toTS88gqS0MvCOtlAgOqq8m3P8j3kjwnMO7x3KbtLzB7Rem3F+/ag==",
             "dev": true,
             "requires": {
                 "function-loop": "^4.0.0"
             }
         },
         "@tapjs/chdir": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/chdir/-/chdir-3.3.4.tgz",
-            "integrity": "sha512-B37eGrs47xseJ7dm9ikhStX7KNqflvZViT2lMqVACeNvoxSpRgy1pu7cPix4wKvBlZCtNYaOD8iDNm+5nDfvSQ==",
+            "version": "3.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/chdir/-/chdir-3.3.5.tgz",
+            "integrity": "sha512-AwPCOvyAKZOB04CejLqBvsMNPep9SFjl5UEwawPwd0WFU8dsNp1zuTdVOf63zw9cm2FtVZIbETyzf+j6Vdyb8g==",
             "dev": true,
             "requires": {}
         },
         "@tapjs/config": {
-            "version": "5.5.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-5.5.2.tgz",
-            "integrity": "sha512-GQyKl40fGamoSvT4SsfQfZyaHT8fboNW5OhrA1hhMc34di5j/efiD15VlNVbPGE51BZSs5M3Jw7YukF2/Cg8CA==",
+            "version": "5.5.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-5.5.3.tgz",
+            "integrity": "sha512-tUbGIQIlRXYI7AJk2ziYbEJVeDRRNfuuN2V+FpxVrWCPyHnAGuPudaXzGecJxvKSo/IsZnrNMxs7raqIvN3a1Q==",
             "dev": true,
             "requires": {
-                "@tapjs/core": "4.5.2",
-                "@tapjs/test": "4.4.2",
+                "@tapjs/core": "4.5.3",
+                "@tapjs/test": "4.4.3",
                 "chalk": "^5.6.2",
                 "jackspeak": "^4.2.3",
                 "polite-json": "^5.0.0",
-                "tap-yaml": "4.3.0",
+                "tap-yaml": "4.3.1",
                 "walk-up-path": "^4.0.0"
             }
         },
         "@tapjs/core": {
-            "version": "4.5.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-4.5.2.tgz",
-            "integrity": "sha512-0KKabYyBN4W2CRgnD0rOhDvexbMLMPuT0OElQTz5ezCsx1QGtuUHP9TmRXEGCJAoeL44Us0L2DxPpS4BUW1KEQ==",
+            "version": "4.5.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-4.5.3.tgz",
+            "integrity": "sha512-W1efzx7AEJwT1Wq3A3KBtihe0zBrnP6aTPrYPVow8YFKKOd8m1kfQ0LT+wWWmEVBwUPw5dNe2AFJWyMRlNwMHg==",
             "dev": true,
             "requires": {
                 "@tapjs/processinfo": "^3.1.9",
-                "@tapjs/stack": "4.3.0",
-                "@tapjs/test": "4.4.2",
+                "@tapjs/stack": "4.3.1",
+                "@tapjs/test": "4.4.3",
                 "async-hook-domain": "^4.0.1",
                 "diff": "^8.0.2",
                 "is-actual-promise": "^1.0.1",
                 "minipass": "^7.0.4",
                 "signal-exit": "4.1",
-                "tap-parser": "18.3.0",
-                "tap-yaml": "4.3.0",
-                "tcompare": "9.3.0",
+                "tap-parser": "18.3.1",
+                "tap-yaml": "4.3.1",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
-            },
-            "dependencies": {
-                "diff": {
-                    "version": "8.0.4",
-                    "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-                    "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-                    "dev": true
-                },
-                "tcompare": {
-                    "version": "9.3.0",
-                    "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-                    "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-                    "dev": true,
-                    "requires": {
-                        "diff": "^8.0.2",
-                        "react-element-to-jsx-string": "^15.0.0"
-                    }
-                }
             }
         },
         "@tapjs/error-serdes": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-4.3.0.tgz",
-            "integrity": "sha512-qP266uvPm2G95ClPFpqAN6n4nicLbHrZYbZWl0UO+biOdmvjSSuxeY5f7YFygTl+UuzlyxjlRgHTq8qifnqTcw==",
+            "version": "4.3.1",
+            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-4.3.1.tgz",
+            "integrity": "sha512-/zfBC+rM9kQouYpF+/jiPxRxH5ZufXMJbLX6jYCSRKrHv366SIxMNxv1+l3gCY/7ZwPSO8W/0gp7BbdJuHuMGw==",
             "dev": true,
             "requires": {
                 "minipass": "^7.0.4"
             }
         },
         "@tapjs/filter": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-4.3.4.tgz",
-            "integrity": "sha512-Bpbahk/Bv30ZfGoDpZVjGhvg8Cq2yqCZcawd+4qtTTSDY+V7GEpdJGu2/2EvwXP+s4PklPx2kFry8X9m6OtAog==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-4.3.5.tgz",
+            "integrity": "sha512-ozMAGkQ4raq1LLMeU40P52UKjYUYjwUeG0i0CgVdJ1CD3AxoYqb/t3WQOkg62ZVRXVxdazveHB2wpJPZtBmPqA==",
             "dev": true,
             "requires": {}
         },
         "@tapjs/fixture": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-4.3.4.tgz",
-            "integrity": "sha512-zRv1vD2H/2abt0S5Yr5ICV/ZaIqXmusBZ6H4Qbih9oE2jvbs6AVDz5Td0adZbWurtHrPLuOFTIz2UsbJfhCCcw==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-4.3.5.tgz",
+            "integrity": "sha512-Qf+rFVFtYAah0Wuelah0Qrq6YwstGnl44Bb8tZ5OE3TCXEkJ2aUtn+4YV3RAzVh9kgSGzcR0ac0Q+lp1VfX3zQ==",
             "dev": true,
             "requires": {
                 "mkdirp": "^3.0.0",
@@ -5777,36 +5654,36 @@
             }
         },
         "@tapjs/intercept": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-4.3.4.tgz",
-            "integrity": "sha512-7ifEMPmp4yKHQ7PqdPwCetipFLvCegbIyKigEDds/p03ZNFJjgF06D9T4vc/m0sA5SKkPrHVTOU0UzaSrliP7w==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-4.3.5.tgz",
+            "integrity": "sha512-0TGdDHrEITJeYG/zk4PMu9mZJ7voQgg8A75w/6LuEWBN9S5Lz4walTSWwpwgPOgrTO9dhzfAT8lduuo+8ApnsA==",
             "dev": true,
             "requires": {
-                "@tapjs/after": "3.3.4",
-                "@tapjs/stack": "4.3.0"
+                "@tapjs/after": "3.3.5",
+                "@tapjs/stack": "4.3.1"
             }
         },
         "@tapjs/mock": {
-            "version": "4.4.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-4.4.2.tgz",
-            "integrity": "sha512-B6SfNWjWCPvjN9CaHe45lEcl2ZFDkQIUoF5jPthwi2mYxHLfyFFEqorZJhguoTs7ToeXvIqquqE/Luk9IeuKBQ==",
+            "version": "4.4.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-4.4.3.tgz",
+            "integrity": "sha512-tfWZrp9CZPW4sMief6XgNKV158Sj5Uoddk0ABijNfCxEERdHUV5cjgW/GEqbaQtnr/4T3voDgdUGIyuDNGxrrw==",
             "dev": true,
             "requires": {
-                "@tapjs/after": "3.3.4",
-                "@tapjs/stack": "4.3.0",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/stack": "4.3.1",
                 "resolve-import": "^2.4.0",
                 "walk-up-path": "^4.0.0"
             }
         },
         "@tapjs/node-serialize": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-4.3.4.tgz",
-            "integrity": "sha512-SECDvjBS7NVCiCZ6vEtMwtxxSuR61NHBva+PlIQ1mU0asoTYxV9lpRNEAb9UHFKpquEDlk+bLg2iN01a2nfMuw==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-4.3.5.tgz",
+            "integrity": "sha512-++Z+Jbn4TehFfZiyAh3c4GcRY388Zb7VcnjFpsrPsJgEzZNYAi21xTRobisZ4esGFnrmnmFJQ1qMmv7JOsVuxw==",
             "dev": true,
             "requires": {
-                "@tapjs/error-serdes": "4.3.0",
-                "@tapjs/stack": "4.3.0",
-                "tap-parser": "18.3.0"
+                "@tapjs/error-serdes": "4.3.1",
+                "@tapjs/stack": "4.3.1",
+                "tap-parser": "18.3.1"
             }
         },
         "@tapjs/processinfo": {
@@ -5823,13 +5700,13 @@
             }
         },
         "@tapjs/reporter": {
-            "version": "4.4.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-4.4.4.tgz",
-            "integrity": "sha512-svWmpJgMQxe4iiKOVr/Hi5kGHJNBDp2Nr8gD0aQuAQ4fp9gOh2LFQXa2Jv7LBKhMjC7UaiW/X7k1qEVk2nOfvg==",
+            "version": "4.4.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-4.4.5.tgz",
+            "integrity": "sha512-Z0lBFH2LpOAqTg3kcFtpl/Yxn1cNQ3N648lW4cb4xuI1+dgEv41wHrO6lLXYcVgFKEViqSG/8eCljT9tPxIAAQ==",
             "dev": true,
             "requires": {
-                "@tapjs/config": "5.5.2",
-                "@tapjs/stack": "4.3.0",
+                "@tapjs/config": "5.5.3",
+                "@tapjs/stack": "4.3.1",
                 "chalk": "^5.6.2",
                 "ink": "^5.2.1",
                 "minipass": "^7.0.4",
@@ -5838,44 +5715,26 @@
                 "prismjs-terminal": "^1.2.3",
                 "react": "^18.2.0",
                 "string-length": "^6.0.0",
-                "tap-parser": "18.3.0",
-                "tap-yaml": "4.3.0",
-                "tcompare": "9.3.0"
-            },
-            "dependencies": {
-                "diff": {
-                    "version": "8.0.4",
-                    "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-                    "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-                    "dev": true
-                },
-                "tcompare": {
-                    "version": "9.3.0",
-                    "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-                    "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-                    "dev": true,
-                    "requires": {
-                        "diff": "^8.0.2",
-                        "react-element-to-jsx-string": "^15.0.0"
-                    }
-                }
+                "tap-parser": "18.3.1",
+                "tap-yaml": "4.3.1",
+                "tcompare": "9.3.1"
             }
         },
         "@tapjs/run": {
-            "version": "4.5.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-4.5.2.tgz",
-            "integrity": "sha512-Oq5YZvoGxEohRWK8P1wHPIAnudEOHPd/bIWawFtRn0ZGvF7bRduZlHpf4eEIrRHKY84G/I3fmC354604cejxiQ==",
+            "version": "4.5.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-4.5.3.tgz",
+            "integrity": "sha512-2e12E/ANnlsbO8wtYZ6JoxqLHHUEpOl7evLVmkcs3e9c1bC2Gkps9YpjSQEAu/sc+gHMliW+qbTR3zvQRk0j5w==",
             "dev": true,
             "requires": {
                 "@isaacs/which": "^7.0.4",
-                "@tapjs/after": "3.3.4",
-                "@tapjs/before": "4.3.4",
-                "@tapjs/config": "5.5.2",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/before": "4.3.5",
+                "@tapjs/config": "5.5.3",
                 "@tapjs/processinfo": "^3.1.9",
-                "@tapjs/reporter": "4.4.4",
-                "@tapjs/spawn": "4.3.4",
-                "@tapjs/stdin": "4.3.4",
-                "@tapjs/test": "4.4.2",
+                "@tapjs/reporter": "4.4.5",
+                "@tapjs/spawn": "4.3.5",
+                "@tapjs/stdin": "4.3.5",
+                "@tapjs/test": "4.4.3",
                 "c8": "^10.1.3",
                 "chalk": "^5.6.2",
                 "chokidar": "^4.0.2",
@@ -5891,9 +5750,9 @@
                 "rimraf": "^6.0.0",
                 "semver": "^7.7.2",
                 "signal-exit": "^4.1.0",
-                "tap-parser": "18.3.0",
-                "tap-yaml": "4.3.0",
-                "tcompare": "9.3.0",
+                "tap-parser": "18.3.1",
+                "tap-yaml": "4.3.1",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
             },
             "dependencies": {
@@ -5906,102 +5765,68 @@
                         "readdirp": "^4.0.1"
                     }
                 },
-                "diff": {
-                    "version": "8.0.4",
-                    "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-                    "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-                    "dev": true
-                },
                 "readdirp": {
                     "version": "4.1.2",
                     "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
                     "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
                     "dev": true
-                },
-                "tcompare": {
-                    "version": "9.3.0",
-                    "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-                    "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-                    "dev": true,
-                    "requires": {
-                        "diff": "^8.0.2",
-                        "react-element-to-jsx-string": "^15.0.0"
-                    }
                 }
             }
         },
         "@tapjs/snapshot": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-4.3.4.tgz",
-            "integrity": "sha512-2sJXaGLJUMakkdJd5iDWRucgyHX7f5eP05m4weqWq9dLzX7p1JFOrWXUwns8RCIY7VX9Vx+4jENlxJOywYjyqg==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-4.3.5.tgz",
+            "integrity": "sha512-a7qux8CKJDzmojZ07xoeunyCBtxyAcdl2N6JaEVYrcxouKNpSQuv0ATqyrqXUigp2OslwxW3NmC1iDYN0LxUxA==",
             "dev": true,
             "requires": {
                 "is-actual-promise": "^1.0.1",
-                "tcompare": "9.3.0",
+                "tcompare": "9.3.1",
                 "trivial-deferred": "^2.0.0"
-            },
-            "dependencies": {
-                "diff": {
-                    "version": "8.0.4",
-                    "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
-                    "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
-                    "dev": true
-                },
-                "tcompare": {
-                    "version": "9.3.0",
-                    "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.0.tgz",
-                    "integrity": "sha512-6kFTU2xlXNFU88/DAAIQvjBu5znTGx8QPnFtaKiLin2OtspHXyevSu0iUTZt4UrSfuRC6fIahRCqaQIhXlsTVQ==",
-                    "dev": true,
-                    "requires": {
-                        "diff": "^8.0.2",
-                        "react-element-to-jsx-string": "^15.0.0"
-                    }
-                }
             }
         },
         "@tapjs/spawn": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-4.3.4.tgz",
-            "integrity": "sha512-qQY2SSLkXknpL1kndLS1bCPo9vYKV8Ka93UPIllvDEwaY3oUMghh++EOE4dyUxQPgMFpmoUoj8kSbm2hotevbQ==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-4.3.5.tgz",
+            "integrity": "sha512-VEkaMrtsE8emHKl+jrnzK9Rmddmf+NkxzByN8t7+AII7z1SvGyxdFCH4nE+BlWjRMf7aaOiyZd2cJjmHVkwqHw==",
             "dev": true,
             "requires": {}
         },
         "@tapjs/stack": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-4.3.0.tgz",
-            "integrity": "sha512-SFASe4YaVBzMr/FXTm/QsSzbzXZOmgDNpmY3EU0JNiDCN4izHMUnoXY+Kh0EY35hx9C4JDvRjgv2MSIM7bBygg==",
+            "version": "4.3.1",
+            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-4.3.1.tgz",
+            "integrity": "sha512-6WDTgt81c3Rfunsu14hGHRQP9GBDaclpkF9K7BC7UfycBG508Obcx/oDuJ2WwZtPY/8qxLAhf9eRWoY8qpmwzw==",
             "dev": true
         },
         "@tapjs/stdin": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-4.3.4.tgz",
-            "integrity": "sha512-0kFeaPEGwNWx8R0z9Uq93/CNhAg+9NbTPZW+GXsjuHQSG125g7VZBNBAg2IMeQmVQ9bUWa3+f5TNp/JnLVvJmg==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-4.3.5.tgz",
+            "integrity": "sha512-LibE3HrJrqySLcxi/qV4DsfC8hF0UO4qVuLVAqv1d73t3xxrmhqgdCIPZPmWYhSCcg+z/mjCwxpCAswGGgoWnw==",
             "dev": true,
             "requires": {}
         },
         "@tapjs/test": {
-            "version": "4.4.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-4.4.2.tgz",
-            "integrity": "sha512-YuUgTffPNGzodjeHOsaF/j0/5B/bAqtfgwqUkqa3mWdwqzlmB2AcIA6lBtLaQfbjG8wgGNwYfs3McgxkGRqxfA==",
+            "version": "4.4.3",
+            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-4.4.3.tgz",
+            "integrity": "sha512-MoJEkXNsve46xgqNtRA7zJcnm91w3oVRMdZImUMcjZnkW1u06TVsdJPJKRTRtdS6agQbWd8EsEVoYrVqWQrQUQ==",
             "dev": true,
             "requires": {
                 "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.7",
-                "@tapjs/after": "3.3.4",
-                "@tapjs/after-each": "4.3.4",
-                "@tapjs/asserts": "4.3.4",
-                "@tapjs/before": "4.3.4",
-                "@tapjs/before-each": "4.3.4",
-                "@tapjs/chdir": "3.3.4",
-                "@tapjs/filter": "4.3.4",
-                "@tapjs/fixture": "4.3.4",
-                "@tapjs/intercept": "4.3.4",
-                "@tapjs/mock": "4.4.2",
-                "@tapjs/node-serialize": "4.3.4",
-                "@tapjs/snapshot": "4.3.4",
-                "@tapjs/spawn": "4.3.4",
-                "@tapjs/stdin": "4.3.4",
-                "@tapjs/typescript": "3.5.4",
-                "@tapjs/worker": "4.3.4",
+                "@tapjs/after": "3.3.5",
+                "@tapjs/after-each": "4.3.5",
+                "@tapjs/asserts": "4.3.5",
+                "@tapjs/before": "4.3.5",
+                "@tapjs/before-each": "4.3.5",
+                "@tapjs/chdir": "3.3.5",
+                "@tapjs/filter": "4.3.5",
+                "@tapjs/fixture": "4.3.5",
+                "@tapjs/intercept": "4.3.5",
+                "@tapjs/mock": "4.4.3",
+                "@tapjs/node-serialize": "4.3.5",
+                "@tapjs/snapshot": "4.3.5",
+                "@tapjs/spawn": "4.3.5",
+                "@tapjs/stdin": "4.3.5",
+                "@tapjs/typescript": "3.5.5",
+                "@tapjs/worker": "4.3.5",
                 "glob": "^13.0.2",
                 "jackspeak": "^4.2.3",
                 "mkdirp": "^3.0.0",
@@ -6009,25 +5834,25 @@
                 "resolve-import": "^2.4.0",
                 "rimraf": "^6.0.0",
                 "sync-content": "^2.0.4",
-                "tap-parser": "18.3.0",
+                "tap-parser": "18.3.1",
                 "tshy": "^3.3.2",
                 "typescript": "5.9",
                 "walk-up-path": "^4.0.0"
             }
         },
         "@tapjs/typescript": {
-            "version": "3.5.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-3.5.4.tgz",
-            "integrity": "sha512-z8O10CpbPYoHA876Dlg40qXtM058akP76HNQy+EdNE+AhFo7kold4YBgyjYRU7WDWNlp2B/MPgsy/OZ4PRXQWw==",
+            "version": "3.5.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-3.5.5.tgz",
+            "integrity": "sha512-IY5TKQp5c7aikkpq55YnYvvLG65VrZDcop3El6snKGB2IUGFI2JxAnSarSiRyFzSMHbDLYoXzwu82/SuW3+S8A==",
             "dev": true,
             "requires": {
                 "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.7"
             }
         },
         "@tapjs/worker": {
-            "version": "4.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-4.3.4.tgz",
-            "integrity": "sha512-AvmfwMgJXB/eOwIti/rOvw1l1eHsxUex3lyrhiC6uK5iOmbHWBOFsGHwEfc7Z4eertPM6FUqnZxkxkTEVGueig==",
+            "version": "4.3.5",
+            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-4.3.5.tgz",
+            "integrity": "sha512-r9teLfW75ZuZplJ8uGtVvPO1CxLjJefNQ1eNH4BHbdxsQw9ywDo/lG56V8TPR7B9XJidS15ZJ4Y5cLxI9Qba1Q==",
             "dev": true,
             "requires": {}
         },
@@ -6093,76 +5918,76 @@
             "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
         },
         "@types/node": {
-            "version": "25.5.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
-            "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
+            "version": "25.6.0",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz",
+            "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
             "dev": true,
             "peer": true,
             "requires": {
-                "undici-types": "~7.18.0"
+                "undici-types": "~7.19.0"
             }
         },
         "@typescript/native-preview": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-Gfy2J/LhydkOHOw+ZWRw0M8Xl3O2bzQXLXIYITdMz2N4GpMm8misAvvCzhqMacOGvazKr1FsL9LIIW2kxk6kzw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-cBk+dPa5x5r9wnh5lz3zSnj7YJM1s/tSCf5owex+OkjJLji3iJu7J9kTH1SvvxA5kmkY76qFYw3vFN9h8W3gBA==",
             "dev": true,
             "requires": {
-                "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-linux-arm": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-linux-x64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260331.1",
-                "@typescript/native-preview-win32-x64": "7.0.0-dev.20260331.1"
+                "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-linux-arm": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-linux-x64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260411.1",
+                "@typescript/native-preview-win32-x64": "7.0.0-dev.20260411.1"
             }
         },
         "@typescript/native-preview-darwin-arm64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-1PRnBCN2csiCzj76YaSBtP4jPLEGBUmVhXHplC+yHOKaxx9nf3HFiFCg/19raInvN/lJ8+Bp1fZ/qIsWAAHiBw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-qdSDz0o4l4cEZhAn92ayzf7cKiMLrzSp9Xdk5mfaXpiahvxT39fNj5jiwDnRO+kHkHMMIYYL1nQbslSadargyg==",
             "dev": true,
             "optional": true
         },
         "@typescript/native-preview-darwin-x64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-llXnfLGjl+gXsANLD7UI/gSb3lj7aZW13Rf8sVXQnHJ3/dkJRAm/MgLqdjuuyvYq3pFaleiep+zoLd96rLRqUw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-2Nea85rMeBZe2UV6V8vBVJ3mSFHn4XZ+ceXGFpnfsU2nay0l1ncoYw91JA/yPwM5ui3+pxAYwl8PWLCxlZCB3Q==",
             "dev": true,
             "optional": true
         },
         "@typescript/native-preview-linux-arm": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-+8AZzA0BRjMkLDvdQKZOMuheRxNGpSWn7sOtoKqo70R915D0TyEynEXX6B7/aw3+Jfn1H5hLRiBjxoVsmdKENw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-8/LqqQDp73kvT7aWh3sAFglGaSxtjxHIhEgqZ7XWG7+1aHHJeL1bcmRnk7JyP3BE5SPzs3bQhFC6Cvj6WQwTqQ==",
             "dev": true,
             "optional": true
         },
         "@typescript/native-preview-linux-arm64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-sH5gALi89jl5ZjAL/UsLDPsjT/nCLRfHl/pw86ablRX10tYsJhJ/RD6J/cl3g39kJ18tIISSbsuIBn+ncanfSA==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-5QRz/eMIb1JtojvB0oeBbIc6ZNqZiiMUSRDsyp1qMJacdrs+1fbQ8MYFft5ceJe94mcolGHnbcozwPg8hf5fDg==",
             "dev": true,
             "optional": true
         },
         "@typescript/native-preview-linux-x64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-Yic6MYfX7Uit5jLLENzWFIi6tjp4LTLF37KBiVaHZSvEFyX1kqVwu4j9WNeaz81O6fcB/1dZ1MrILgfcqalNBg==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-H5NWP+ot/L+Tn9ds4W/t4Xx/CuxZF4iHDdRx2hCr/O0l8pBBq8C/MBJ/eUgVZXO4lD+8J6eQ7nOlGtJ0SS8Sbg==",
             "dev": true,
             "optional": true
         },
         "@typescript/native-preview-win32-arm64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-vGxK6gtGF97zSx9wOpiVME3h9v0tbZbrHHdKA+fLFNvDV0Df8ud89DEePL7l2yKnVVmf0OnjJy6sYoVyj+LIPA==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-/Zc1rotE/NS72xNc4UjaEKCBanBsQ/0/fS2sYLcN9yd6p6AYFYzmTWfbGy5qvv1ckXOI0dkOolLzK8nYbrJzbA==",
             "dev": true,
             "optional": true
         },
         "@typescript/native-preview-win32-x64": {
-            "version": "7.0.0-dev.20260331.1",
-            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260331.1.tgz",
-            "integrity": "sha512-oJnNiU9UTDPJp6dOmOUW+/Wzt3MQZXIHsDaU4qM0RiAjFE6S+PIX8s5z/ID0orr4MMroUMiLdolL4OVZolNDSw==",
+            "version": "7.0.0-dev.20260411.1",
+            "resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20260411.1.tgz",
+            "integrity": "sha512-PhFL0w2Uz9jKdTtm7uy2PPl3nJiacX24jxzDD0R0eBHOY/49L3V5iD7eyBACPSzyWp0/dD7pPdKSnRbS3nVRng==",
             "dev": true,
             "optional": true
         },
@@ -6525,6 +6350,12 @@
             "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
             "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
         },
+        "diff": {
+            "version": "8.0.4",
+            "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz",
+            "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==",
+            "dev": true
+        },
         "eastasianwidth": {
             "version": "0.2.0",
             "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -6682,6 +6513,13 @@
             "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
             "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
         },
+        "fdir": {
+            "version": "6.5.0",
+            "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+            "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+            "dev": true,
+            "requires": {}
+        },
         "file-entry-cache": {
             "version": "8.0.0",
             "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -7525,6 +7363,12 @@
                 "minipass": "^7.1.2"
             }
         },
+        "picomatch": {
+            "version": "4.0.4",
+            "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+            "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+            "dev": true
+        },
         "pirates": {
             "version": "4.0.7",
             "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
@@ -7589,14 +7433,14 @@
             }
         },
         "react-dom": {
-            "version": "18.2.0",
-            "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
-            "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+            "version": "18.3.1",
+            "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+            "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
             "dev": true,
             "peer": true,
             "requires": {
                 "loose-envify": "^1.1.0",
-                "scheduler": "^0.23.0"
+                "scheduler": "^0.23.2"
             }
         },
         "react-element-to-jsx-string": {
@@ -7944,47 +7788,47 @@
             }
         },
         "tap": {
-            "version": "21.6.2",
-            "resolved": "https://registry.npmjs.org/tap/-/tap-21.6.2.tgz",
-            "integrity": "sha512-rEuxX+EVGQ6JOEyRnLQ80fa7v5s8yutpRA11LAjP6t/B6I0/mTWkaW0NfVoX5XDX3z5x9HVEt2dojSrJLcyp9A==",
-            "dev": true,
-            "requires": {
-                "@tapjs/after": "3.3.4",
-                "@tapjs/after-each": "4.3.4",
-                "@tapjs/asserts": "4.3.4",
-                "@tapjs/before": "4.3.4",
-                "@tapjs/before-each": "4.3.4",
-                "@tapjs/chdir": "3.3.4",
-                "@tapjs/core": "4.5.2",
-                "@tapjs/filter": "4.3.4",
-                "@tapjs/fixture": "4.3.4",
-                "@tapjs/intercept": "4.3.4",
-                "@tapjs/mock": "4.4.2",
-                "@tapjs/node-serialize": "4.3.4",
-                "@tapjs/run": "4.5.2",
-                "@tapjs/snapshot": "4.3.4",
-                "@tapjs/spawn": "4.3.4",
-                "@tapjs/stdin": "4.3.4",
-                "@tapjs/test": "4.4.2",
-                "@tapjs/typescript": "3.5.4",
-                "@tapjs/worker": "4.3.4",
+            "version": "21.6.3",
+            "resolved": "https://registry.npmjs.org/tap/-/tap-21.6.3.tgz",
+            "integrity": "sha512-govkq0d6NC0FLGWzkZV+9ZZscq6unogMhSJAR8nXjFLZWR19H/ncQLsfpMsLG3INhdlsXAM+2qmb0dvtclqQkA==",
+            "dev": true,
+            "requires": {
+                "@tapjs/after": "3.3.5",
+                "@tapjs/after-each": "4.3.5",
+                "@tapjs/asserts": "4.3.5",
+                "@tapjs/before": "4.3.5",
+                "@tapjs/before-each": "4.3.5",
+                "@tapjs/chdir": "3.3.5",
+                "@tapjs/core": "4.5.3",
+                "@tapjs/filter": "4.3.5",
+                "@tapjs/fixture": "4.3.5",
+                "@tapjs/intercept": "4.3.5",
+                "@tapjs/mock": "4.4.3",
+                "@tapjs/node-serialize": "4.3.5",
+                "@tapjs/run": "4.5.3",
+                "@tapjs/snapshot": "4.3.5",
+                "@tapjs/spawn": "4.3.5",
+                "@tapjs/stdin": "4.3.5",
+                "@tapjs/test": "4.4.3",
+                "@tapjs/typescript": "3.5.5",
+                "@tapjs/worker": "4.3.5",
                 "resolve-import": "^2.4.0"
             }
         },
         "tap-parser": {
-            "version": "18.3.0",
-            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-18.3.0.tgz",
-            "integrity": "sha512-sa0M18e6RARfO0Lrm1zbQvb+7G4G/ThkFIJFvjeH1DKenl4xwyUgpRUCb5Jq64Xe086p4auiLvRzfpRjGd3Zow==",
+            "version": "18.3.1",
+            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-18.3.1.tgz",
+            "integrity": "sha512-4mlzCiUQUpi8yHvqNHrwCW1OvIa6kMftozxXlJic0YsuqgcvldtyfytoG5g7Wivpu3eNo5abUXiaeqYNjyOHag==",
             "dev": true,
             "requires": {
                 "events-to-array": "^2.0.3",
-                "tap-yaml": "4.3.0"
+                "tap-yaml": "4.3.1"
             }
         },
         "tap-yaml": {
-            "version": "4.3.0",
-            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-4.3.0.tgz",
-            "integrity": "sha512-48BiwXj3cUa1Lt6BLzfawJGZVihfRCY19gyjaHftQpe8ulEmB9gZW9kChQkdb0+L4YUlGWUJMpWRAJ/9bPSgVA==",
+            "version": "4.3.1",
+            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-4.3.1.tgz",
+            "integrity": "sha512-jt4okvL5wnJKp3lDHkNlrq829+pvK94LdZPWPZlxs6nw2h8utYLVJ0CdtQl1hY1IQamKSzLQdf+bFXUlvPqqtQ==",
             "dev": true,
             "requires": {
                 "yaml": "^2.8.1",
@@ -8004,6 +7848,16 @@
                 "yallist": "^5.0.0"
             }
         },
+        "tcompare": {
+            "version": "9.3.1",
+            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-9.3.1.tgz",
+            "integrity": "sha512-FtGhC5MfbMIZzn1SBg8UlveJGpCFdota5QJ3vPzroc1RPeUOSn3XOfTzkJuo+mwdVMqNQrd2hY4OLjNI5r/cTQ==",
+            "dev": true,
+            "requires": {
+                "diff": "^8.0.2",
+                "react-element-to-jsx-string": "^15.0.0"
+            }
+        },
         "test-exclude": {
             "version": "7.0.2",
             "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.2.tgz",
@@ -8130,28 +7984,13 @@
             }
         },
         "tinyglobby": {
-            "version": "0.2.15",
-            "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
-            "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+            "version": "0.2.16",
+            "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
+            "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==",
             "dev": true,
             "requires": {
                 "fdir": "^6.5.0",
-                "picomatch": "^4.0.3"
-            },
-            "dependencies": {
-                "fdir": {
-                    "version": "6.5.0",
-                    "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
-                    "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
-                    "dev": true,
-                    "requires": {}
-                },
-                "picomatch": {
-                    "version": "4.0.4",
-                    "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
-                    "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
-                    "dev": true
-                }
+                "picomatch": "^4.0.4"
             }
         },
         "trivial-deferred": {
@@ -8235,9 +8074,9 @@
             "dev": true
         },
         "undici-types": {
-            "version": "7.18.2",
-            "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
-            "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
+            "version": "7.19.2",
+            "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz",
+            "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==",
             "dev": true,
             "peer": true
         },
diff --git a/package.json b/package.json
index 89b06003..7aef341a 100644
--- a/package.json
+++ b/package.json
@@ -79,6 +79,6 @@
     },
     "license": "MIT",
     "devDependencies": {
-        "tap": "21.6.2"
+        "tap": "21.6.3"
     }
 }